<?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>entwicklungsgedanken &#187; Oracle</title>
	<atom:link href="http://www.entwicklungsgedanken.de/category/oracle/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.entwicklungsgedanken.de</link>
	<description>Verschiedene Gedanken rund um die Softwareentwicklung</description>
	<lastBuildDate>Thu, 29 Jul 2010 11:09:20 +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>WITH-Klausel</title>
		<link>http://www.entwicklungsgedanken.de/2010/04/15/with-klausel/</link>
		<comments>http://www.entwicklungsgedanken.de/2010/04/15/with-klausel/#comments</comments>
		<pubDate>Thu, 15 Apr 2010 09:52:00 +0000</pubDate>
		<dc:creator>clausbajor</dc:creator>
				<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[PL/SQL]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Verschiedenes]]></category>

		<guid isPermaLink="false">http://www.entwicklungsgedanken.de/2010/04/15/with-klausel/</guid>
		<description><![CDATA[In der Praxis trifft man von Zeit zu Zeit auf aufgeblaehte SQL-Queries, die ausserordentlich kostenintensiven und langwierigen Ausfuehrungsplaenen folgen. Zeigt eine weitergehende Analyse, dass die komplexe Abfrage eine oder mehrere Subqueries enthaelt, die mehrfach ausgefuehrt werden, dann besteht eine sehr gute Chance durch Verwendung der sogenannten WITH-Klausel, die Performance der Abfrageausfuehrung erheblich zu steigern. Im [...]]]></description>
			<content:encoded><![CDATA[<p>In der Praxis trifft man von Zeit zu Zeit auf aufgeblaehte SQL-Queries, die ausserordentlich kostenintensiven und langwierigen Ausfuehrungsplaenen folgen.    <br />Zeigt eine weitergehende Analyse, dass die komplexe Abfrage eine oder mehrere Subqueries enthaelt, die mehrfach ausgefuehrt werden, dann besteht eine sehr     <br />gute Chance durch Verwendung der sogenannten WITH-Klausel, die Performance der Abfrageausfuehrung erheblich zu steigern. </p>
<p>Im Kern wird die schnellere Ausfuehrung der Query dadurch realisiert, dass mittels der WITH-Klausel die Ergebnismenge der Subquery vorab materialisiert, mit einem Namen versehen und schliesslich in der Hauptquery abgegriffen wird.    <br />Hier lohnt sich auch ein Vergleich und Gebrauch von &quot;global temporary tables&quot;, die in Ihrer Funktions- und Wirkungsweise durchaus ähnlich sind:     <br />Durch Entkopplung geeigneter Subqueries, die urspruenglich als Bestandteile einer komplexen Abfrage fungierten, wird dieses SQL-Statement vereinfacht.</p>
</p>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre style="font-family: monospace">
WITH   SQ1 AS (SELECT...FROM...WHERE...),
       SQ2 AS (SELECT...FROM...WHERE...)
SELECT...
  FROM Q1, SQ1, SQ2 WHERE…</pre>
</p></div>
</div>
<p>Interessanter Nebeneffekt:</p>
<p>Durch die Verwendung der WITH-Klausel wird anscheinend in einer Systemumgebung mit voreingestelltem CURSOR_SHARING=FORCE offensichtlich fuer die Query-Ausfuehrung diese systemweit gueltige Einstellung auf CURSOR_SHARING=EXACT zurueckgenommen (vergleichbar dem Einsatz des Hint /*+ cursor_sharing_exact */).</p>
<p>Zeigen die QEPs vorher noch eine allgemeine Ersetzung von Konstanten durch Parameter, so weisen die QEPs nachher die direkte Verwendung der Konstanten auf.</p>
<p>Somit orientiert sich der Optimizer auch grundsaetzlich an anderen Zugriffsstrategien.</p>
<p>Was in einer Umgebung mit problematischem Parseverhalten per Bindvariablen-Peeking einen &quot;flüssigen&quot; Anwendungsbetrieb ermöglichen kann, wird im Einzelfall einer komplexen Query unter Verwendung von Attributen mit stark ungleicher Werteverteilung zu relativ kostenintensiven QEPs führen. </p>
<p>Es empfiehlt sich dann für alle entsprechenden Konstanten/Parameter einen separaten und speziellen QEP zu erzwingen. </p>
<p>Vorraussetzung: </p>
<p>SQL-99 Standard bzw. Oracle9i Release 2</p>
<p>Links:</p>
<p><a title="SQLStandards.html" href="http://www.wiscorp.com/SQLStandards.html" target="_blank">SQLStandards.html</a> </p>
<p>to be continued….</p>
]]></content:encoded>
			<wfw:commentRss>http://www.entwicklungsgedanken.de/2010/04/15/with-klausel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MIN, MAX innerhalb eines SELECT-Statement</title>
		<link>http://www.entwicklungsgedanken.de/2010/04/05/min-max-innerhalb-eines-select/</link>
		<comments>http://www.entwicklungsgedanken.de/2010/04/05/min-max-innerhalb-eines-select/#comments</comments>
		<pubDate>Mon, 05 Apr 2010 08:01:00 +0000</pubDate>
		<dc:creator>Sven Thämar</dc:creator>
				<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[min max sql]]></category>

		<guid isPermaLink="false">http://www.entwicklungsgedanken.de/2010/01/24/min-max-innerhalb-eines-select/</guid>
		<description><![CDATA[Manchmal benötigten man sowohl den kleinsten (min) als auch den größten (max) Wert einer indizierten Spalte gleichzeitig. SELECT MIN(id) , MAX(id) FROM big_table Bei diesem SELECT kommt zwar das richtige Ergebnis, dennoch kann die Antwortzeit sehr lange dauern. Der Grund liegt in einem FAST FULL INDEX SCAN. Besser ist folgendes: SELECT MIN(id) min_value FROM big_table [...]]]></description>
			<content:encoded><![CDATA[<p>Manchmal benötigten man sowohl den kleinsten (min) als auch den größten (max) Wert einer indizierten Spalte gleichzeitig.</p>
<p> </br>
<div class="wp_syntax">
<div class="code">
<pre class="bash" style="font-family:monospace;">
SELECT MIN(id)
     , MAX(id)
  FROM big_table
</pre>
</div>
</div>
<p>Bei diesem SELECT kommt zwar das richtige Ergebnis, dennoch kann die Antwortzeit sehr lange dauern. Der Grund liegt in einem FAST <strong>FULL</strong> INDEX SCAN.</p>
<p>Besser ist folgendes:</p>
<div class="wp_syntax">
<div class="code">
<pre class="bash" style="font-family:monospace;">
SELECT MIN(id) min_value
  FROM big_table
 UNION ALL
SELECT MAX(id) max_value
  FROM big_table
</pre>
</div>
</div>
<p>oder</p>
<div class="wp_syntax">
<div class="code">
<pre class="bash" style="font-family:monospace;">SELECT (SELECT MIN(id) from big_table) min_value
      ,(SELECT MAX(id) from big_table) max_value
  FROM dual
</pre>
</div>
</div>
<p>Bei beiden alternativen wird ein FULL INDEX SCAN durchgeführt und liefert das Ergebnis (fast) sofort zurück.<br />
Den Umweg sollte man bei großen Tabellen und wo es auf Geschwindigkeit ankommt wählen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.entwicklungsgedanken.de/2010/04/05/min-max-innerhalb-eines-select/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blockierende SQL-Session</title>
		<link>http://www.entwicklungsgedanken.de/2010/04/05/blockierende-sql-session/</link>
		<comments>http://www.entwicklungsgedanken.de/2010/04/05/blockierende-sql-session/#comments</comments>
		<pubDate>Mon, 05 Apr 2010 07:59:00 +0000</pubDate>
		<dc:creator>Sven Thämar</dc:creator>
				<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Verschiedenes]]></category>
		<category><![CDATA[Blockierende SQL Session]]></category>

		<guid isPermaLink="false">http://www.entwicklungsgedanken.de/2010/01/24/blockierende-sql-session/</guid>
		<description><![CDATA[Folgendes SQL-Statement kann man verwenden wenn man prüfen möchte ob es blockierende Sitzungen gibt. SELECT , b.username blocking_username , b.osuser blocking_osuser , b.machine blocking_machine , b.program blocking_program , w.sid waiting_sid , w.username waiting_username , w.osuser waiting_osuser , w.machine waiting_machine , w.seconds_in_wait FROM v$SESSION w , v$SESSION b WHERE w.blocking_session is not NULL AND b.sid = [...]]]></description>
			<content:encoded><![CDATA[<p>Folgendes SQL-Statement kann man verwenden wenn man prüfen möchte ob es blockierende Sitzungen gibt.</p>
<p> </br>
<div class="wp_syntax">
<div class="code">
<pre class="bash" style="font-family:monospace;">
SELECT
     , b.username blocking_username
     , b.osuser blocking_osuser
     , b.machine blocking_machine
     , b.program blocking_program
     , w.sid waiting_sid
     , w.username waiting_username
     , w.osuser waiting_osuser
     , w.machine waiting_machine
     , w.seconds_in_wait
  FROM v$SESSION w
     , v$SESSION b
 WHERE w.blocking_session is not NULL
   AND b.sid = w.blocking_session
 ORDER BY w.sid
</pre>
</div>
</div>
<p>Das Statement kann jederzeit um weitere Spalten erweitert werden.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.entwicklungsgedanken.de/2010/04/05/blockierende-sql-session/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sortierung von hierachischen B&#228;umen</title>
		<link>http://www.entwicklungsgedanken.de/2010/04/05/sortierung-von-hierachischen-bumen/</link>
		<comments>http://www.entwicklungsgedanken.de/2010/04/05/sortierung-von-hierachischen-bumen/#comments</comments>
		<pubDate>Mon, 05 Apr 2010 07:58:00 +0000</pubDate>
		<dc:creator>Sven Thämar</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[sortieren; hierachische Bäume;]]></category>

		<guid isPermaLink="false">http://www.entwicklungsgedanken.de/2010/03/31/sortierung-von-hierachischen-bumen/</guid>
		<description><![CDATA[Oft hat man die Anforderung hierachische Bäume sortiert darzustellen. Am besten soll die Sortierung auch jederzeit geändert werden können. Folgendes Beispiel soll die einfache Lösung aufzeigen: SELECT a.id , a.parent_id , a.label , a.sort FROM menu_tree a ORDER BY 2 nulls first,1 &#160; ID PARENT_ID LABEL SORT 1 &#160; Anwendung 1 2 1 Hilfsdaten 2 [...]]]></description>
			<content:encoded><![CDATA[<p>Oft hat man die Anforderung hierachische Bäume sortiert darzustellen. Am besten soll die Sortierung auch jederzeit geändert werden können.</p>
<p>Folgendes Beispiel soll die einfache Lösung aufzeigen:</p>
<div class="wp_syntax">
<div class="code">
<pre class="bash" style="font-family:monospace;">
SELECT a.id
     , a.parent_id
     , a.label
     , a.sort
  FROM menu_tree a
 ORDER BY 2 nulls first,1
</pre>
</div>
</div>
<p>&#160;</p>
<table border="1" cellspacing="0" cellpadding="2" width="386">
<tbody>
<tr>
<td valign="top" width="44">ID</td>
<td valign="top" width="78">PARENT_ID</td>
<td valign="top" width="213">LABEL</td>
<td valign="top" width="49">SORT</td>
</tr>
<tr>
<td valign="top" width="44">1</td>
<td valign="top" width="78">&#160;</td>
<td valign="top" width="213">Anwendung</td>
<td valign="top" width="49">1</td>
</tr>
<tr>
<td valign="top" width="44">2</td>
<td valign="top" width="78">1</td>
<td valign="top" width="213">Hilfsdaten</td>
<td valign="top" width="49">2</td>
</tr>
<tr>
<td valign="top" width="44">3</td>
<td valign="top" width="78">1</td>
<td valign="top" width="213">System</td>
<td valign="top" width="49">3</td>
</tr>
<tr>
<td valign="top" width="44">8</td>
<td valign="top" width="78">1</td>
<td valign="top" width="213">Berichte</td>
<td valign="top" width="49">1</td>
</tr>
<tr>
<td valign="top" width="44">5</td>
<td valign="top" width="78">2</td>
<td valign="top" width="213">Währung</td>
<td valign="top" width="49">3</td>
</tr>
<tr>
<td valign="top" width="44">6</td>
<td valign="top" width="78">2</td>
<td valign="top" width="213">Buchungsgründe</td>
<td valign="top" width="49">1</td>
</tr>
<tr>
<td valign="top" width="44">7</td>
<td valign="top" width="78">2</td>
<td valign="top" width="213">Kostenstellen</td>
<td valign="top" width="49">2</td>
</tr>
<tr>
<td valign="top" width="44">4</td>
<td valign="top" width="78">3</td>
<td valign="top" width="213">Anmelden</td>
<td valign="top" width="49">1</td>
</tr>
</tbody>
</table>
<p>(Abbildung 1: Unsortierte Basistabelle)</p>
<div class="wp_syntax">
<div class="code">
<pre class="bash" style="font-family:monospace;">
SELECT LEVEL
     , rpad(' ',LEVEL) || label
  FROM menu_tree a
 START WITH a.parent_id IS NULL
       CONNECT BY PRIOR a.id= a.parent_id
 ORDER siblings BY sort
</pre>
</div>
</div>
<p><font face="Courier New"></font></p>
<table border="1" cellspacing="0" cellpadding="2" width="365">
<tbody>
<tr>
<td valign="top" width="59">LEVEL</td>
<td valign="top" width="248">LABEL</td>
<td valign="top" width="56">SORT</td>
</tr>
<tr>
<td valign="top" width="66">1</td>
<td valign="top" width="251">Anwendung</td>
<td valign="top" width="61">1</td>
</tr>
<tr>
<td valign="top" width="70">2</td>
<td valign="top" width="246"> Berichte</td>
<td valign="top" width="65">1</td>
</tr>
<tr>
<td valign="top" width="73">2</td>
<td valign="top" width="241"> Hilfsdaten</td>
<td valign="top" width="68">2</td>
</tr>
<tr>
<td valign="top" width="75">3</td>
<td valign="top" width="238">&#160; Buchungsgründe</td>
<td valign="top" width="70">1</td>
</tr>
<tr>
<td valign="top" width="76">3</td>
<td valign="top" width="236">&#160; Kostenstellen</td>
<td valign="top" width="71">2</td>
</tr>
<tr>
<td valign="top" width="77">3</td>
<td valign="top" width="235">&#160; Währung</td>
<td valign="top" width="71">3</td>
</tr>
<tr>
<td valign="top" width="77">2</td>
<td valign="top" width="235"> System</td>
<td valign="top" width="71">3</td>
</tr>
<tr>
<td valign="top" width="77">3</td>
<td valign="top" width="235">&#160; Anmelden</td>
<td valign="top" width="71">1</td>
</tr>
</tbody>
</table>
<p>(Abbildung 2: Sortiertes Ergebnis)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.entwicklungsgedanken.de/2010/04/05/sortierung-von-hierachischen-bumen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Solving utf-8-encoding-issues when connecting to oracle with php and oci8</title>
		<link>http://www.entwicklungsgedanken.de/2009/04/06/solving-utf-8-encoding-issues-when-connecting-to-oracle-with-php-and-oci8/</link>
		<comments>http://www.entwicklungsgedanken.de/2009/04/06/solving-utf-8-encoding-issues-when-connecting-to-oracle-with-php-and-oci8/#comments</comments>
		<pubDate>Mon, 06 Apr 2009 20:24:22 +0000</pubDate>
		<dc:creator>Eric Bartels</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Webdevelopment]]></category>
		<category><![CDATA[Encoding]]></category>
		<category><![CDATA[OCI8]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[UTF8]]></category>

		<guid isPermaLink="false">http://www.entwicklungsgedanken.de/?p=223</guid>
		<description><![CDATA[In a recent project of mine a web-application is developed. This application consumes &#8220;some data&#8221; from an enterprise Oracle database. The development environment has the latest oracle drivers installed. Everything works as expected. Even the connection-speed is very good. But then comes the deployment of that application. The production environment already runs for a while [...]]]></description>
			<content:encoded><![CDATA[<p>In a recent project of mine a web-application is developed. This application consumes &#8220;some data&#8221; from an enterprise Oracle database. The development environment has the latest oracle drivers installed. Everything works as expected. Even the connection-speed is very good.<br />
But then comes the deployment of that application. The production environment already runs for a while and hosts a certain amount of applications. Oracle driver had been installed a while ago.</p>
<h3>Here comes trouble&#8230;</h3>
<p>Both environments (production and dev/test-system) connect to the same Oracle database. Inside the production environment all data received from the Oracle database is corrupt due to wrong encoding. A simple <code>mb_detect_encoding</code> shows &#8216;UTF8&#8242; which cannot be. The whole web-application &#8220;is&#8221; utf-8. There is no implicit or explicit conversion of encodings performed. So the problem must be caused by the Oracle drivers themselves.</p>
<h3>Fixme</h3>
<p>setlocale did not work. The encoding option in the dsn (connection string) did not work. What did work was setting the <code>NLS_LANG</code> in the registry. The key can be found inside <code>HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\{SomeInstance}</code>. In this case the <code>NLS_LANG</code> was set to <code>GERMAN_GERMANY.UTF8</code>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.entwicklungsgedanken.de/2009/04/06/solving-utf-8-encoding-issues-when-connecting-to-oracle-with-php-and-oci8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Before-Insert/Update Trigger (Performance)</title>
		<link>http://www.entwicklungsgedanken.de/2009/03/27/before-insertupdate-trigger-performance/</link>
		<comments>http://www.entwicklungsgedanken.de/2009/03/27/before-insertupdate-trigger-performance/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 11:22:39 +0000</pubDate>
		<dc:creator>Sven Thämar</dc:creator>
				<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[PL/SQL]]></category>
		<category><![CDATA[Trigger Oracle]]></category>

		<guid isPermaLink="false">http://www.entwicklungsgedanken.de/2009/03/27/before-insertupdate-trigger-performance/</guid>
		<description><![CDATA[Bei der Verwendung von Before-Insert / Update Triggern sollte man bezüglich performance immer prüfen ob eine Wertzuweisung erfolgen muss oder ob der Wert bereits vorhanden ist. Z.b. bei den Feldern create_on bzw. create_by ist eine Zuweisung nur Sinnvoll, wenn die Werte wirklich NULL sind. Ansonsten ist der Performanceverlust bei einer permanenten Zuweisung sehr hoch.]]></description>
			<content:encoded><![CDATA[<p>Bei der Verwendung von Before-Insert / Update Triggern sollte man bezüglich performance immer prüfen ob eine Wertzuweisung erfolgen muss oder ob der Wert bereits vorhanden ist. Z.b. bei den Feldern create_on bzw. create_by ist eine Zuweisung nur Sinnvoll, wenn die Werte wirklich NULL sind. Ansonsten ist der Performanceverlust bei einer permanenten Zuweisung sehr hoch.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.entwicklungsgedanken.de/2009/03/27/before-insertupdate-trigger-performance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>check constraint vs. trigger</title>
		<link>http://www.entwicklungsgedanken.de/2009/03/27/check-constraint-vs-trigger/</link>
		<comments>http://www.entwicklungsgedanken.de/2009/03/27/check-constraint-vs-trigger/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 10:15:34 +0000</pubDate>
		<dc:creator>Sven Thämar</dc:creator>
				<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[PL/SQL]]></category>
		<category><![CDATA[Oracle Trigger check constraint]]></category>

		<guid isPermaLink="false">http://www.entwicklungsgedanken.de/2009/03/27/check-constraint-vs-trigger/</guid>
		<description><![CDATA[Steht bei der Verarbeitung die Geschwindigkeit im Vordergrund, sollte man generell auf die Verwendung von Triggern auf Row-Level Ebene verzichten. Sofern dies möglich ist. Hier ist die Verwendung von check constraints auf alle Fälle vorzuziehen. Wird hingegen von vornherein ein Trigger (Before-Insert / Update) verwendet, kann die Prüfung im Trigger selber erfolgen. Wird ein Trigger [...]]]></description>
			<content:encoded><![CDATA[<p>Steht bei der Verarbeitung die Geschwindigkeit im Vordergrund, sollte man generell auf die Verwendung von Triggern auf Row-Level Ebene verzichten. Sofern dies möglich ist. Hier ist die Verwendung von check constraints auf alle Fälle vorzuziehen. Wird hingegen von vornherein ein Trigger (Before-Insert / Update) verwendet, kann die Prüfung im Trigger selber erfolgen. Wird ein Trigger verwendet sollte man die zusätzlich Prüfung via check constraint nicht verwendet.</p>
<p>Komplette Ausarbeitung: <a href="http://www.entwicklungsgedanken.de/wp-content/uploads/2009/03/check-constraint-vs-trigger2.pdf">QT-check-constraint-vs-trigger</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.entwicklungsgedanken.de/2009/03/27/check-constraint-vs-trigger/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle 10g Enterprise Manager: Voraussetzung zur Definition der HOST-ID</title>
		<link>http://www.entwicklungsgedanken.de/2008/12/03/oracle-10g-enterprise-manager-voraussetzung-zur-definition-der-host-id/</link>
		<comments>http://www.entwicklungsgedanken.de/2008/12/03/oracle-10g-enterprise-manager-voraussetzung-zur-definition-der-host-id/#comments</comments>
		<pubDate>Wed, 03 Dec 2008 09:50:22 +0000</pubDate>
		<dc:creator>Tom Haesevoets</dc:creator>
				<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[Oracle "Enterprise Manager" HOST-ID "RemoteOperationException: ERROR: wrong password for user"]]></category>

		<guid isPermaLink="false">http://www.entwicklungsgedanken.de/2008/12/03/oracle-10g-enterprice-manager-voraussetzung-zur-definition-der-host-id/</guid>
		<description><![CDATA[Bei der Definition des Benutzernamens und des Passworts zum Host muss unter Windows der Host-User folgende Berechtigung besitzen: &#34;Anmelden als Stapelverarbeitungsauftrag&#34; Ist dies nicht der Fall bekommt man folgende Fehlermeldung: &#34;RemoteOperationException: ERROR: wrong password for user&#34; Einstellen der Berechtigung: - &#214;ffnen: Programme &#62; Systemsteuerung &#62; Verwaltung &#62; &#34;Lokale Sicherheitsrichtlinien&#34; - Unter &#34;Lokale Richtlinien&#34; &#62; &#34;Zuweisen [...]]]></description>
			<content:encoded><![CDATA[<p>Bei der Definition des Benutzernamens und des Passworts zum Host muss unter Windows der Host-User folgende Berechtigung besitzen:</p>
<p><strong>&quot;Anmelden als Stapelverarbeitungsauftrag&quot;</strong></p>
<p>Ist dies nicht der Fall bekommt man folgende Fehlermeldung:</p>
<p><strong>&quot;RemoteOperationException: ERROR: wrong password for user&quot;</strong></p>
<p><u>Einstellen der Berechtigung:</u></p>
<p>- &#214;ffnen: Programme &gt; Systemsteuerung &gt; Verwaltung &gt; &quot;Lokale Sicherheitsrichtlinien&quot;</p>
<p>- Unter &quot;Lokale Richtlinien&quot; &gt; &quot;Zuweisen von Benutzerrechten&quot; der Host-User unter &quot;Anmelden als Stapelverarbeitungsauftrag&quot; eintragen.</p>
<p><a href="http://www.entwicklungsgedanken.de/wp-content/uploads/2008/12/image.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; width: 528px; border-right-width: 0px" height="342" alt="image" src="http://www.entwicklungsgedanken.de/wp-content/uploads/2008/12/image-thumb.png" width="528" border="0" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.entwicklungsgedanken.de/2008/12/03/oracle-10g-enterprise-manager-voraussetzung-zur-definition-der-host-id/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Verwenden von Webutil unter Forms10g</title>
		<link>http://www.entwicklungsgedanken.de/2008/11/02/verwenden-von-webutil-unter-forms10g/</link>
		<comments>http://www.entwicklungsgedanken.de/2008/11/02/verwenden-von-webutil-unter-forms10g/#comments</comments>
		<pubDate>Sun, 02 Nov 2008 12:46:57 +0000</pubDate>
		<dc:creator>Sven Thämar</dc:creator>
				<category><![CDATA[Forms 10g]]></category>
		<category><![CDATA[Forms10g]]></category>
		<category><![CDATA[frmwebutil]]></category>
		<category><![CDATA[WEBUTIL]]></category>

		<guid isPermaLink="false">http://www.entwicklungsgedanken.de/2008/11/02/verwenden-von-webutil-unter-forms10g/</guid>
		<description><![CDATA[Allgemein Ich m&#246;chte hier nicht auf die einzelnen Installationsschritte eingehen, diese sind bei Oracle und in diversen Foren gut beschrieben, sondern vielmehr auf die m&#246;glichen Probleme eingehen. Oracle stellt die Dateien webutil_demo.zip und webutil_106.zip zum herrunterladen bereit. In diesen Dateien ist die Installation gut erkl&#228;rt. Generell sollte aber immer gepr&#252;ft werden, ob nicht bereits Dateien [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Allgemein</strong>    <br />Ich m&#246;chte hier nicht auf die einzelnen Installationsschritte eingehen, diese sind bei Oracle und in diversen Foren gut beschrieben, sondern vielmehr auf die m&#246;glichen Probleme eingehen.</p>
<p>Oracle stellt die Dateien webutil_demo.zip und webutil_106.zip zum herrunterladen bereit. In diesen Dateien ist die Installation gut erkl&#228;rt. Generell sollte aber immer gepr&#252;ft werden, ob nicht bereits Dateien von webutil.jar / frmwebutil.jar oder jacob.dll in unterschiedlichen Verzeichnissen existieren.</p>
<p><strong>JAR-Dateien</strong>    <br />Generell sollten JAR-Dateien immer im Verzeichnis /forms/java liegen.</p>
<p><strong>DLL-Dateien</strong>    <br />Die Standard Einstellung f&#252;r den Ort der DLL-Dateien lautet /forms/webutil. Es sind dies die Dateien jacob.dll, d2kwutil.dll und JNIsharedstubs.dll. Diese Dateien m&#252;ssen auch auf dem Application-Server vorhanden sein. Diese Datei werden beim Starten der Java-Umgebung auf dem Client automatisch runtergeladen. Sollte dies nicht der Fall sein, muss der Inhalt der Datei webutil.cfg gepr&#252;ft werden.    </p>
<p><strong>webutil.cfg</strong>    <br />In der webutil.cfg sind folgende Eintr&#228;ge wichtig:</p>
<p>1.) Pfadangabe f&#252;r die DLL-Dateien   <br />install.syslib.location=/webutil</p>
<p>2.) Registrierung der DLL&#8217;s   <br />install.syslib.0.7.1=jacob.dll|94208|1.0|true install.syslib.0.9.1=JNIsharedstubs.dll|65582|1.0|true install.syslib.0.9.2=d2kwut60.dll|192512|1.0|true    </p>
<p>Die vorgegebenen Dateigr&#246;&#223;en m&#252;ssen mit den tats&#228;chlichen Dateigr&#246;&#223;en &#252;bereinstimmen.</p>
<p><strong>Versionen</strong>    <br />webutil / frmwebutil liegt in drei verschiedenen Versionen vor.</p>
<ul>
<p>1.) Oracle Forms 10<em>g</em> (9.0.4) or Oracle9<em>i</em> Forms (9.0.2) &#8211;&gt; <strong>webutil.jar</strong>      <br />2.) Oracle Forms 10<em>g</em> (10.1.2.0) &#8211;&gt; <strong>frmwebutil.jar (293 KB)       <br /></strong>3.) Oracle Forms 10g (10.1.2.2) (Patch) &#8211;&gt; <strong>frmwebutil.jar (272 KB)</strong></p>
</ul>
<p><strong>jacob.dll</strong> darf ausschlie&#223;lich in der <strong>Version 1.8</strong> Verwendet werden. Alle neueren Versionen sind nicht kompatible.</p>
<p>Ab der Version Oracle Forms 10<em>g</em> (10.1.2.0) werden die Dateien f&#252;r webutil (frmwebutil) bereits mitgeliefert. Diese Dateien sollten auch verwendet werden. Insbesondere dann, wenn Forms 10<em>g</em> gepatch worden ist. Nach dem Patch darf nur die <strong>frmwebutil.jar (273 KB)</strong>&#160; der gepatchten Version verwendet werden. Andere Versionen <strong>frmwebutil.jar (293KB)</strong> laufen zum gr&#246;&#223;ten Teil nicht mehr. Leider werden auch keine Fehler protokolliert.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.entwicklungsgedanken.de/2008/11/02/verwenden-von-webutil-unter-forms10g/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Signieren von webutil.jar / frmwebutil.jar und jacob.jar</title>
		<link>http://www.entwicklungsgedanken.de/2008/11/02/signieren-von-webutiljar-frmwebutiljar-und-jacobjar/</link>
		<comments>http://www.entwicklungsgedanken.de/2008/11/02/signieren-von-webutiljar-frmwebutiljar-und-jacobjar/#comments</comments>
		<pubDate>Sun, 02 Nov 2008 11:07:47 +0000</pubDate>
		<dc:creator>Sven Thämar</dc:creator>
				<category><![CDATA[Forms 10g]]></category>
		<category><![CDATA[Forms10g]]></category>
		<category><![CDATA[frmwebutil]]></category>
		<category><![CDATA[signieren]]></category>
		<category><![CDATA[WEBUTIL]]></category>

		<guid isPermaLink="false">http://www.entwicklungsgedanken.de/2008/11/02/signieren-von-webutiljar-frmwebutiljar-und-jacobjar/</guid>
		<description><![CDATA[Allgemein:Oracle empfiehl das Signieren von JAR-Dateien die zusätzlich in einer Forms Umgebung verwendet werden. Darunter fallen unter anderem auch die beiden Datei frmwebutil.jar (Forms 10g (10.1.2)) oder webutil.jar (Forms 10g (9.0.4)) und jacob.jar. Vorgehensweise:Die eigentliche Vorgehensweise wird bei Oracle und in diversen Foren ganz gut beschrieben. Zum signieren beider JAR-Dateien mit dem selben Zertifikat wird [...]]]></description>
			<content:encoded><![CDATA[<p>Allgemein:<br />Oracle empfiehl das Signieren von JAR-Dateien die zusätzlich in einer Forms Umgebung verwendet werden. Darunter fallen unter anderem auch die beiden Datei <strong>frmwebutil.jar</strong> (Forms 10<em>g</em> (10.1.2)) oder <strong>webutil.jar</strong> (Forms 10<em>g</em> (9.0.4)) und <strong>jacob.jar</strong>.</p>
<p>Vorgehensweise:<br />Die eigentliche Vorgehensweise wird bei Oracle und in diversen Foren ganz gut beschrieben. Zum signieren beider JAR-Dateien mit dem selben Zertifikat wird die Batchdatei <strong>sign_webutil.bat</strong> benötigt. Allerdings kann es passieren, das die Dateien auf einen Fehler laufen und die Datei <strong>.keystore</strong> kann nicht erzeugt werden. In der Regel liegt es daran, dass die <strong>Systemvariable HOME</strong> auf DOS-Ebene nicht gesetzt ist. In der <strong>Systemvariablen HOME</strong> sollte der Pfad für das Homeverzeichnis des Users stehen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.entwicklungsgedanken.de/2008/11/02/signieren-von-webutiljar-frmwebutiljar-und-jacobjar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
