<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>YourHelpCenter.de &#187; Oracle</title>
	<atom:link href="http://www.yourhelpcenter.de/category/oracle/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.yourhelpcenter.de</link>
	<description>Hilfe &#38; Support für IT Probleme</description>
	<lastBuildDate>Wed, 28 Jul 2010 21:17:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Oracle: Dynamischen SQL Befehl in einer LOOP</title>
		<link>http://www.yourhelpcenter.de/2010/07/oracle-dynamischen-sql-befehl-in-einer-loop/</link>
		<comments>http://www.yourhelpcenter.de/2010/07/oracle-dynamischen-sql-befehl-in-einer-loop/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 17:47:23 +0000</pubDate>
		<dc:creator>Günther</dc:creator>
				<category><![CDATA[Anleitungen]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[aufteilen]]></category>
		<category><![CDATA[databases]]></category>
		<category><![CDATA[datenbanken]]></category>
		<category><![CDATA[db]]></category>
		<category><![CDATA[durchlaufen]]></category>
		<category><![CDATA[einzelne Befehle]]></category>
		<category><![CDATA[for]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[funktion]]></category>
		<category><![CDATA[loop]]></category>
		<category><![CDATA[RDBMS]]></category>
		<category><![CDATA[rekursive]]></category>
		<category><![CDATA[schleife]]></category>
		<category><![CDATA[sp]]></category>
		<category><![CDATA[splitten]]></category>
		<category><![CDATA[SQL Befehle]]></category>
		<category><![CDATA[stored procedure]]></category>
		<category><![CDATA[verarbeitung]]></category>
		<category><![CDATA[while]]></category>
		<category><![CDATA[zerlegen]]></category>

		<guid isPermaLink="false">http://www.yourhelpcenter.de/?p=439</guid>
		<description><![CDATA[In Oracle können Sie auch dynamische SQL Statements als Datenquelle für SQL Abfragen nutzen. Aber nicht nur diese Technik wird im folgenden Beispiel erklärt. Zusätzlich können Sie die Daten des dynamischen SQL Statements auch in einer Schleife (Loop) abarbeiten lassen und dadurch auch mehrere Befehl für jeden Datensatz (Record) verarbeiten. Sie haben dadurch die Möglichkeit, [...]]]></description>
			<content:encoded><![CDATA[<p>In Oracle können Sie auch dynamische SQL Statements als Datenquelle für SQL Abfragen nutzen. Aber nicht nur diese Technik wird im folgenden Beispiel erklärt.</p>
<p>Zusätzlich können Sie die Daten des dynamischen SQL Statements auch in einer Schleife (Loop) abarbeiten lassen und dadurch auch mehrere Befehl für jeden Datensatz (Record) verarbeiten. Sie haben dadurch die Möglichkeit, komplexe Verarbeitungen (Befehle) in mehrere einzelne Befehle auszuteilen (zu splitten):</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
</pre></td><td class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">OR</span> <span style="color: #993333; font-weight: bold;">REPLACE</span> PROCEDURE TEST <span style="color: #66cc66;">&#40;</span>in_Filter <span style="color: #993333; font-weight: bold;">IN</span> number<span style="color: #66cc66;">&#41;</span>
<span style="color: #993333; font-weight: bold;">IS</span>
  Ssql varchar2<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">2000</span><span style="color: #66cc66;">&#41;</span>;
  TYPE c1 <span style="color: #993333; font-weight: bold;">IS</span> REF CURSOR;
  the_cursor c1;
BEGIN
  <span style="color: #808080; font-style: italic;">-- SQL Basis (Basisstatement)</span>
  Ssql :<span style="color: #66cc66;">=</span> <span style="color: #ff0000;">'select distinct kunde.id as kunde_id 
      FROM customer kunde
      WHERE kunde.status = 1'</span>;
&nbsp;
  <span style="color: #808080; font-style: italic;">-- Filter and das Statement anhängen (wenn ein Filter vorhanden)</span>
  <span style="color: #993333; font-weight: bold;">IF</span> <span style="color: #66cc66;">&#40;</span>in_Filter <span style="color: #993333; font-weight: bold;">IS</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span><span style="color: #66cc66;">&#41;</span> then
    Ssql :<span style="color: #66cc66;">=</span> Ssql <span style="color: #66cc66;">||</span> <span style="color: #ff0000;">' AND kunde.code = '</span> <span style="color: #66cc66;">||</span> in_Filter;
  end <span style="color: #993333; font-weight: bold;">IF</span>;
&nbsp;
  <span style="color: #808080; font-style: italic;">-- Daten auslesen</span>
  OPEN the_cursor <span style="color: #993333; font-weight: bold;">FOR</span> Ssql;
&nbsp;
  <span style="color: #808080; font-style: italic;">-- Für jeden gefundenen Kunden Aktionen verarbeiten</span>
  LOOP
    fetch the_cursor <span style="color: #993333; font-weight: bold;">INTO</span> tmp_kunde_id;
    EXIT WHEN the_cursor%NOTFOUND;
&nbsp;
    <span style="color: #808080; font-style: italic;">-- Historie löschen</span>
    <span style="color: #993333; font-weight: bold;">DELETE</span> <span style="color: #993333; font-weight: bold;">FROM</span> customer_state
    <span style="color: #993333; font-weight: bold;">WHERE</span> customer <span style="color: #66cc66;">=</span> tmp_kunde_id
    <span style="color: #993333; font-weight: bold;">AND</span> week <span style="color: #66cc66;">&lt;</span> <span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">SELECT</span> TO_NUMBER<span style="color: #66cc66;">&#40;</span>TO_CHAR<span style="color: #66cc66;">&#40;</span>SYSDATE<span style="color: #66cc66;">,</span><span style="color: #ff0000;">'IW'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> week <span style="color: #993333; font-weight: bold;">FROM</span> dual<span style="color: #66cc66;">&#41;</span>;
&nbsp;
    <span style="color: #808080; font-style: italic;">-- Stati des Kunden kopieren</span>
    <span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #993333; font-weight: bold;">INTO</span> customer_invoices <span style="color: #66cc66;">&#40;</span>customer<span style="color: #66cc66;">,</span><span style="color: #993333; font-weight: bold;">STATUS</span><span style="color: #66cc66;">,</span>week<span style="color: #66cc66;">&#41;</span>
      <span style="color: #993333; font-weight: bold;">SELECT</span> cust_id<span style="color: #66cc66;">,</span> state_id<span style="color: #66cc66;">,</span> week
      <span style="color: #993333; font-weight: bold;">FROM</span> state_tbl
      <span style="color: #993333; font-weight: bold;">WHERE</span> <span style="color: #993333; font-weight: bold;">STATUS</span> <span style="color: #66cc66;">&gt;</span> <span style="color: #cc66cc;">0</span>
  end loop;
  close the_cursor;
END;</pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.yourhelpcenter.de/2010/07/oracle-dynamischen-sql-befehl-in-einer-loop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle: SQL Statements optimieren</title>
		<link>http://www.yourhelpcenter.de/2010/07/oracle-sql-statements-optimieren/</link>
		<comments>http://www.yourhelpcenter.de/2010/07/oracle-sql-statements-optimieren/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 18:32:40 +0000</pubDate>
		<dc:creator>Günther</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[Anleitungen]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[analysieren]]></category>
		<category><![CDATA[befehle]]></category>
		<category><![CDATA[besser]]></category>
		<category><![CDATA[Engpässen]]></category>
		<category><![CDATA[herausfinden]]></category>
		<category><![CDATA[index]]></category>
		<category><![CDATA[Indizies]]></category>
		<category><![CDATA[optimaler]]></category>
		<category><![CDATA[optimierung]]></category>
		<category><![CDATA[optimizing]]></category>
		<category><![CDATA[quicker]]></category>
		<category><![CDATA[schneller]]></category>
		<category><![CDATA[Schwachstellen finden]]></category>

		<guid isPermaLink="false">http://www.yourhelpcenter.de/?p=264</guid>
		<description><![CDATA[Mit der Hilfe des folgenden Oracle SQL Befehles können Sie für alle SQL Befehle im SQL Cache herausfinden, wie häufig diese ausgeführt wurden und wieviele Blockzugriffe für die Verarbeitung notwenig waren. SELECT to_char&#40;executions,'999G999G990'&#41; &#34;executions&#34;, to_char&#40;buffer_gets,'999G999G990'&#41; &#34;gets&#34;, to_char&#40;buffer_gets/greatest&#40;nvl&#40;executions,1&#41;,1&#41;,'999G999G990'&#41; &#34;gets je exec&#34;, to_char&#40;round&#40;100*&#40;1-&#40;disk_reads/greatest&#40;nvl&#40;buffer_gets,1&#41;,1&#41;&#41;&#41;,2&#41;,'990D00'&#41; Trefferquote, sql_text FROM v$sql WHERE buffer_gets &#62; 1000 ORDER BY buffer_gets DESC; Zusätzlich wird [...]]]></description>
			<content:encoded><![CDATA[<p>Mit der Hilfe des folgenden Oracle SQL Befehles können Sie für alle SQL Befehle im SQL Cache herausfinden, wie häufig diese ausgeführt wurden und wieviele Blockzugriffe für die Verarbeitung notwenig waren.</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> 
  to_char<span style="color: #66cc66;">&#40;</span>executions<span style="color: #66cc66;">,</span><span style="color: #ff0000;">'999G999G990'</span><span style="color: #66cc66;">&#41;</span> <span style="color: #ff0000;">&quot;executions&quot;</span><span style="color: #66cc66;">,</span> 
  to_char<span style="color: #66cc66;">&#40;</span>buffer_gets<span style="color: #66cc66;">,</span><span style="color: #ff0000;">'999G999G990'</span><span style="color: #66cc66;">&#41;</span> <span style="color: #ff0000;">&quot;gets&quot;</span><span style="color: #66cc66;">,</span>
  to_char<span style="color: #66cc66;">&#40;</span>buffer_gets<span style="color: #66cc66;">/</span>greatest<span style="color: #66cc66;">&#40;</span>nvl<span style="color: #66cc66;">&#40;</span>executions<span style="color: #66cc66;">,</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">'999G999G990'</span><span style="color: #66cc66;">&#41;</span> <span style="color: #ff0000;">&quot;gets je exec&quot;</span><span style="color: #66cc66;">,</span> 
  to_char<span style="color: #66cc66;">&#40;</span>round<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">100</span><span style="color: #66cc66;">*</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">-</span><span style="color: #66cc66;">&#40;</span>disk_reads<span style="color: #66cc66;">/</span>greatest<span style="color: #66cc66;">&#40;</span>nvl<span style="color: #66cc66;">&#40;</span>buffer_gets<span style="color: #66cc66;">,</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">'990D00'</span><span style="color: #66cc66;">&#41;</span> Trefferquote<span style="color: #66cc66;">,</span> 
  sql_text
<span style="color: #993333; font-weight: bold;">FROM</span> v$sql
<span style="color: #993333; font-weight: bold;">WHERE</span> buffer_gets <span style="color: #66cc66;">&gt;</span> <span style="color: #cc66cc;">1000</span>
<span style="color: #993333; font-weight: bold;">ORDER</span> <span style="color: #993333; font-weight: bold;">BY</span> buffer_gets <span style="color: #993333; font-weight: bold;">DESC</span>;</pre></div></div>

<p>Zusätzlich wird Ihnen die &#8220;Trefferquote&#8221; des jeweiligen Befehls im Datencache angezeigt.</p>
<p>Durch diese Abfrage können Sie sehr schnell schlecht optimierte SQL-Befehle herausfinden.</p>
<p>Eine Trefferquote &lt; 70% deutet meist darauf hin, dass in dem Fall eine Tabelle komplett ohne Index-Zugriffe gelesen wurde. Zur Optimierung sollten Sie dann einen weiteren (oder überhaupt einen) Index hinzuzufügen. Der Befehl kann danach die Daten schneller lesen.</p>
<p>Diese Statistik zeigt nur die Befehle, welche sich aktuell im SQL-Cache befinden. Um ein umfassendes Bild der auffälligen SQL Befehle zu erhalten sollten Sie den o.a. SQL Befehl also mehrfach täglich ausführen. Das Intervall hängt dabei stark von der Nutzung Ihrer Oracle Datenbank ab. Auch ein Aufruf zu unterschiedlichen Zeiten gibt aufschlußreiche Informationen an Sie weiter.</p>
<p>Die Einschränkung &#8220;buffer_gets &gt; 1000&#8243; hilft, die Ergebnismenge zu reduzieren. Durch diese Auswahl werden nur die relevanten Befehle angezeigt. Natürlich können Sie auch diesen Parameter frei anpassen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yourhelpcenter.de/2010/07/oracle-sql-statements-optimieren/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle: Datenbank interne Views (Details zur Datenbank)</title>
		<link>http://www.yourhelpcenter.de/2009/08/oracle-datenbank-interne-views-details-zur-datenbank/</link>
		<comments>http://www.yourhelpcenter.de/2009/08/oracle-datenbank-interne-views-details-zur-datenbank/#comments</comments>
		<pubDate>Sat, 08 Aug 2009 04:39:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Background]]></category>
		<category><![CDATA[check]]></category>
		<category><![CDATA[Erklärung]]></category>
		<category><![CDATA[felder]]></category>
		<category><![CDATA[Fields]]></category>
		<category><![CDATA[FK]]></category>
		<category><![CDATA[Foreign keys]]></category>
		<category><![CDATA[functions]]></category>
		<category><![CDATA[Help]]></category>
		<category><![CDATA[hilfe]]></category>
		<category><![CDATA[Hintergrund]]></category>
		<category><![CDATA[Indizies]]></category>
		<category><![CDATA[PK]]></category>
		<category><![CDATA[Primary keys]]></category>
		<category><![CDATA[Read only]]></category>
		<category><![CDATA[RO]]></category>
		<category><![CDATA[stored procedures]]></category>
		<category><![CDATA[structure]]></category>
		<category><![CDATA[Tabellen]]></category>
		<category><![CDATA[tables]]></category>
		<category><![CDATA[Tiefe]]></category>
		<category><![CDATA[Trigger]]></category>

		<guid isPermaLink="false">http://www.yourhelpcenter.de/?p=541</guid>
		<description><![CDATA[Eine gute Übersicht über Tabellen und Views zur Struktur (Tabellen, Felder, Indizies, Primary keys, Foreign keys, Read only, etc.) finden Sie unter: http://download.oracle.com/docs/cd/B14117_01/server.101/b10755/toc.htm Der Aufbau der Views ist kurz und klar dokumentiert. Ideal als Nachschlagewerk für tiefere Datenabfragen.]]></description>
			<content:encoded><![CDATA[<p>Eine gute Übersicht über Tabellen und Views zur Struktur (Tabellen, Felder, Indizies, Primary keys, Foreign keys, Read only, etc.) finden Sie unter:</p>
<p><a href="http://download.oracle.com/docs/cd/B14117_01/server.101/b10755/toc.htm" target="oracle">http://download.oracle.com/docs/cd/B14117_01/server.101/b10755/toc.htm</a></p>
<p>Der Aufbau der Views ist kurz und klar dokumentiert.<br />
Ideal als Nachschlagewerk für tiefere Datenabfragen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yourhelpcenter.de/2009/08/oracle-datenbank-interne-views-details-zur-datenbank/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle: Text, Befehl (string) in Stored Procedures suchen</title>
		<link>http://www.yourhelpcenter.de/2009/08/oracle-text-befehl-string-in-stored-procedures-suchen/</link>
		<comments>http://www.yourhelpcenter.de/2009/08/oracle-text-befehl-string-in-stored-procedures-suchen/#comments</comments>
		<pubDate>Mon, 03 Aug 2009 15:53:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Anleitungen]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[befehl]]></category>
		<category><![CDATA[begriff]]></category>
		<category><![CDATA[commands]]></category>
		<category><![CDATA[content]]></category>
		<category><![CDATA[durchsuchen]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[find]]></category>
		<category><![CDATA[finden]]></category>
		<category><![CDATA[freitext]]></category>
		<category><![CDATA[procedures]]></category>
		<category><![CDATA[prozeduren]]></category>
		<category><![CDATA[query]]></category>
		<category><![CDATA[RDBMS]]></category>
		<category><![CDATA[sp]]></category>
		<category><![CDATA[stored]]></category>
		<category><![CDATA[storedprocedure]]></category>
		<category><![CDATA[suchen]]></category>
		<category><![CDATA[suchwort]]></category>

		<guid isPermaLink="false">http://www.yourhelpcenter.de/?p=536</guid>
		<description><![CDATA[Um in Oracle Datenbanken die Stored Procedures (gespeicherten Prozeduren) nach Schlüsselworten, Befehlen oder allg. Text zu durchsuchen, nutzen Sie folgenden SQL Befehl: select * from USER_SOURCE where lower(text) like '%suchtext%' Wichtig ist, dass Sie den Suchtext in Kleinschreibweise eingeben. Das Textfeld wird bei der Suche in Kleinschreibung umgewandelt. Auf diese Weise finden Sie durch den [...]]]></description>
			<content:encoded><![CDATA[<p>Um in Oracle Datenbanken die Stored Procedures (gespeicherten Prozeduren) nach Schlüsselworten, Befehlen oder allg. Text zu durchsuchen, nutzen Sie folgenden SQL Befehl:</p>
<pre>select * from USER_SOURCE
where lower(text) like '%suchtext%'</pre>
<p>Wichtig ist, dass Sie den Suchtext in Kleinschreibweise eingeben. Das Textfeld wird bei der Suche in Kleinschreibung umgewandelt. Auf diese Weise finden Sie durch den o.a. Befehl auch folgende Daten:</p>
<pre>select * from USER_SOURCE
where lower(text) like '%drop table%'</pre>
<p>DROP TABLE<br />
Drop Table<br />
drop table<br />
dROp TAbLe</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yourhelpcenter.de/2009/08/oracle-text-befehl-string-in-stored-procedures-suchen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle: &#8220;Delete if exists&#8221; &amp; &#8220;Drop if exists&#8221; Befehl</title>
		<link>http://www.yourhelpcenter.de/2009/07/oracle-delete-if-exists-drop-if-exists-befehl/</link>
		<comments>http://www.yourhelpcenter.de/2009/07/oracle-delete-if-exists-drop-if-exists-befehl/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 17:33:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[command]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[funktion]]></category>
		<category><![CDATA[gepsicherte prozedure]]></category>
		<category><![CDATA[kommando]]></category>
		<category><![CDATA[oca]]></category>
		<category><![CDATA[query]]></category>
		<category><![CDATA[sp]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[statement]]></category>
		<category><![CDATA[stored procedure]]></category>
		<category><![CDATA[tabelle]]></category>
		<category><![CDATA[table]]></category>

		<guid isPermaLink="false">http://www.yourhelpcenter.de/?p=529</guid>
		<description><![CDATA[Um auf einfache Weise in Oracle eine Tabelle, Prozedure, View, Funktion usw. zu löschen, nutzen Sie folgenden Befehl. Dabei wird die Exception (Fehlermeldung / Ausnahmefehler) unterdrückt, sodaß Ihr Script oder Programm fehlerfrei weiter laufen kann: begin execute immediate 'DROP TABLE NAME_DER_TABELLE'; exception when others then null; end Oder für eine Prozedur (Stored Procedure): begin execute [...]]]></description>
			<content:encoded><![CDATA[<p>Um auf einfache Weise in Oracle eine Tabelle, Prozedure, View, Funktion usw. zu löschen, nutzen Sie folgenden Befehl. Dabei wird die Exception (Fehlermeldung / Ausnahmefehler) unterdrückt, sodaß Ihr Script oder Programm fehlerfrei weiter laufen kann:</p>
<pre>begin
  execute immediate 'DROP TABLE NAME_DER_TABELLE';
  exception when others then null;
end</pre>
<p>Oder für eine Prozedur (Stored Procedure):</p>
<pre>begin
  execute immediate 'DROP PROCEDURE NAME_DER_PROZEDUR';
  exception when others then null;
end</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.yourhelpcenter.de/2009/07/oracle-delete-if-exists-drop-if-exists-befehl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP &amp; Oracle: PHP Datum &amp; Oracle Datum vergleichen / umrechnen</title>
		<link>http://www.yourhelpcenter.de/2009/07/php-oracle-php-datum-oracle-datum-vergleichen-umrechnen/</link>
		<comments>http://www.yourhelpcenter.de/2009/07/php-oracle-php-datum-oracle-datum-vergleichen-umrechnen/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 16:53:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Anleitungen]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[berechnen]]></category>
		<category><![CDATA[compare]]></category>
		<category><![CDATA[date]]></category>
		<category><![CDATA[datum]]></category>
		<category><![CDATA[differenz]]></category>
		<category><![CDATA[Problem]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[time]]></category>
		<category><![CDATA[timestamp]]></category>
		<category><![CDATA[uhrzeit]]></category>
		<category><![CDATA[unterschiedlich]]></category>
		<category><![CDATA[vergleichen]]></category>
		<category><![CDATA[zeit]]></category>
		<category><![CDATA[zeitstempel]]></category>

		<guid isPermaLink="false">http://www.yourhelpcenter.de/?p=510</guid>
		<description><![CDATA[Unter PHP haben Sie z.Bsp. mit folgendem Code ein Zeitstempel erzeugt: &#60;?php startdatum = time(); ?&#62; In einer Oracle Datenbank wurde dieser Zeitstempel in einem Feld vom Typ &#8220;number&#8221; abgespeichert. Nun möchten Sie diese Werte vergleichen. Nutzen Sie dafür folgendes SQL Statement: select startdatum, to_date('01.06.2009', 'dd.mm.yyyy'), to_char(TO_DATE('19700101000000', 'YYYYMMDDHH24MISS') + NUMTODSINTERVAL(startdatum, 'SECOND'), 'dd.mm.yyyy hh24:mi') from Tabellenname [...]]]></description>
			<content:encoded><![CDATA[<p>Unter PHP haben Sie z.Bsp. mit folgendem Code ein Zeitstempel erzeugt:</p>
<pre>&lt;?php
startdatum = time();
?&gt;</pre>
<p>In einer Oracle Datenbank wurde dieser Zeitstempel in einem Feld vom Typ &#8220;number&#8221; abgespeichert.<br />
Nun möchten Sie diese Werte vergleichen. Nutzen Sie dafür folgendes SQL Statement:</p>
<pre>select
  startdatum,
  to_date('01.06.2009', 'dd.mm.yyyy'),
  to_char(TO_DATE('19700101000000', 'YYYYMMDDHH24MISS') +
          NUMTODSINTERVAL(startdatum, 'SECOND'), 'dd.mm.yyyy hh24:mi')
from Tabellenname</pre>
<p>Dieses SQL Beispiel zeigt Ihnen die unterschiedlichen Daten und Methoden in einem SQL Query. Passen Sie die Daten einfach an Ihre Bedürfnisse an.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yourhelpcenter.de/2009/07/php-oracle-php-datum-oracle-datum-vergleichen-umrechnen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle: LOBSEGMENT Speicherplatz freigeben / bereinigen</title>
		<link>http://www.yourhelpcenter.de/2009/07/oracle-lobsegment-speicherplatz-freigeben-bereinigen/</link>
		<comments>http://www.yourhelpcenter.de/2009/07/oracle-lobsegment-speicherplatz-freigeben-bereinigen/#comments</comments>
		<pubDate>Thu, 09 Jul 2009 19:28:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Anleitungen]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[binäre daten]]></category>
		<category><![CDATA[binäre objekte]]></category>
		<category><![CDATA[blob]]></category>
		<category><![CDATA[defrag]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[large objects]]></category>
		<category><![CDATA[lob]]></category>
		<category><![CDATA[lobsegment]]></category>
		<category><![CDATA[massendaten]]></category>
		<category><![CDATA[optimal]]></category>
		<category><![CDATA[optimieren]]></category>
		<category><![CDATA[optimize]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[verbessern]]></category>

		<guid isPermaLink="false">http://www.yourhelpcenter.de/?p=505</guid>
		<description><![CDATA[Um in Oracle den Speicherplatz von LOBSEGMENTEN (Speicherbereich für Datenelemente) wieder freizugeben oder dem aktuellen Bedarf anzupassen, nutzen Sie folgende Befehle: ALTER TABLE [Tabellenname] DEALLOCATE UNUSED Oder alternativ: ALTER TABLE [Tabellenname] DEALLOCATE UNUSED KEEP 0M]]></description>
			<content:encoded><![CDATA[<p>Um in Oracle den Speicherplatz von LOBSEGMENTEN (Speicherbereich für Datenelemente) wieder freizugeben oder dem aktuellen Bedarf anzupassen, nutzen Sie folgende Befehle:</p>
<pre>ALTER TABLE [Tabellenname]
DEALLOCATE UNUSED</pre>
<p>Oder alternativ:</p>
<pre>ALTER TABLE [Tabellenname]
DEALLOCATE UNUSED KEEP 0M</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.yourhelpcenter.de/2009/07/oracle-lobsegment-speicherplatz-freigeben-bereinigen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle: Größe von Tabellen berechnen (in GB, MB, KB oder Byte)</title>
		<link>http://www.yourhelpcenter.de/2009/07/oracle-grose-von-tabellen-berechnen-in-gb-mb-kb-oder-byte/</link>
		<comments>http://www.yourhelpcenter.de/2009/07/oracle-grose-von-tabellen-berechnen-in-gb-mb-kb-oder-byte/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 17:55:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Anleitungen]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[anzeigen]]></category>
		<category><![CDATA[auflisten]]></category>
		<category><![CDATA[ausrechnen]]></category>
		<category><![CDATA[benötigt]]></category>
		<category><![CDATA[datenträger]]></category>
		<category><![CDATA[disc]]></category>
		<category><![CDATA[disk]]></category>
		<category><![CDATA[festplatte]]></category>
		<category><![CDATA[finden]]></category>
		<category><![CDATA[größe]]></category>
		<category><![CDATA[nutzt]]></category>
		<category><![CDATA[size]]></category>
		<category><![CDATA[summe]]></category>
		<category><![CDATA[summieren]]></category>
		<category><![CDATA[tabel space]]></category>
		<category><![CDATA[Tabelspace]]></category>
		<category><![CDATA[table space]]></category>
		<category><![CDATA[tablespace]]></category>
		<category><![CDATA[tablespace_name]]></category>
		<category><![CDATA[table_space]]></category>
		<category><![CDATA[verbraucht]]></category>
		<category><![CDATA[volumen]]></category>
		<category><![CDATA[zeigen]]></category>

		<guid isPermaLink="false">http://www.yourhelpcenter.de/?p=394</guid>
		<description><![CDATA[Damit Sie die Größe (das Volumen) Ihrer Tabellen ausrechnen können, nutzen Sie folgenden SQL Befehl: SELECT TableName, TABLESPACE_NAME, sum(mb) FROM ( SELECT nvl2(l.segment_name, l.table_name, s.segment_name) TableName, s.TABLESPACE_NAME, bytes / 1024 / 1024 mb FROM user_segments s, user_lobs l WHERE s.segment_name = l.segment_name(+) AND ROUND(bytes / 1024 / 1024) > 0 ORDER BY 1, 2) GROUP [...]]]></description>
			<content:encoded><![CDATA[<p>Damit Sie die Größe (das Volumen) Ihrer Tabellen ausrechnen können, nutzen Sie folgenden SQL Befehl:</p>
<pre>SELECT TableName, TABLESPACE_NAME, sum(mb)
FROM (
  SELECT nvl2(l.segment_name, l.table_name, s.segment_name) TableName,
         s.TABLESPACE_NAME, bytes / 1024 / 1024 mb
  FROM user_segments s, user_lobs l
  WHERE s.segment_name = l.segment_name(+)
  AND ROUND(bytes / 1024 / 1024) > 0
  ORDER BY 1, 2)
GROUP BY TableName, TABLESPACE_NAME
ORDER BY 1;</pre>
<p>Ihnen werden alle Tabellen mit einer Größe von mehr als 0 MB angezeigt. Leere Tabellen werden nicht angezeigt.</p>
<p>Um die Berechnung in GB, KB oder Bytes zu erhalten, ändern Sie bitte die Division im zweiten SELECT Statement entsprechend ab.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yourhelpcenter.de/2009/07/oracle-grose-von-tabellen-berechnen-in-gb-mb-kb-oder-byte/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Oracle: Stored Procedures mit dynamischen SQL Befehlen</title>
		<link>http://www.yourhelpcenter.de/2009/07/oracle-stored-procedures-mit-dynamischen-sql-befehlen/</link>
		<comments>http://www.yourhelpcenter.de/2009/07/oracle-stored-procedures-mit-dynamischen-sql-befehlen/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 17:08:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Anleitungen]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[action]]></category>
		<category><![CDATA[ausführung]]></category>
		<category><![CDATA[during]]></category>
		<category><![CDATA[dynamisch]]></category>
		<category><![CDATA[execution]]></category>
		<category><![CDATA[laufzeit]]></category>
		<category><![CDATA[live]]></category>
		<category><![CDATA[parameter]]></category>
		<category><![CDATA[queries]]></category>
		<category><![CDATA[runtime]]></category>
		<category><![CDATA[sp]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[value]]></category>

		<guid isPermaLink="false">http://www.yourhelpcenter.de/?p=431</guid>
		<description><![CDATA[Um innerhalb einer &#8220;Stored Procedure&#8221; oder &#8220;Function&#8221; in Oracle Parameter in eine SQL Abfrage einzubauen, können Sie folgendes Beispiel als Vorlage nutzen: CREATE OR REPLACE PROCEDURE SP_TESTS (in_condition IN VARCHAR2) IS ret_value number; Ssql varchar2(4000); BEGIN DBMS_OUTPUT.PUT_LINE('Start ...'); -- Prüfen, ob eine Bedingung übergeben wurde -- Fall nicht, where mit "1=1" ergänzen lassen if (in_condition [...]]]></description>
			<content:encoded><![CDATA[<p>Um innerhalb einer &#8220;Stored Procedure&#8221; oder &#8220;Function&#8221; in Oracle Parameter in eine SQL Abfrage einzubauen, können Sie folgendes Beispiel als Vorlage nutzen:</p>
<pre>CREATE OR REPLACE PROCEDURE SP_TESTS (in_condition IN VARCHAR2)
IS
  ret_value number;
  Ssql varchar2(4000);
BEGIN
  DBMS_OUTPUT.PUT_LINE('Start ...');

  -- Prüfen, ob eine Bedingung übergeben wurde
  -- Fall nicht, where mit "1=1" ergänzen lassen
  if (in_condition is null OR LENGTH(in_condition) = 0) then
    condition := ' 1=1 ';
  else
    condition := in_condition;
  end if;

  -- SQL Query zusammensetzen
  Ssql := 'SELECT id FROM demo WHERE ' || condition || ' ORDER by 1';

  -- SQL Query anzeigen
  DBMS_OUTPUT.PUT_LINE('SQL Query: ' || Ssql);

  -- Den zusammengebauten SQL Befehl ausführen lassen
  execute immediate Ssql into ret_value;

  -- Ergebnis anzeigen
  DBMS_OUTPUT.PUT_LINE('Ergebnis: ' || ret_value|| '%');
END;</pre>
<p>Das Script erkennt nach dem Start automatisch, ob eine WHERE Bedingung als Parameter übergeben wurde. Fehlt diese, würde der fehlerhaft SQL so aussehen:</p>
<pre>SELECT id FROM demo WHERE ORDER by 1</pre>
<p>Dadurch würde ein Fehler ausgelöst werden. Durch die Ergänzung mit &#8220;1 = 1&#8243; wird der SQL Befehl wieder gültig und kann fehlerfrei ausgefürt werden:</p>
<pre>SELECT id FROM demo WHERE 1 = 1 ORDER by 1</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.yourhelpcenter.de/2009/07/oracle-stored-procedures-mit-dynamischen-sql-befehlen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle: Tabellen einer Datenbank mit Anzahl der Datensätze auflisten</title>
		<link>http://www.yourhelpcenter.de/2009/07/oracle-tabellen-einer-datenbank-mit-anzahl-der-datensatze-auflisten/</link>
		<comments>http://www.yourhelpcenter.de/2009/07/oracle-tabellen-einer-datenbank-mit-anzahl-der-datensatze-auflisten/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 16:34:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[count]]></category>
		<category><![CDATA[count of records]]></category>
		<category><![CDATA[counting]]></category>
		<category><![CDATA[number of records]]></category>
		<category><![CDATA[number of tables]]></category>
		<category><![CDATA[record]]></category>
		<category><![CDATA[records]]></category>
		<category><![CDATA[recs]]></category>
		<category><![CDATA[rows]]></category>
		<category><![CDATA[Tabellen]]></category>
		<category><![CDATA[table]]></category>
		<category><![CDATA[tables]]></category>
		<category><![CDATA[tbl]]></category>

		<guid isPermaLink="false">http://www.yourhelpcenter.de/?p=441</guid>
		<description><![CDATA[Mit dieser Funktion erhalten Sie alle Tabellen der Datenbank inkl. der aktuellen Anzahl an gespeicherten Datensätzen. Zusätzlich werden die Summen (Tabellenanzahl, Datensätze) angezeigt: declare cnt number; total number := 0; tabs number := 0; begin for x in ( select owner &#124;&#124; '.' &#124;&#124; table_name tab from dba_tables) loop execute immediate 'select count(*) from ' [...]]]></description>
			<content:encoded><![CDATA[<p>Mit dieser Funktion erhalten Sie alle Tabellen der Datenbank inkl. der aktuellen Anzahl an gespeicherten Datensätzen. Zusätzlich werden die Summen (Tabellenanzahl, Datensätze) angezeigt:</p>
<pre>declare
  cnt number;
  total number := 0;
  tabs number := 0;
begin
  for x in (
    select owner || '.' || table_name tab
    from dba_tables)
  loop
    execute immediate 'select count(*) from ' || x.tab into cnt;
    total := total + cnt;
    tabs := tabs + 1;
    dbms_output.put_line('Table: ' || x.tab || ', Record count: ' || TO_CHAR(cnt));
  end loop;

  dbms_output.put_line('Total ' || TO_CHAR(total) || ' rows in ' || TO_CHAR(tabs) || ' tables');
end;</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.yourhelpcenter.de/2009/07/oracle-tabellen-einer-datenbank-mit-anzahl-der-datensatze-auflisten/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
