<?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>Budichsmus</title>
	<atom:link href="http://www.budichsmus.de/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.budichsmus.de</link>
	<description>Sei eins mit deinem Code!</description>
	<lastBuildDate>Tue, 13 Nov 2007 10:39:45 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Mehr Informationen über Context-Indexes in Oracle</title>
		<link>http://www.budichsmus.de/index.php/2007/11/13/oracle-context-index-reports/</link>
		<comments>http://www.budichsmus.de/index.php/2007/11/13/oracle-context-index-reports/#comments</comments>
		<pubDate>Tue, 13 Nov 2007 10:33:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://www.budichsmus.de/index.php/2007/11/13/mehr-informationen-uber-context-indexes-in-oracle/</guid>
		<description><![CDATA[Ich habe gerade wieder einmal ein nützliches PL/SQL-Package entdeckt: ctx_report
Mit ihm bekommt man ein paar Informationen über Context-Indexes. Ist zwar schlecht formatiert, steht aber viel drin.

Beispiel: Größe eines Context-Indexes

SQL&#62; SELECT ctx_report.index_size&#40;'CLOBPRODUCT_CTX'&#41; FROM dual;
CTX_REPORT.INDEX_SIZE&#40;'PRODUCT_AV_STR_VAL$1'&#41;
--------------------------------------------------------------------------------
===========================================================================
             INDEX SIZE FOR TBUDICH_ESL62.PRODUCT_AV_S
TR_VAL$1
=====================================================================
======
INDEX &#40;IOT&#41;:      [...]]]></description>
			<content:encoded><![CDATA[<p>Ich habe gerade wieder einmal ein nützliches PL/SQL-Package entdeckt: <code>ctx_report</code><br />
Mit ihm bekommt man ein paar Informationen über Context-Indexes. Ist zwar schlecht formatiert, steht aber viel drin.<br />
<span id="more-100"></span><br />
Beispiel: Größe eines Context-Indexes</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;">SQL<span style="color: #66cc66;">&gt;</span> <span style="color: #993333; font-weight: bold;">SELECT</span> ctx_report<span style="color: #66cc66;">.</span>index_size<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'CLOBPRODUCT_CTX'</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">FROM</span> dual;
CTX_REPORT<span style="color: #66cc66;">.</span>INDEX_SIZE<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'PRODUCT_AV_STR_VAL$1'</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #808080; font-style: italic;">--------------------------------------------------------------------------------</span>
<span style="color: #66cc66;">===========================================================================</span>
             <span style="color: #993333; font-weight: bold;">INDEX</span> SIZE <span style="color: #993333; font-weight: bold;">FOR</span> TBUDICH_ESL62<span style="color: #66cc66;">.</span>PRODUCT_AV_S
TR_VAL$<span style="color: #cc66cc;">1</span>
<span style="color: #66cc66;">=====================================================================</span>
<span style="color: #66cc66;">======</span>
<span style="color: #993333; font-weight: bold;">INDEX</span> <span style="color: #66cc66;">&#40;</span>IOT<span style="color: #66cc66;">&#41;</span>:                         TBUDICH_ESL62<span style="color: #66cc66;">.</span>SYS_IOT_TOP_168059
<span style="color: #993333; font-weight: bold;">TABLE</span> NAME:                          TBUDICH_ESL62<span style="color: #66cc66;">.</span>DR
$PRODUCT_AV_STR_VAL$<span style="color: #cc66cc;">1</span>$N
TABLESPACE NAME:                     IS_INDX_CTX
BLOCKS ALLOCATED:
                <span style="color: #cc66cc;">8</span>
BLOCKS USED:
             <span style="color: #cc66cc;">4</span>
BYTES ALLOCATED:                                         <span style="color: #cc66cc;">65</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">536</span>
 <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">64.00</span> KB<span style="color: #66cc66;">&#41;</span>
BYTES USED:                                              <span style="color: #cc66cc;">32</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">768</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">3</span>
<span style="color: #cc66cc;">2.00</span> KB<span style="color: #66cc66;">&#41;</span>
&nbsp;
<span style="color: #993333; font-weight: bold;">INDEX</span> <span style="color: #66cc66;">&#40;</span>IOT<span style="color: #66cc66;">&#41;</span>:                         TBUDICH_ESL62<span style="color: #66cc66;">.</span>SYS_IOT_TOP_16805
<span style="color: #cc66cc;">4</span>
<span style="color: #993333; font-weight: bold;">TABLE</span> NAME:                          TBUDICH_ESL62<span style="color: #66cc66;">.</span>DR$PRODUCT_AV_STR_VAL$<span style="color: #cc66cc;">1</span>$K
&nbsp;
TABLESPACE NAME:                     IS_INDX_CTX
BLOCKS ALLOCATED:
                <span style="color: #cc66cc;">1024</span>
BLOCKS USED:
              <span style="color: #cc66cc;">962</span>
BYTES ALLOCATED:                                       <span style="color: #cc66cc;">8</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">388</span>
<span style="color: #66cc66;">,</span><span style="color: #cc66cc;">608</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">8.00</span> MB<span style="color: #66cc66;">&#41;</span>
BYTES USED:                                            <span style="color: #cc66cc;">7</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">880</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">70</span>
<span style="color: #cc66cc;">4</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">7.52</span> MB<span style="color: #66cc66;">&#41;</span>
&nbsp;
<span style="color: #993333; font-weight: bold;">TABLE</span>:                               TBUDICH_ESL62<span style="color: #66cc66;">.</span>DR$PRODUCT_AV_
STR_VAL$<span style="color: #cc66cc;">1</span>$R
TABLESPACE NAME:                     IS_INDX_CTX
BLOCKS ALLOCATED:
    <span style="color: #cc66cc;">8</span>
BLOCKS USED:
 <span style="color: #cc66cc;">8</span>
BYTES ALLOCATED:                                         <span style="color: #cc66cc;">65</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">536</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">64.00</span> KB<span style="color: #66cc66;">&#41;</span>
BYTES USED:
     <span style="color: #cc66cc;">65</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">536</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">64.00</span> KB<span style="color: #66cc66;">&#41;</span>
&nbsp;
LOB SEGMENT:                         TBUDICH_ESL62<span style="color: #66cc66;">.</span>SYS
_LOB0000168056C00002$$
<span style="color: #993333; font-weight: bold;">TABLE</span> NAME:                          TBUDICH_ESL62<span style="color: #66cc66;">.</span>DR$P
RODUCT_AV_STR_VAL$<span style="color: #cc66cc;">1</span>$R
&nbsp;
CTX_REPORT<span style="color: #66cc66;">.</span>INDEX_SIZE<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'PRODUCT_AV_STR_VAL$1'</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #808080; font-style: italic;">--------------------------------------------------------------------------------</span>
LOB <span style="color: #993333; font-weight: bold;">COLUMN</span>:                          <span style="color: #993333; font-weight: bold;">DATA</span>
TABLESPACE NAME:                     IS_INDX_CTX
BLOCKS ALLOCATED:
 <span style="color: #cc66cc;">1280</span>
BLOCKS USED:                                                          <span style="color: #cc66cc;">12</span>
<span style="color: #cc66cc;">80</span>
BYTES ALLOCATED:                                     <span style="color: #cc66cc;">10</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">485</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">760</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">10.00</span> MB<span style="color: #66cc66;">&#41;</span>
BYTES USED:
 <span style="color: #cc66cc;">10</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">485</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">760</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">10.00</span> MB<span style="color: #66cc66;">&#41;</span>
&nbsp;
<span style="color: #993333; font-weight: bold;">INDEX</span> <span style="color: #66cc66;">&#40;</span>LOB<span style="color: #66cc66;">&#41;</span>:                         TBUDICH_ESL62<span style="color: #66cc66;">.</span>SYS
_IL0000168056C00002$$
<span style="color: #993333; font-weight: bold;">TABLE</span> NAME:                          TBUDICH_ESL62<span style="color: #66cc66;">.</span>DR$PR
ODUCT_AV_STR_VAL$<span style="color: #cc66cc;">1</span>$R
TABLESPACE NAME:                     IS_INDX_CTX
BLOCKS ALLOCATED:
             <span style="color: #cc66cc;">8</span>
BLOCKS USED:
          <span style="color: #cc66cc;">8</span>
BYTES ALLOCATED:                                         <span style="color: #cc66cc;">65</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">536</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">6</span>
<span style="color: #cc66cc;">4.00</span> KB<span style="color: #66cc66;">&#41;</span>
BYTES USED:                                              <span style="color: #cc66cc;">65</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">536</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">64.0</span>
<span style="color: #cc66cc;">0</span> KB<span style="color: #66cc66;">&#41;</span>
&nbsp;
<span style="color: #993333; font-weight: bold;">TABLE</span>:                               TBUDICH_ESL62<span style="color: #66cc66;">.</span>DR$PRODUCT_AV_STR_VA
L$<span style="color: #cc66cc;">1</span>$I
TABLESPACE NAME:                     IS_INDX_CTX
BLOCKS ALLOCATED:                                                     <span style="color: #cc66cc;">1280</span>
BLOCKS USED:
                  <span style="color: #cc66cc;">1157</span>
BYTES ALLOCATED:                                     <span style="color: #cc66cc;">10</span>
<span style="color: #66cc66;">,</span><span style="color: #cc66cc;">485</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">760</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">10.00</span> MB<span style="color: #66cc66;">&#41;</span>
BYTES USED:                                            <span style="color: #cc66cc;">9</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">4</span>
<span style="color: #cc66cc;">78</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">144</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">9.04</span> MB<span style="color: #66cc66;">&#41;</span>
&nbsp;
LOB SEGMENT:                         TBUDICH_ESL62<span style="color: #66cc66;">.</span>SYS_LOB00
00168051C00006$$
<span style="color: #993333; font-weight: bold;">TABLE</span> NAME:                          TBUDICH_ESL62<span style="color: #66cc66;">.</span>DR$PRODUCT
_AV_STR_VAL$<span style="color: #cc66cc;">1</span>$I
LOB <span style="color: #993333; font-weight: bold;">COLUMN</span>:                          TOKEN_INFO
TABLESPACE NAME:                     IS_INDX_CTX
BLOCKS ALLOCATED:
    <span style="color: #cc66cc;">8</span>
BLOCKS USED:
 <span style="color: #cc66cc;">4</span>
BYTES ALLOCATED:                                         <span style="color: #cc66cc;">65</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">536</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">64.00</span> KB<span style="color: #66cc66;">&#41;</span>
BYTES USED:
&nbsp;
CTX_REPORT<span style="color: #66cc66;">.</span>INDEX_SIZE<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'PRODUCT_AV_STR_VAL$1'</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #808080; font-style: italic;">--------------------------------------------------------------------------------</span>
     <span style="color: #cc66cc;">32</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">768</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">32.00</span> KB<span style="color: #66cc66;">&#41;</span>
&nbsp;
<span style="color: #993333; font-weight: bold;">INDEX</span> <span style="color: #66cc66;">&#40;</span>NORMAL<span style="color: #66cc66;">&#41;</span>:                      TBUDICH_ESL62<span style="color: #66cc66;">.</span>DR$
PRODUCT_AV_STR_VAL$<span style="color: #cc66cc;">1</span>$X
<span style="color: #993333; font-weight: bold;">TABLE</span> NAME:                          TBUDICH_ESL62<span style="color: #66cc66;">.</span>DR$P
RODUCT_AV_STR_VAL$<span style="color: #cc66cc;">1</span>$I
TABLESPACE NAME:                     IS_INDX_CTX
BLOCKS ALLOCATED:
            <span style="color: #cc66cc;">256</span>
BLOCKS USED:
         <span style="color: #cc66cc;">177</span>
BYTES ALLOCATED:                                       <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">,</span>097<span style="color: #66cc66;">,</span><span style="color: #cc66cc;">152</span>
<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">2.00</span> MB<span style="color: #66cc66;">&#41;</span>
BYTES USED:                                            <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">449</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">984</span> <span style="color: #66cc66;">&#40;</span>1<span style="color: #66cc66;">.</span>
<span style="color: #cc66cc;">38</span> MB<span style="color: #66cc66;">&#41;</span>
&nbsp;
<span style="color: #993333; font-weight: bold;">INDEX</span> <span style="color: #66cc66;">&#40;</span>LOB<span style="color: #66cc66;">&#41;</span>:                         TBUDICH_ESL62<span style="color: #66cc66;">.</span>SYS_IL0000168051C00
006$$
<span style="color: #993333; font-weight: bold;">TABLE</span> NAME:                          TBUDICH_ESL62<span style="color: #66cc66;">.</span>DR$PRODUCT_AV_STR_VAL
$<span style="color: #cc66cc;">1</span>$I
TABLESPACE NAME:                     IS_INDX_CTX
BLOCKS ALLOCATED:                                                        <span style="color: #cc66cc;">8</span>
BLOCKS USED:
                    <span style="color: #cc66cc;">4</span>
BYTES ALLOCATED:
 <span style="color: #cc66cc;">65</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">536</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">64.00</span> KB<span style="color: #66cc66;">&#41;</span>
BYTES USED:                                              <span style="color: #cc66cc;">32</span>
<span style="color: #66cc66;">,</span><span style="color: #cc66cc;">768</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">32.00</span> KB<span style="color: #66cc66;">&#41;</span>
&nbsp;
TOTALS <span style="color: #993333; font-weight: bold;">FOR</span> <span style="color: #993333; font-weight: bold;">INDEX</span> TBUDICH_ESL62<span style="color: #66cc66;">.</span>PRODUCT_AV_STR_VAL$<span style="color: #cc66cc;">1</span>
<span style="color: #808080; font-style: italic;">-------------------------------------------------------------</span>
<span style="color: #808080; font-style: italic;">--------------</span>
TOTAL BLOCKS ALLOCATED:
       <span style="color: #cc66cc;">3880</span>
TOTAL BLOCKS USED:
    <span style="color: #cc66cc;">3604</span>
TOTAL BYTES ALLOCATED:</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.budichsmus.de/index.php/2007/11/13/oracle-context-index-reports/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JRuby und Oracle</title>
		<link>http://www.budichsmus.de/index.php/2007/11/02/jruby-und-oracle/</link>
		<comments>http://www.budichsmus.de/index.php/2007/11/02/jruby-und-oracle/#comments</comments>
		<pubDate>Fri, 02 Nov 2007 15:17:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.budichsmus.de/index.php/2007/11/02/jruby-und-oracle/</guid>
		<description><![CDATA[Hier ein kleines Beispiel wie man mittel JRuby über JDBC sich zu Oracle verbinden kann:

require 'java'
module J
  include_package &#34;java.lang&#34;
  include_package 'java.sql'
end
&#160;
db_user='jruby'
db_password=db_user
db_host='localhost'
db_port=1521
db_sid='XE'
&#160;
url=&#34;jdbc:oracle:thin:#{db_user}/#{db_password}@#{db_host}:#{db_port}:#{db_sid}&#34;
&#160;
J::Class.forName&#40;&#34;oracle.jdbc.OracleDriver&#34;&#41;
conn = J::DriverManager.getConnection&#40;url&#41;;
stmt = conn.createStatement
rs = stmt.executeQuery&#40;&#34;select object_type, object_name from user_objects&#34;&#41;
while &#40;rs.next&#41; do
	puts rs.getString&#40;1&#41;+' '+rs.getString&#40;2&#41;
end
rs.close
stmt.close
conn.close&#40;&#41;

]]></description>
			<content:encoded><![CDATA[<p>Hier ein kleines Beispiel wie man mittel JRuby über JDBC sich zu Oracle verbinden kann:</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'java'</span>
<span style="color:#9966CC; font-weight:bold;">module</span> J
  include_package <span style="color:#996600;">&quot;java.lang&quot;</span>
  include_package <span style="color:#996600;">'java.sql'</span>
<span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
db_user=<span style="color:#996600;">'jruby'</span>
db_password=db_user
db_host=<span style="color:#996600;">'localhost'</span>
db_port=<span style="color:#006666;">1521</span>
db_sid=<span style="color:#996600;">'XE'</span>
&nbsp;
url=<span style="color:#996600;">&quot;jdbc:oracle:thin:#{db_user}/#{db_password}@#{db_host}:#{db_port}:#{db_sid}&quot;</span>
&nbsp;
<span style="color:#6666ff; font-weight:bold;">J::Class</span>.<span style="color:#9900CC;">forName</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;oracle.jdbc.OracleDriver&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
conn = <span style="color:#6666ff; font-weight:bold;">J::DriverManager</span>.<span style="color:#9900CC;">getConnection</span><span style="color:#006600; font-weight:bold;">&#40;</span>url<span style="color:#006600; font-weight:bold;">&#41;</span>;
stmt = conn.<span style="color:#9900CC;">createStatement</span>
rs = stmt.<span style="color:#9900CC;">executeQuery</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;select object_type, object_name from user_objects&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
<span style="color:#9966CC; font-weight:bold;">while</span> <span style="color:#006600; font-weight:bold;">&#40;</span>rs.<span style="color:#9966CC; font-weight:bold;">next</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#9966CC; font-weight:bold;">do</span>
	<span style="color:#CC0066; font-weight:bold;">puts</span> rs.<span style="color:#9900CC;">getString</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006666;">1</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">+</span><span style="color:#996600;">' '</span><span style="color:#006600; font-weight:bold;">+</span>rs.<span style="color:#9900CC;">getString</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006666;">2</span><span style="color:#006600; font-weight:bold;">&#41;</span>
<span style="color:#9966CC; font-weight:bold;">end</span>
rs.<span style="color:#9900CC;">close</span>
stmt.<span style="color:#9900CC;">close</span>
conn.<span style="color:#9900CC;">close</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.budichsmus.de/index.php/2007/11/02/jruby-und-oracle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XMLType.getCLOBVal() in Oracle</title>
		<link>http://www.budichsmus.de/index.php/2007/09/28/xmltypegetclobval-in-oracle/</link>
		<comments>http://www.budichsmus.de/index.php/2007/09/28/xmltypegetclobval-in-oracle/#comments</comments>
		<pubDate>Fri, 28 Sep 2007 14:06:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://www.budichsmus.de/index.php/2007/09/28/xmltypegetclobval-in-oracle/</guid>
		<description><![CDATA[Falls jemand schon einmal eine ORA-00904 bekommen hat, als er versucht hat einen XMLType in ein CLOB umzuverwandeln, &#8230;

SQL> select attributes.getCLOBVal() from product_xv;
select attributes.getCLOBVal() from product_xv
       *
ERROR at line 1:
ORA-00904: "ATTRIBUTES"."GETCLOBVAL": invalid identifier

Elapsed: 00:00:00.00

&#8230; der sollte einmal ein Tabellen-Alias verwenden. Ohne diesem geht es nämlich nicht:

SQL> select p.attributes.getCLOBVal() from [...]]]></description>
			<content:encoded><![CDATA[<p>Falls jemand schon einmal eine <code>ORA-00904</code> bekommen hat, als er versucht hat einen XMLType in ein CLOB umzuverwandeln, &#8230;</p>
<pre>
SQL> select attributes.getCLOBVal() from product_xv;
select attributes.getCLOBVal() from product_xv
       *
ERROR at line 1:
ORA-00904: "ATTRIBUTES"."GETCLOBVAL": invalid identifier

Elapsed: 00:00:00.00
</pre>
<p>&#8230; der sollte einmal ein Tabellen-Alias verwenden. Ohne diesem geht es nämlich nicht:</p>
<pre>
SQL> select p.attributes.getCLOBVal() from product_xv p;

no rows selected

Elapsed: 00:00:01.67
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.budichsmus.de/index.php/2007/09/28/xmltypegetclobval-in-oracle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Umbennen einer Stored Procedure in Oracle</title>
		<link>http://www.budichsmus.de/index.php/2007/09/06/umbennen-einer-stored-procedure-in-oracle/</link>
		<comments>http://www.budichsmus.de/index.php/2007/09/06/umbennen-einer-stored-procedure-in-oracle/#comments</comments>
		<pubDate>Thu, 06 Sep 2007 14:13:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://www.budichsmus.de/?p=91</guid>
		<description><![CDATA[Leider gibt es keine RENAME $oldname$ TO $newname$ für Stored-Procedures in Oracle. Dafür kann man folgendes kleines SQL-Skript benutzen:

DECLARE
    txt VARCHAR2&#40;4000&#41;;
BEGIN
    SELECT dbms_metadata.get_ddl&#40;'&#38;&#38;type', UPPER&#40;'&#38;&#38;old'&#41;&#41;
      INTO txt FROM dual;
&#160;
    txt := REPLACE&#40;txt, '&#38;&#38;old', '&#38;&#38;new'&#41;;
    txt := REPLACE&#40;txt, UPPER&#40;'&#38;&#38;old'&#41;, '&#38;&#38;new'&#41;;
&#160;
 [...]]]></description>
			<content:encoded><![CDATA[<p>Leider gibt es keine <code>RENAME $oldname$ TO $newname$</code> für Stored-Procedures in Oracle. Dafür kann man folgendes kleines SQL-Skript benutzen:</p>

<div class="wp_syntax"><div class="code"><pre class="oracle8" style="font-family:monospace;"><span style="color: #993333; font-weight: bold; text-transform: uppercase;">DECLARE</span>
    txt <span style="color: #993333; font-weight: bold; text-transform: uppercase;">VARCHAR2</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">4000</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #993333; font-weight: bold; text-transform: uppercase;">BEGIN</span>
    <span style="color: #993333; font-weight: bold; text-transform: uppercase;">SELECT</span> dbms_metadata.get_ddl<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'&amp;&amp;type'</span><span style="color: #66cc66;">,</span> <span style="color: #993333; font-weight: bold; text-transform: uppercase;">UPPER</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'&amp;&amp;old'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
      <span style="color: #993333; font-weight: bold; text-transform: uppercase;">INTO</span> txt <span style="color: #993333; font-weight: bold; text-transform: uppercase;">FROM</span> dual;
&nbsp;
    txt :<span style="color: #66cc66;">=</span> <span style="color: #993333; font-weight: bold; text-transform: uppercase;">REPLACE</span><span style="color: #66cc66;">&#40;</span>txt<span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'&amp;&amp;old'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'&amp;&amp;new'</span><span style="color: #66cc66;">&#41;</span>;
    txt :<span style="color: #66cc66;">=</span> <span style="color: #993333; font-weight: bold; text-transform: uppercase;">REPLACE</span><span style="color: #66cc66;">&#40;</span>txt<span style="color: #66cc66;">,</span> <span style="color: #993333; font-weight: bold; text-transform: uppercase;">UPPER</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'&amp;&amp;old'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'&amp;&amp;new'</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
    <span style="color: #993333; font-weight: bold; text-transform: uppercase;">EXECUTE</span> <span style="color: #993333; font-weight: bold; text-transform: uppercase;">IMMEDIATE</span> txt;
    <span style="color: #993333; font-weight: bold; text-transform: uppercase;">EXECUTE</span> <span style="color: #993333; font-weight: bold; text-transform: uppercase;">IMMEDIATE</span> <span style="color: #ff0000;">'DROP '</span><span style="color: #66cc66;">||</span>&amp;&amp;type<span style="color: #66cc66;">||</span><span style="color: #ff0000;">' '</span><span style="color: #66cc66;">||</span>&amp;&amp;old;
&nbsp;
<span style="color: #993333; font-weight: bold; text-transform: uppercase;">END</span>;
<span style="color: #66cc66;">/</span>
&nbsp;
show errors;</pre></div></div>

<p>Allerdings darf diese Store-Procedure nicht größer als 4000 Zeichen sein. Sonst müßte man mit CLOBs arbeiten.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.budichsmus.de/index.php/2007/09/06/umbennen-einer-stored-procedure-in-oracle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aptana RadRails</title>
		<link>http://www.budichsmus.de/index.php/2007/06/15/aptana-radrails/</link>
		<comments>http://www.budichsmus.de/index.php/2007/06/15/aptana-radrails/#comments</comments>
		<pubDate>Fri, 15 Jun 2007 20:26:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.budichsmus.de/2007/06/15/aptana-radrails/</guid>
		<description><![CDATA[Falls jemand eine passende IDE für das Entwickeln mit Ruby (on Rails) sucht, ich empfehle: Aptana RadRails. Wenn man aus der Java-Entwicklung kommt, ist es ein leichtes, mit dieser auf Eclipse basierenden IDE umzugehen. Auch wenn das Command-Line-Interface von Ruby on Rails sehr mächtig ist, diese IDE schafft es, die möglichen Befehle intuitiver zu entdecken. [...]]]></description>
			<content:encoded><![CDATA[<p>Falls jemand eine passende IDE für das Entwickeln mit Ruby (on Rails) sucht, ich empfehle: <a href="http://www.radrails.org">Aptana RadRails</a>. Wenn man aus der Java-Entwicklung kommt, ist es ein leichtes, mit dieser auf Eclipse basierenden IDE umzugehen. Auch wenn das Command-Line-Interface von <a href="http://www.rubyonrails.org">Ruby on Rails</a> sehr mächtig ist, diese IDE schafft es, die möglichen Befehle intuitiver zu entdecken. Mit den entsprechenden Shortcuts ist man mindestens genauso schnell beim Entwickeln, wie mit dem 10-Finger-Tipp-System.<br />
Ein kleines Beispiel -> Test-Driven-Development: Im Editor ist ein Unit-Test geöffnet. Man ändert eine Test-Methode. Mit einem einfachen <code>Strg-F11</code> kann man diesen Test immer wieder starten.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.budichsmus.de/index.php/2007/06/15/aptana-radrails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Die Scripting API von Java 6 und JRuby</title>
		<link>http://www.budichsmus.de/index.php/2007/06/13/die-scripting-api-vom-jdk-16-am-beispiel-von-jruby/</link>
		<comments>http://www.budichsmus.de/index.php/2007/06/13/die-scripting-api-vom-jdk-16-am-beispiel-von-jruby/#comments</comments>
		<pubDate>Wed, 13 Jun 2007 21:09:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.budichsmus.de/2007/06/13/die-scripting-api-vom-jdk-16-am-beispiel-von-jruby/</guid>
		<description><![CDATA[Die meisten Tutorials bezüglich dem Einsatz von JRuby beschreiben nur, wie man JRuby-Skripte allein aufruft oder wie man innerhalb eines JRuby-Skriptes auf Java-Klassen zugreifen kann. Mir fehlte bisher wie man mittels der Scripting API von Java 6 JRuby aufruft.
Folgendes muss man machen, damit man generisch ein Ruby-Skript innerhalb von Java ausführen kann:

Installation von Java 6
Installation [...]]]></description>
			<content:encoded><![CDATA[<p>Die meisten Tutorials bezüglich dem Einsatz von JRuby beschreiben nur, wie man JRuby-Skripte allein aufruft oder wie man innerhalb eines JRuby-Skriptes auf Java-Klassen zugreifen kann. Mir fehlte bisher wie man mittels der Scripting API von Java 6 JRuby aufruft.<br />
Folgendes muss man machen, damit man generisch ein Ruby-Skript innerhalb von Java ausführen kann:</p>
<ol>
<li>Installation von Java 6</li>
<li>Installation von JRuby</li>
<li>Download der <a href="https://scripting.dev.java.net/files/documents/4957/37593/jsr223-engines.zip">Script-Engines</a></li>
<li>Anlegen eines Beispiel-Projektes</li>
<li>Im lib-Verzeichnis alle JRuby-Jars und die JRuby-Engine aus der Zip-Datei <code>jsr223-engines.zip</code> kopieren</li>
<li>Test-Programm schreiben:

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.List</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.script.ScriptEngineFactory</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.script.ScriptEngineManager</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> ShowScriptEngines
<span style="color: #009900;">&#123;</span>
   <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> args<span style="color: #009900;">&#41;</span>
   <span style="color: #009900;">&#123;</span>
      ScriptEngineManager scriptManager <span style="color: #339933;">=</span>
         <span style="color: #000000; font-weight: bold;">new</span> ScriptEngineManager<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      List<span style="color: #339933;">&lt;</span>ScriptEngineFactory<span style="color: #339933;">&gt;</span> factories <span style="color: #339933;">=</span>
         scriptManager.<span style="color: #006633;">getEngineFactories</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span>ScriptEngineFactory factory <span style="color: #339933;">:</span> factories<span style="color: #009900;">&#41;</span>
      <span style="color: #009900;">&#123;</span>
         <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>
             factory.<span style="color: #006633;">getEngineName</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #0000ff;">&quot; &quot;</span>
             <span style="color: #339933;">+</span>factory.<span style="color: #006633;">getEngineVersion</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
             <span style="color: #339933;">+</span><span style="color: #0000ff;">&quot;(&quot;</span><span style="color: #339933;">+</span>factory.<span style="color: #006633;">getLanguageName</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #0000ff;">&quot; &quot;</span>
             <span style="color: #339933;">+</span>factory.<span style="color: #006633;">getLanguageVersion</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #0000ff;">&quot;)&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
         ScriptEngine engine <span style="color: #339933;">=</span>
            scriptManager.<span style="color: #006633;">getEngineByName</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;jruby&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
         engine.<span style="color: #006633;">put</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;params&quot;</span>, args<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
         <span style="color: #000000; font-weight: bold;">try</span>
         <span style="color: #009900;">&#123;</span>
            engine.<span style="color: #006633;">eval</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;print 'Parameters: '&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            engine.<span style="color: #006633;">eval</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;$params.each{|a| print a}&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
         <span style="color: #009900;">&#125;</span>
         <span style="color: #000000; font-weight: bold;">catch</span><span style="color: #009900;">&#40;</span>ScriptException ex<span style="color: #009900;">&#41;</span>
         <span style="color: #009900;">&#123;</span>
            ex.<span style="color: #006633;">printStackTrace</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">System</span>.<span style="color: #006633;">err</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
         <span style="color: #009900;">&#125;</span>
      <span style="color: #009900;">&#125;</span>
   <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

</li>
<li>In den Classpath alle Jars aus dem lib-Verzeichnis hinzufügen</li>
<li>Aufruf: <code>java ShowScriptEngines 1 2 3</code></li>
</ol>
<p>Folgender Ausgabe sollte erfolgen:<br />
<code><br />
Mozilla Rhino 1.6 release 2(ECMAScript 1.6)<br />
jruby 1.0(ruby 1.8.4)<br />
Parameters: 123</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.budichsmus.de/index.php/2007/06/13/die-scripting-api-vom-jdk-16-am-beispiel-von-jruby/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JRuby und ANT</title>
		<link>http://www.budichsmus.de/index.php/2007/06/12/jruby-und-ant/</link>
		<comments>http://www.budichsmus.de/index.php/2007/06/12/jruby-und-ant/#comments</comments>
		<pubDate>Tue, 12 Jun 2007 20:41:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.budichsmus.de/2007/06/12/jruby-und-ant/</guid>
		<description><![CDATA[Wer Scripting mit Ruby innerhalb von ANT mal ausprobieren möchte, hier eine kleine Anleitung:

Ant installieren
JRuby installieren
Folgende Jars aus JRUBY_HOME/lib nach ANT_HOME/lib kopieren:

asm-2.2.3.jar
asm-commons-2.2.3.jar
backport-util-concurrent.jar
bsf.jar
jruby.jar



Alternative kann man auch die Jars nach USER_HOME/.ant/lib kopieren. Dadurch muss man nicht immer nach jeder Ant-Installation die optionalen Libaries nachziehen. Mit folgenden Skript kann man die Installation testen (build.xml):

&#60;project name=&#34;test-ruby&#34; default=&#34;test&#34;&#62;
   [...]]]></description>
			<content:encoded><![CDATA[<p>Wer Scripting mit Ruby innerhalb von ANT mal ausprobieren möchte, hier eine kleine Anleitung:</p>
<ol>
<li><a href="http://ant.apache.org" title="Ant Homepage" target="_blank">Ant</a> installieren</li>
<li><a href="http://jruby.codehaus.org" title="JRuby Homepage" target="_blank">JRuby</a> installieren</li>
<li>Folgende Jars aus JRUBY_HOME/lib nach ANT_HOME/lib kopieren:
<ul>
<li>asm-2.2.3.jar</li>
<li>asm-commons-2.2.3.jar</li>
<li>backport-util-concurrent.jar</li>
<li>bsf.jar</li>
<li>jruby.jar</li>
</ul>
</li>
</ol>
<p>Alternative kann man auch die Jars nach USER_HOME/.ant/lib kopieren. Dadurch muss man nicht immer nach jeder Ant-Installation die optionalen Libaries nachziehen. Mit folgenden Skript kann man die Installation testen (build.xml):</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;project</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;test-ruby&quot;</span> <span style="color: #000066;">default</span>=<span style="color: #ff0000;">&quot;test&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;property</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;message&quot;</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;Hello world&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;target</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;test&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;script</span> <span style="color: #000066;">language</span>=<span style="color: #ff0000;">&quot;ruby&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
         print 'message is ',$message, &quot;\n&quot;
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/script<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/target<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/project<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.budichsmus.de/index.php/2007/06/12/jruby-und-ant/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JAXB und angepasste ObjectFactories</title>
		<link>http://www.budichsmus.de/index.php/2007/05/23/jaxb-und-angepasste-objectfactories/</link>
		<comments>http://www.budichsmus.de/index.php/2007/05/23/jaxb-und-angepasste-objectfactories/#comments</comments>
		<pubDate>Wed, 23 May 2007 19:19:47 +0000</pubDate>
		<dc:creator>Webmaster</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.budichsmus.de/?p=82</guid>
		<description><![CDATA[Nur mal so eingeschoben&#8230;.
Falls jemand zufällig ein XML-File parsen und dafür JAXB1 in der aktuellen Release von Java 6 benutzen möchte, sollte nicht wie ich mehrere Stunden sämtliche Tutorials im Netz durchforsten und ausprobieren, sondern gleich JAXB 2.1 installieren. Der Aufruf von:

JAXBContext jc = JAXBContext.newInstance&#40;&#34;generated&#34;&#41;;
Unmarshaller unmarshaller = jc.createUnmarshaller&#40;&#41;;
unmarshaller.setProperty&#40;&#34;com.sun.xml.bind.ObjectFactory&#34;,
        [...]]]></description>
			<content:encoded><![CDATA[<p>Nur mal so eingeschoben&#8230;.<br />
Falls jemand zufällig ein XML-File parsen und dafür JAXB<sup>1</sup> in der aktuellen Release von Java 6 benutzen möchte, sollte nicht wie ich mehrere Stunden sämtliche Tutorials im Netz durchforsten und ausprobieren, sondern gleich JAXB 2.1 installieren. Der Aufruf von:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">JAXBContext jc <span style="color: #339933;">=</span> JAXBContext.<span style="color: #006633;">newInstance</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;generated&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
Unmarshaller unmarshaller <span style="color: #339933;">=</span> jc.<span style="color: #006633;">createUnmarshaller</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
unmarshaller.<span style="color: #006633;">setProperty</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;com.sun.xml.bind.ObjectFactory&quot;</span>,
                         <span style="color: #000000; font-weight: bold;">new</span> MyCustomObjectFactory<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>erzeugt nämlich eine saftige Exception: <code>javax.xml.bind.PropertyException</code>.</p>
<p>Siehe Bug Jaxb 327</p>
<ol class="footnotes"><li id="footnote_0_82" class="footnote">Java Architecture for XML Binding</li></ol>]]></content:encoded>
			<wfw:commentRss>http://www.budichsmus.de/index.php/2007/05/23/jaxb-und-angepasste-objectfactories/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Parallel DML in Oracle</title>
		<link>http://www.budichsmus.de/index.php/2007/03/25/parallel-dml-in-oracle/</link>
		<comments>http://www.budichsmus.de/index.php/2007/03/25/parallel-dml-in-oracle/#comments</comments>
		<pubDate>Sun, 25 Mar 2007 20:15:36 +0000</pubDate>
		<dc:creator>Webmaster</dc:creator>
				<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://www.budichsmus.de/?p=80</guid>
		<description><![CDATA[Oracle kann DML-Operationen parallelisieren. Das funktioniert bei UPDATE und DELETE-Anweisungen nur, wenn die entsprechende Tabelle partitioniert ist. Einfache INSERT-Anweisungen können nicht parallelisiert werden. Nur &#8220;INSERT INTO tab SELECT * FROM tab2&#8220;-Anweisungen können auch ohne Partitionierung parallelisiert werden. Folgendes Beispiel zeigt das empfohlene Vorgehen:

ALTER SESSION ENABLE PARALLEL DML;
INSERT /*+ PARALLEL (emp_big,4,1) */ INTO emp_big SELECT * [...]]]></description>
			<content:encoded><![CDATA[<p>Oracle kann DML-Operationen parallelisieren. Das funktioniert bei UPDATE und DELETE-Anweisungen nur, wenn die entsprechende Tabelle partitioniert ist. Einfache INSERT-Anweisungen können nicht parallelisiert werden. Nur &#8220;<code>INSERT INTO tab SELECT * FROM tab2</code>&#8220;-Anweisungen können auch ohne Partitionierung parallelisiert werden. Folgendes Beispiel zeigt das empfohlene Vorgehen:</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">ALTER</span> SESSION ENABLE PARALLEL DML;
<span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #808080; font-style: italic;">/*+ PARALLEL (emp_big,4,1) */</span> <span style="color: #993333; font-weight: bold;">INTO</span> emp_big <span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*</span> <span style="color: #993333; font-weight: bold;">FROM</span> emp;
COMMIT;
<span style="color: #993333; font-weight: bold;">ALTER</span> SESSION DISABLE PARALLEL DML;</pre></div></div>

<p>Allerdings hat die Parallelisierung einen Nachteil. Leider erfordert die Aufspaltung in mehrere Worker-Threads einen gewissen Overhead, so dass man nicht immer mit dem PARALLEL-Hint schneller ist. Weiterhin funktionieren Parallel-Hints nur mit einer Enterprise Edition von Oracle.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.budichsmus.de/index.php/2007/03/25/parallel-dml-in-oracle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ein Linux nach meinem Geschmack&#8230;</title>
		<link>http://www.budichsmus.de/index.php/2007/02/23/ein-linux-nach-meinem-geschmack/</link>
		<comments>http://www.budichsmus.de/index.php/2007/02/23/ein-linux-nach-meinem-geschmack/#comments</comments>
		<pubDate>Fri, 23 Feb 2007 22:37:43 +0000</pubDate>
		<dc:creator>Webmaster</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://www.budichsmus.de/?p=79</guid>
		<description><![CDATA[Lang ist her, dass ich mich sehr intensiv mit Linux beschäftigt habe. Seit meinem Studium fehlt mir einfach die Zeit, die ewige Treibersuche, Grafikkartenkonfiguraiton, etc. durchzuführen. In der Regel ist es ja so, dass man eine relativ neue Hardware hat und man noch warten muss, bis Linux alle vorhanden Komponenten unterstützt. Nun ist es endlich [...]]]></description>
			<content:encoded><![CDATA[<p>Lang ist her, dass ich mich sehr intensiv mit Linux beschäftigt habe. Seit meinem Studium fehlt mir einfach die Zeit, die ewige Treibersuche, Grafikkartenkonfiguraiton, etc. durchzuführen. In der Regel ist es ja so, dass man eine relativ neue Hardware hat und man noch warten muss, bis Linux alle vorhanden Komponenten unterstützt. Nun ist es endlich so weit. &#8220;SuSE Linux 10.2&#8243; ist die Distribution meiner Wahl, die alle Komponenten meines Laptops direkt während der Installation erkannt und ohne murren korrekt konfiguriert hat. So macht Linux Spaß.</p>
<p>Weiterhin finde ich das &#8220;Start&#8221;-Menü hervorragend entworfen. Selten ein Linux gehabt, dass sich auch noch gut anfühlt.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.budichsmus.de/index.php/2007/02/23/ein-linux-nach-meinem-geschmack/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
