<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blog.trivadis.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Mathias Zarick&amp;#39;s Blog</title><link>http://blog.trivadis.com/blogs/mathiaszarick/default.aspx</link><description>Mathias is blogging here about Oracle and High Availability.</description><dc:language /><generator>CommunityServer 2007.1 (Build: 20917.1142)</generator><item><title>Recover from Lost Online Redo Logs with Data Guard</title><link>http://blog.trivadis.com/blogs/mathiaszarick/archive/2009/11/06/recover-from-lost-online-redo-logs-with-data-guard.aspx</link><pubDate>Fri, 06 Nov 2009 12:09:00 GMT</pubDate><guid isPermaLink="false">7f420732-9615-472e-9723-d9bd9f35b01c:66651</guid><dc:creator>Mathias Zarick</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blog.trivadis.com/blogs/mathiaszarick/rsscomments.aspx?PostID=66651</wfw:commentRss><comments>http://blog.trivadis.com/blogs/mathiaszarick/archive/2009/11/06/recover-from-lost-online-redo-logs-with-data-guard.aspx#comments</comments><description>&lt;p&gt;Hi there! &lt;br /&gt;&lt;/p&gt;&lt;p&gt;In my last Data Guard course this week I gave my participants the task to recover from a situation where they lost the online redo log files of the primary database. They had a Maximum Availability Setup with Synchronous Log Transfer. Of course due to this setup there was no loss of any data when performing the failover to the standby site. The participants were able to failover the right way. Some also used an observer for doing this. The harder task after the failover was the reinstatement of the former primary, the one with the lost logs. Reinstatement means using it again as standby instantly and to save the time to set it up again. To let this work you need to have flashback enabled before.&lt;br /&gt;&lt;br /&gt;In this blog entry I want to summarize the needed steps for the whole scenario.&lt;br /&gt;&lt;br /&gt;Environment looked like this:&lt;br /&gt;10.2.0.4.0, Linux x86_64, flashback is enabled on Primary and Standby&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Data Guard Configuration Overview:&lt;br /&gt;&lt;br /&gt;DGMGRL&amp;gt; connect sys@DG_SITE1&lt;br /&gt;Password:&lt;br /&gt;Connected.&lt;br /&gt;DGMGRL&amp;gt; show configuration&lt;br /&gt;&lt;br /&gt;Configuration&lt;br /&gt;&amp;nbsp; Name:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DG&lt;br /&gt;&amp;nbsp; Enabled:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; YES&lt;br /&gt;&amp;nbsp; Protection Mode:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MaxAvailability&lt;br /&gt;&amp;nbsp; Fast-Start Failover: DISABLED&lt;br /&gt;&amp;nbsp; Databases:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DG_SITE1 - Primary database&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DG_SITE2 - Physical standby database&lt;br /&gt;&lt;br /&gt;Current status for &amp;quot;DG&amp;quot;:&lt;br /&gt;SUCCESS&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;Step One – Lose the Online Logs at Primary&lt;/b&gt;&lt;br /&gt;Oh yeah that’s the funny part!&amp;nbsp;&lt;img src="http://blog.trivadis.com/emoticons/emotion-2.gif" alt="Big Smile" /&gt; &lt;/p&gt;&lt;p&gt;I will delete &amp;#39;em, they are important. But of course i made them &lt;b&gt;very &lt;/b&gt;important.&lt;img src="http://blog.trivadis.com/emoticons/emotion-1.gif" alt="Smile" /&gt; After a bunch of nonsense transactions all my three Online Log Groups are ACTIVE, which means they contain information not yet written down by Database Writer:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;SQL&amp;gt; select group#, sequence#, members, status from v$log;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; GROUP#&amp;nbsp; SEQUENCE#&amp;nbsp;&amp;nbsp;&amp;nbsp; MEMBERS STATUS&lt;br /&gt;---------- ---------- ---------- ----------------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 75&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 ACTIVE&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 76&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 ACTIVE&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 77&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 CURRENT&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Now please go away :-)&lt;br /&gt;&lt;br /&gt;&lt;i&gt;select &amp;#39;rm &amp;#39; || member from v$logfile f, v$log l&lt;br /&gt;where f.group# = l.group#;&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; select &amp;#39;rm &amp;#39; || member from v$logfile f, v$log l&lt;br /&gt;&amp;nbsp; 2&amp;nbsp; where f.group# = l.group#;&lt;br /&gt;&lt;br /&gt;&amp;#39;RM&amp;#39;||MEMBER&lt;br /&gt;-----------------------------------&lt;br /&gt;rm /u00/oradata/DG/redog1m1DG.dbf&lt;br /&gt;rm /u01/oradata/DG/redog1m2DG.dbf&lt;br /&gt;rm /u00/oradata/DG/redog2m1DG.dbf&lt;br /&gt;rm /u01/oradata/DG/redog2m2DG.dbf&lt;br /&gt;rm /u00/oradata/DG/redog3m1DG.dbf&lt;br /&gt;rm /u01/oradata/DG/redog3m2DG.dbf&lt;br /&gt;&lt;br /&gt;6 rows selected.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;After calling those 6 statements, I switched the logfiles, until the db was hanging. It was the third switch. The alert log shows a couple of such errors:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Fri Nov&amp;nbsp; 6 10:58:45 2009&lt;br /&gt;Errors in file /u00/app/oracle/admin/DG/bdump/dg_arc1_21328.trc:&lt;br /&gt;ORA-00313: open failed for members of log group 3 of thread 1&lt;br /&gt;ORA-00312: online log 3 thread 1: &amp;#39;/u01/oradata/DG/redog3m2DG.dbf&amp;#39;&lt;br /&gt;ORA-27037: unable to obtain file status&lt;br /&gt;Linux-x86_64 Error: 2: No such file or directory&lt;br /&gt;Additional information: 3&lt;br /&gt;ORA-00312: online log 3 thread 1: &amp;#39;/u00/oradata/DG/redog3m1DG.dbf&amp;#39;&lt;br /&gt;ORA-27037: unable to obtain file status&lt;br /&gt;Linux-x86_64 Error: 2: No such file or directory&lt;br /&gt;Additional information: 3&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step Two – Failover&lt;/b&gt;&lt;br /&gt;Okay now it is time to let our users work again on our standby site. So lets activate the standby.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;DGMGRL&amp;gt; connect sys@DG_SITE2&lt;br /&gt;Password:&lt;br /&gt;Connected.&lt;br /&gt;DGMGRL&amp;gt; failover to &amp;#39;DG_SITE2&amp;#39;&lt;br /&gt;Performing failover NOW, please wait...&lt;br /&gt;Failover succeeded, new primary is &amp;quot;DG_SITE2&amp;quot;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;I also shut down old primary with &amp;quot;&lt;i&gt;shutdown abort&lt;/i&gt;&amp;quot;.&lt;br /&gt;&lt;br /&gt;That’s all. The users are happy and can connect to the new primary database. No data loss occurred due to the synchronous setup.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step Three – Rebuild the Redundancy with Reinstatement&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The Data Guard Configuration looks now like this:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;DGMGRL&amp;gt; connect sys@DG_SITE2&lt;br /&gt;Password:&lt;br /&gt;Connected.&lt;br /&gt;DGMGRL&amp;gt; show configuration;&lt;br /&gt;&lt;br /&gt;Configuration&lt;br /&gt;&amp;nbsp; Name:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DG&lt;br /&gt;&amp;nbsp; Enabled:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; YES&lt;br /&gt;&amp;nbsp; Protection Mode:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MaxPerformance&lt;br /&gt;&amp;nbsp; Fast-Start Failover: DISABLED&lt;br /&gt;&amp;nbsp; Databases:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DG_SITE1 - Physical standby database (disabled)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DG_SITE2 - Primary database&lt;br /&gt;&lt;br /&gt;Current status for &amp;quot;DG&amp;quot;:&lt;br /&gt;SUCCESS&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Note:&lt;/b&gt; We are automatically in Max Performance Mode due to the fact that we are on a single instance solution for the moment.&lt;br /&gt;&lt;br /&gt;Next thing is to restart the former primary in mount mode to get it reinstated. After this the broker says how to proceed:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;DGMGRL&amp;gt; connect sys@DG_SITE1&lt;br /&gt;Password:&lt;br /&gt;Connected.&lt;br /&gt;DGMGRL&amp;gt; show configuration;&lt;br /&gt;Error: ORA-16795: database resource guard detects that database re-creation is required&lt;br /&gt;&lt;br /&gt;Configuration details cannot be determined by DGMGRL&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;The broker demands the reinstatement of DG_SITE1, which would do the observer automatically. Let’s do this now:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;DGMGRL&amp;gt; connect sys@DG_SITE2&lt;br /&gt;Password:&lt;br /&gt;Connected.&lt;br /&gt;DGMGRL&amp;gt; reinstate database &amp;#39;DG_SITE1&amp;#39;;&lt;br /&gt;Reinstating database &amp;quot;DG_SITE1&amp;quot;, please wait...&lt;br /&gt;Error: ORA-16653: failed to reinstate database&lt;br /&gt;&lt;br /&gt;Failed.&lt;br /&gt;Reinstatement of database &amp;quot;DG_SITE1&amp;quot; failed&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;The reinstatement failed, let&amp;#39;s have a look at the alert log:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;FLASHBACK DATABASE TO SCN 335290&lt;br /&gt;Fri Nov&amp;nbsp; 6 11:20:45 2009&lt;br /&gt;Errors in file /u00/app/oracle/admin/DG/bdump/dg_rsm0_21445.trc:&lt;br /&gt;ORA-00313: open failed for members of log group 1 of thread 1&lt;br /&gt;ORA-00312: online log 1 thread 1: &amp;#39;/u01/oradata/DG/redog1m2DG.dbf&amp;#39;&lt;br /&gt;ORA-27037: unable to obtain file status&lt;br /&gt;Linux-x86_64 Error: 2: No such file or directory&lt;br /&gt;Additional information: 3&lt;br /&gt;ORA-00312: online log 1 thread 1: &amp;#39;/u00/oradata/DG/redog1m1DG.dbf&amp;#39;&lt;br /&gt;ORA-27037: unable to obtain file status&lt;br /&gt;Linux-x86_64 Error: 2: No such file or directory&lt;br /&gt;Additional information: 3&lt;br /&gt;Fri Nov&amp;nbsp; 6 11:20:45 2009&lt;br /&gt;Errors in file /u00/app/oracle/admin/DG/bdump/dg_rsm0_21445.trc:&lt;br /&gt;ORA-00313: open failed for members of log group 2 of thread 1&lt;br /&gt;ORA-00312: online log 2 thread 1: &amp;#39;/u01/oradata/DG/redog2m2DG.dbf&amp;#39;&lt;br /&gt;ORA-27037: unable to obtain file status&lt;br /&gt;Linux-x86_64 Error: 2: No such file or directory&lt;br /&gt;Additional information: 3&lt;br /&gt;ORA-00312: online log 2 thread 1: &amp;#39;/u00/oradata/DG/redog2m1DG.dbf&amp;#39;&lt;br /&gt;ORA-27037: unable to obtain file status&lt;br /&gt;Linux-x86_64 Error: 2: No such file or directory&lt;br /&gt;Additional information: 3&lt;br /&gt;Fri Nov&amp;nbsp; 6 11:20:45 2009&lt;br /&gt;Errors in file /u00/app/oracle/admin/DG/bdump/dg_rsm0_21445.trc:&lt;br /&gt;ORA-00313: open failed for members of log group 3 of thread 1&lt;br /&gt;ORA-00312: online log 3 thread 1: &amp;#39;/u01/oradata/DG/redog3m2DG.dbf&amp;#39;&lt;br /&gt;ORA-27037: unable to obtain file status&lt;br /&gt;Linux-x86_64 Error: 2: No such file or directory&lt;br /&gt;Additional information: 3&lt;br /&gt;ORA-00312: online log 3 thread 1: &amp;#39;/u00/oradata/DG/redog3m1DG.dbf&amp;#39;&lt;br /&gt;ORA-27037: unable to obtain file status&lt;br /&gt;Linux-x86_64 Error: 2: No such file or directory&lt;br /&gt;Additional information: 3&lt;br /&gt;ORA-38754 signalled during: FLASHBACK DATABASE TO SCN 335290...&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;The Log Message from &lt;i&gt;drcDG.log&lt;/i&gt; which is located in the same directory is even more frustating:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;DG 2009-11-06-11:20:45&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 2 0 Physical RSM: Reinstatement failed. Flashback database to SCN 335290 fails. If there is insufficient flashback log to flashback this database, reinstatement will never succeed. You will have to do a full physical standby re-instantiation of this database.&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;Okay flashback operation which was called by the reinstatement failed due to the missing logs.&lt;br /&gt;&lt;br /&gt;Hmm, let&amp;#39;s clear the logs:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;SQL&amp;gt; alter database clear unarchived logfile group 1;&lt;br /&gt;&lt;br /&gt;Database altered.&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; alter database clear unarchived logfile group 2;&lt;br /&gt;alter database clear unarchived logfile group 2&lt;br /&gt;*&lt;br /&gt;ERROR at line 1:&lt;br /&gt;ORA-01624: log 2 needed for crash recovery of instance DG (thread 1)&lt;br /&gt;ORA-00312: online log 2 thread 1: &amp;#39;/u00/oradata/DG/redog2m1DG.dbf&amp;#39;&lt;br /&gt;ORA-00312: online log 2 thread 1: &amp;#39;/u01/oradata/DG/redog2m2DG.dbf&amp;#39;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; alter database clear unarchived logfile group 3;&lt;br /&gt;&lt;br /&gt;Database altered.&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;Okay I could not clear logfile group 2 because it is know from controlfile that in any case it is needed to recover from it. And that&amp;#39;s why also the flashback would still fail. So we need this redo log information. Hey, we should find it at our new primary, right!? Let&amp;#39;s first query what we need:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;SQL&amp;gt; select first_change# from v$log where group#=2;&lt;br /&gt;&lt;br /&gt;FIRST_CHANGE#&lt;br /&gt;-------------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 335153&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;On the new primary we search for this scn in the archived redo logs after a log switch:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;SQL&amp;gt; select name from v$archived_log where FIRST_CHANGE#&amp;gt;=335153;&lt;br /&gt;&lt;br /&gt;NAME&lt;br /&gt;-----------------------------------------------------&lt;br /&gt;/u00/app/oracle/admin/DG/arch/DG_1_79_702056159.arc&lt;br /&gt;/u00/app/oracle/admin/DG/arch/DG_1_1_702212594.arc&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;So I copy those 2 logs from 2 different incarnations (cause of the resetlogs of the failover) from the new primary to the former primary and register it there with RMAN:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;RMAN&amp;gt; catalog start with &amp;#39;/u00/app/oracle/admin/DG/arch&amp;#39;;&lt;br /&gt;&lt;br /&gt;using target database control file instead of recovery catalog&lt;br /&gt;searching for all files that match the pattern /u00/app/oracle/admin/DG/arch&lt;br /&gt;&lt;br /&gt;List of Files Unknown to the Database&lt;br /&gt;=====================================&lt;br /&gt;File Name: /u00/app/oracle/admin/DG/arch/DG_1_1_702212594.arc&lt;br /&gt;File Name: /u00/app/oracle/admin/DG/arch/DG_1_79_702056159.arc&lt;br /&gt;&lt;br /&gt;Do you really want to catalog the above files (enter YES or NO)? yes&lt;br /&gt;cataloging files...&lt;br /&gt;cataloging done&lt;br /&gt;&lt;br /&gt;List of Cataloged Files&lt;br /&gt;=======================&lt;br /&gt;File Name: /u00/app/oracle/admin/DG/arch/DG_1_1_702212594.arc&lt;br /&gt;File Name: /u00/app/oracle/admin/DG/arch/DG_1_79_702056159.arc&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Now I tried the flashback on the former primary again, I used the same statement which I found in the alert log before:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;SQL&amp;gt; FLASHBACK DATABASE TO SCN 335290&lt;br /&gt;&amp;nbsp; 2&amp;nbsp; ;&lt;br /&gt;FLASHBACK DATABASE TO SCN 335290&lt;br /&gt;*&lt;br /&gt;ERROR at line 1:&lt;br /&gt;ORA-38754: FLASHBACK DATABASE not started; required redo log is not available&lt;br /&gt;ORA-38761: redo log sequence 78 in thread 1, incarnation 6 could not be accessed&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;Nope, we need obviously more logs. So lets get all which are missing in comparison with the new primary:&lt;br /&gt;In my case this were the logs &lt;i&gt;DG_1_77_702056159.arc&lt;/i&gt; and &lt;i&gt;DG_1_78_702056159.arc&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;After registering them with the same method like above, we can try the flashback again:&lt;/p&gt;&lt;p&gt;&lt;i&gt;SQL&amp;gt; FLASHBACK DATABASE TO SCN 335290;&lt;br /&gt;FLASHBACK DATABASE TO SCN 335290&lt;br /&gt;*&lt;br /&gt;ERROR at line 1:&lt;br /&gt;ORA-38770: FLASHBACK DATABASE failed during recovery.&lt;br /&gt;ORA-00283: recovery session canceled due to errors&lt;br /&gt;ORA-00313: open failed for members of log group 2 of thread 1&lt;br /&gt;ORA-00312: online log 2 thread 1: &amp;#39;/u01/oradata/DG/redog2m2DG.dbf&amp;#39;&lt;br /&gt;ORA-27037: unable to obtain file status&lt;br /&gt;Linux-x86_64 Error: 2: No such file or directory&lt;br /&gt;Additional information: 3&lt;br /&gt;ORA-00312: online log 2 thread 1: &amp;#39;/u00/oradata/DG/redog2m1DG.dbf&amp;#39;&lt;br /&gt;ORA-27037: unable to obtain file status&lt;br /&gt;Linux-x86_64 Error: 2: No such file or directory&lt;br /&gt;Additional information: 3&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Ooops I forgot the clearing of logfile group 2, let&amp;#39;s do this now and retry then:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;SQL&amp;gt; alter database clear unarchived logfile group 2;&lt;br /&gt;&lt;br /&gt;Database altered.&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; FLASHBACK DATABASE TO SCN 335290;&lt;br /&gt;&lt;br /&gt;Flashback complete.&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;Cool, now we can reissue the reinstatement:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;DGMGRL&amp;gt; connect sys@DG_SITE2&lt;br /&gt;Password:&lt;br /&gt;Connected.&lt;br /&gt;DGMGRL&amp;gt; reinstate database &amp;#39;DG_SITE1&amp;#39;;&lt;br /&gt;Reinstating database &amp;quot;DG_SITE1&amp;quot;, please wait...&lt;br /&gt;Operation requires shutdown of instance &amp;quot;DG&amp;quot; on database &amp;quot;DG_SITE1&amp;quot;&lt;br /&gt;Shutting down instance &amp;quot;DG&amp;quot;...&lt;br /&gt;ORA-01109: database not open&lt;br /&gt;&lt;br /&gt;Database dismounted.&lt;br /&gt;ORACLE instance shut down.&lt;br /&gt;Operation requires startup of instance &amp;quot;DG&amp;quot; on database &amp;quot;DG_SITE1&amp;quot;&lt;br /&gt;Starting instance &amp;quot;DG&amp;quot;...&lt;br /&gt;ORACLE instance started.&lt;br /&gt;Database mounted.&lt;br /&gt;Continuing to reinstate database &amp;quot;DG_SITE1&amp;quot; ...&lt;br /&gt;Reinstatement of database &amp;quot;DG_SITE1&amp;quot; succeeded&lt;br /&gt;DGMGRL&amp;gt; show configuration&lt;br /&gt;&lt;br /&gt;Configuration&lt;br /&gt;&amp;nbsp; Name:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DG&lt;br /&gt;&amp;nbsp; Enabled:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; YES&lt;br /&gt;&amp;nbsp; Protection Mode:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MaxPerformance&lt;br /&gt;&amp;nbsp; Fast-Start Failover: DISABLED&lt;br /&gt;&amp;nbsp; Databases:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DG_SITE1 - Physical standby database&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DG_SITE2 - Primary database&lt;br /&gt;&lt;br /&gt;Current status for &amp;quot;DG&amp;quot;:&lt;br /&gt;SUCCESS&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;Step Four – Check the Setup with a Switchover&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;Now we come to the end by reenabling Maximum Availability. Then we check everything by performing a switchover.&lt;/p&gt;&lt;p&gt;&lt;i&gt;DGMGRL&amp;gt; edit configuration set protection mode as maxavailability;&lt;br /&gt;Succeeded.&lt;br /&gt;DGMGRL&amp;gt; show configuration&lt;br /&gt;&lt;br /&gt;Configuration&lt;br /&gt;&amp;nbsp; Name:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DG&lt;br /&gt;&amp;nbsp; Enabled:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; YES&lt;br /&gt;&amp;nbsp; Protection Mode:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MaxAvailability&lt;br /&gt;&amp;nbsp; Fast-Start Failover: DISABLED&lt;br /&gt;&amp;nbsp; Databases:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DG_SITE1 - Physical standby database&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DG_SITE2 - Primary database&lt;br /&gt;&lt;br /&gt;Current status for &amp;quot;DG&amp;quot;:&lt;br /&gt;SUCCESS&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;I made some log switches at the new primary and checked the reception and recovery at the new standby (former primary).&lt;br /&gt;&lt;br /&gt;&lt;i&gt;SQL&amp;gt; select name, applied from v$archived_log&lt;br /&gt;&amp;nbsp; 2&amp;nbsp; where first_change# &amp;gt;=335153 order by first_change#;&lt;br /&gt;&lt;br /&gt;NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; APP&lt;br /&gt;------------------------------------------------------- ---&lt;br /&gt;/u00/app/oracle/admin/DG/arch/DG_1_79_702056159.arc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NO&lt;br /&gt;/u00/app/oracle/admin/DG/arch/DG_1_79_702056159.arc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; YES&lt;br /&gt;/u00/app/oracle/admin/DG/arch/DG_1_1_702212594.arc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NO&lt;br /&gt;/u00/app/oracle/admin/DG/arch/DG_1_2_702212594.arc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NO&lt;br /&gt;/u00/app/oracle/admin/DG/arch/DG_1_3_702212594.arc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NO&lt;br /&gt;/u00/app/oracle/admin/DG/arch/DG_1_4_702212594.arc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NO&lt;br /&gt;/u00/app/oracle/admin/DG/arch/DG_1_5_702212594.arc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NO&lt;br /&gt;/u00/app/oracle/admin/DG/arch/DG_1_6_702212594.arc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NO&lt;br /&gt;/u00/app/oracle/admin/DG/arch/DG_1_7_702212594.arc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NO&lt;br /&gt;&lt;br /&gt;9 rows selected.&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;It seems that the standby receives the logs but does not recover in our new incarnation.. Hmm.&lt;br /&gt;Alert Log says:&lt;i&gt;&lt;/i&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;Fri Nov&amp;nbsp; 6 11:54:26 2009&lt;br /&gt;Managed Standby Recovery starting Real Time Apply&lt;br /&gt;&amp;nbsp;parallel recovery started with 2 processes&lt;br /&gt;Fri Nov&amp;nbsp; 6 11:54:26 2009&lt;br /&gt;Waiting for all non-current ORLs to be archived...&lt;br /&gt;Media Recovery Log /u00/app/oracle/admin/DG/arch/DG_1_79_702056159.arc&lt;br /&gt;Identified End-Of-Redo for thread 1 sequence 79&lt;br /&gt;Fri Nov&amp;nbsp; 6 11:54:26 2009&lt;br /&gt;Incomplete Recovery applied until change 335292&lt;br /&gt;MRP0: Background Media Recovery applied all available redo. Recovery will be restarted once new redo branch is registered&lt;br /&gt;Fri Nov&amp;nbsp; 6 11:54:26 2009&lt;br /&gt;Errors in file /u00/app/oracle/admin/DG/bdump/dg_mrp0_21557.trc:&lt;br /&gt;ORA-19906: recovery target incarnation changed during recovery&lt;br /&gt;Managed Standby Recovery not using Real Time Apply&lt;br /&gt;Recovery interrupted!&lt;br /&gt;Fri Nov&amp;nbsp; 6 11:54:27 2009&lt;br /&gt;Errors in file /u00/app/oracle/admin/DG/bdump/dg_mrp0_21557.trc:&lt;br /&gt;ORA-19906: recovery target incarnation changed during recovery&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;Let&amp;#39;s fix this by creating a new standby controlfile. At the new primary:&lt;/p&gt;&lt;p&gt;&lt;i&gt;SQL&amp;gt; alter database create standby controlfile as &amp;#39;/tmp/stbyctlDG.ctl&amp;#39;;&lt;br /&gt;&lt;br /&gt;Database altered.&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;I shut down (immediate) the new standby, copied the standby controlfile which I created right now to the right locations and started it again in mount mode.&lt;br /&gt;Alert Log:&lt;/p&gt;&lt;p&gt;&lt;i&gt;Fetching gap sequence in thread 1, gap sequence 1-7&lt;br /&gt;Fri Nov&amp;nbsp; 6 12:02:28 2009&lt;br /&gt;RFS[3]: Archived Log: &amp;#39;/u00/app/oracle/admin/DG/arch/DG_1_1_702212594.arc&amp;#39;&lt;br /&gt;RFS[3]: Archived Log: &amp;#39;/u00/app/oracle/admin/DG/arch/DG_1_2_702212594.arc&amp;#39;&lt;br /&gt;RFS[3]: Archived Log: &amp;#39;/u00/app/oracle/admin/DG/arch/DG_1_3_702212594.arc&amp;#39;&lt;br /&gt;RFS[3]: Archived Log: &amp;#39;/u00/app/oracle/admin/DG/arch/DG_1_4_702212594.arc&amp;#39;&lt;br /&gt;RFS[3]: Archived Log: &amp;#39;/u00/app/oracle/admin/DG/arch/DG_1_5_702212594.arc&amp;#39;&lt;br /&gt;RFS[3]: Archived Log: &amp;#39;/u00/app/oracle/admin/DG/arch/DG_1_6_702212594.arc&amp;#39;&lt;br /&gt;RFS[3]: Archived Log: &amp;#39;/u00/app/oracle/admin/DG/arch/DG_1_7_702212594.arc&amp;#39;&lt;br /&gt;Fri Nov&amp;nbsp; 6 12:02:30 2009&lt;br /&gt;Primary database is in MAXIMUM AVAILABILITY mode&lt;br /&gt;Changing standby controlfile to RESYNCHRONIZATION level&lt;br /&gt;RFS[1]: Successfully opened standby log 22: &amp;#39;/u00/oradata/DG/redog22m1DG.dbf&amp;#39;&lt;br /&gt;Fri Nov&amp;nbsp; 6 12:02:58 2009&lt;br /&gt;Media Recovery Log /u00/app/oracle/admin/DG/arch/DG_1_1_702212594.arc&lt;br /&gt;Media Recovery Log /u00/app/oracle/admin/DG/arch/DG_1_2_702212594.arc&lt;br /&gt;Media Recovery Log /u00/app/oracle/admin/DG/arch/DG_1_3_702212594.arc&lt;br /&gt;Media Recovery Log /u00/app/oracle/admin/DG/arch/DG_1_4_702212594.arc&lt;br /&gt;Media Recovery Log /u00/app/oracle/admin/DG/arch/DG_1_5_702212594.arc&lt;br /&gt;Media Recovery Log /u00/app/oracle/admin/DG/arch/DG_1_6_702212594.arc&lt;br /&gt;Media Recovery Log /u00/app/oracle/admin/DG/arch/DG_1_7_702212594.arc&lt;br /&gt;Media Recovery Log /u00/app/oracle/admin/DG/arch/DG_1_8_702212594.arc&lt;br /&gt;Media Recovery Log /u00/app/oracle/admin/DG/arch/DG_1_9_702212594.arc&lt;br /&gt;Media Recovery Waiting for thread 1 sequence 10 (in transit)&lt;br /&gt;Fri Nov&amp;nbsp; 6 12:02:59 2009&lt;br /&gt;Recovery of Online Redo Log: Thread 1 Group 22 Seq 10 Reading mem 0&lt;br /&gt;&amp;nbsp; Mem# 0: /u00/oradata/DG/redog22m1DG.dbf&lt;br /&gt;&amp;nbsp; Mem# 1: /u01/oradata/DG/redog22m2DG.dbf&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;Same Query like above:&lt;br /&gt;&lt;i&gt;SQL&amp;gt; select name, applied from v$archived_log&lt;br /&gt;&amp;nbsp; 2&amp;nbsp; where first_change# &amp;gt;=335153 order by first_change#;&lt;br /&gt;&lt;br /&gt;NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; APP&lt;br /&gt;------------------------------------------------------- ---&lt;br /&gt;/u00/app/oracle/admin/DG/arch/DG_1_1_702212594.arc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; YES&lt;br /&gt;/u00/app/oracle/admin/DG/arch/DG_1_2_702212594.arc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; YES&lt;br /&gt;/u00/app/oracle/admin/DG/arch/DG_1_3_702212594.arc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; YES&lt;br /&gt;/u00/app/oracle/admin/DG/arch/DG_1_4_702212594.arc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; YES&lt;br /&gt;/u00/app/oracle/admin/DG/arch/DG_1_5_702212594.arc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; YES&lt;br /&gt;/u00/app/oracle/admin/DG/arch/DG_1_6_702212594.arc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; YES&lt;br /&gt;/u00/app/oracle/admin/DG/arch/DG_1_7_702212594.arc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; YES&lt;br /&gt;/u00/app/oracle/admin/DG/arch/DG_1_8_702212594.arc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; YES&lt;br /&gt;/u00/app/oracle/admin/DG/arch/DG_1_9_702212594.arc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; YES&lt;br /&gt;/u00/app/oracle/admin/DG/arch/DG_1_10_702212594.arc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; YES&lt;br /&gt;&lt;br /&gt;10 rows selected.&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;What is with the flashback? Is it still switched on on my current standby database?&lt;br /&gt;&lt;i&gt;SQL&amp;gt; select flashback_on from v$database;&lt;br /&gt;&lt;br /&gt;FLASHBACK_ON&lt;br /&gt;------------------&lt;br /&gt;NO&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Okay, we fix this quickly:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;DGMGRL&amp;gt; connect sys@DG_SITE1&lt;br /&gt;Password:&lt;br /&gt;Connected.&lt;br /&gt;DGMGRL&amp;gt; edit database &amp;#39;DG_SITE1&amp;#39; set state=&amp;#39;LOG-APPLY-OFF&amp;#39;;&lt;br /&gt;Succeeded.&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; alter database flashback on;&lt;br /&gt;&lt;br /&gt;Database altered.&lt;br /&gt;&lt;br /&gt;DGMGRL&amp;gt; connect sys@DG_SITE1&lt;br /&gt;Password:&lt;br /&gt;Connected.&lt;br /&gt;DGMGRL&amp;gt; edit database &amp;#39;DG_SITE1&amp;#39; set state=&amp;#39;ONLINE&amp;#39;;&lt;br /&gt;Succeeded.&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;Yes - now I&amp;#39;m happy and ready for the switchover which again changes the roles. But this time gracefully. It switches back the &lt;i&gt;DG_SITE1&lt;/i&gt; as a primary and &lt;i&gt;DG_SITE2&lt;/i&gt; as a standby database.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;DGMGRL&amp;gt; switchover to &amp;#39;DG_SITE1&amp;#39;;&lt;br /&gt;Performing switchover NOW, please wait...&lt;br /&gt;Operation requires shutdown of instance &amp;quot;DG&amp;quot; on database &amp;quot;DG_SITE2&amp;quot;&lt;br /&gt;Shutting down instance &amp;quot;DG&amp;quot;...&lt;br /&gt;ORA-01109: database not open&lt;br /&gt;&lt;br /&gt;Database dismounted.&lt;br /&gt;ORACLE instance shut down.&lt;br /&gt;Operation requires shutdown of instance &amp;quot;DG&amp;quot; on database &amp;quot;DG_SITE1&amp;quot;&lt;br /&gt;Shutting down instance &amp;quot;DG&amp;quot;...&lt;br /&gt;ORA-01109: database not open&lt;br /&gt;&lt;br /&gt;Database dismounted.&lt;br /&gt;ORACLE instance shut down.&lt;br /&gt;Operation requires startup of instance &amp;quot;DG&amp;quot; on database &amp;quot;DG_SITE2&amp;quot;&lt;br /&gt;Starting instance &amp;quot;DG&amp;quot;...&lt;br /&gt;ORACLE instance started.&lt;br /&gt;Database mounted.&lt;br /&gt;Operation requires startup of instance &amp;quot;DG&amp;quot; on database &amp;quot;DG_SITE1&amp;quot;&lt;br /&gt;Starting instance &amp;quot;DG&amp;quot;...&lt;br /&gt;ORACLE instance started.&lt;br /&gt;Database mounted.&lt;br /&gt;Switchover succeeded, new primary is &amp;quot;DG_SITE1&amp;quot;&lt;br /&gt;DGMGRL&amp;gt; show configuration;&lt;br /&gt;&lt;br /&gt;Configuration&lt;br /&gt;&amp;nbsp; Name:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DG&lt;br /&gt;&amp;nbsp; Enabled:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; YES&lt;br /&gt;&amp;nbsp; Protection Mode:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MaxAvailability&lt;br /&gt;&amp;nbsp; Fast-Start Failover: DISABLED&lt;br /&gt;&amp;nbsp; Databases:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DG_SITE1 - Primary database&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DG_SITE2 - Physical standby database&lt;br /&gt;&lt;br /&gt;Current status for &amp;quot;DG&amp;quot;:&lt;br /&gt;SUCCESS&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;Everything is fine now again. And we saved the time for resetting up the standby from a backup or a clone of the new primary, which could have been essential if you think about TB databases.&lt;br /&gt;&lt;br /&gt;Dear Reader!&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Never lose your online redo log files! Never ever lose your online redo log files!&lt;/span&gt; Have fun with the big repertoire of possibilties in recovery scenarios with Data Guard!&lt;br /&gt;&lt;br /&gt;Mathias&lt;br /&gt;&lt;/p&gt;&lt;img src="http://blog.trivadis.com/aggbug.aspx?PostID=66651" width="1" height="1"&gt;</description><category domain="http://blog.trivadis.com/blogs/mathiaszarick/archive/tags/Oracle/default.aspx">Oracle</category><category domain="http://blog.trivadis.com/blogs/mathiaszarick/archive/tags/Data+Guard/default.aspx">Data Guard</category><category domain="http://blog.trivadis.com/blogs/mathiaszarick/archive/tags/Switchover/default.aspx">Switchover</category><category domain="http://blog.trivadis.com/blogs/mathiaszarick/archive/tags/Failover/default.aspx">Failover</category><category domain="http://blog.trivadis.com/blogs/mathiaszarick/archive/tags/Reinstate/default.aspx">Reinstate</category></item><item><title>Does Change Data Capture need Partitioning?</title><link>http://blog.trivadis.com/blogs/mathiaszarick/archive/2009/06/17/does-change-data-capture-need-partitioning.aspx</link><pubDate>Wed, 17 Jun 2009 12:38:00 GMT</pubDate><guid isPermaLink="false">7f420732-9615-472e-9723-d9bd9f35b01c:38103</guid><dc:creator>Mathias Zarick</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blog.trivadis.com/blogs/mathiaszarick/rsscomments.aspx?PostID=38103</wfw:commentRss><comments>http://blog.trivadis.com/blogs/mathiaszarick/archive/2009/06/17/does-change-data-capture-need-partitioning.aspx#comments</comments><description>&lt;p&gt;In last days I was confrontated with a Change Data Capture (CDC) Setup.&lt;br /&gt;CDC is a nice feature which is based on Oracle Streams.&lt;br /&gt;With CDC it is possible to track all the changes on a source table in a change table.&lt;br /&gt;This information can be used by ETL processes for loading your data warehouses.&lt;/p&gt;&lt;p&gt;So it is obviously a data warehouse feature. Probably that is the reason&lt;br /&gt;Oracle put it in the Data Warehousing Guide (Chapter 16). &lt;img src="http://blog.trivadis.com/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;br /&gt;More info on CDC can be found here.&lt;br /&gt;http://download.oracle.com/docs/cd/B28359_01/server.111/b28313/cdc.htm#i1028295&lt;br /&gt;http://www.oracle.com/technology/products/bi/db/10g/pdf/twp_cdc_cookbook_0206.pdf &lt;br /&gt;&lt;/p&gt;&lt;p&gt;One prerequisite is that you have Java / JServer loaded into your database at&lt;br /&gt;least at the sites where you have publishers and subscribers.&lt;br /&gt;So if you use downstream capturing with autolog mode, you will need it&lt;br /&gt;at the target site with the change tables.&lt;br /&gt;JServer comes with standard dbca setups and costs no extra licence.&lt;br /&gt;&lt;br /&gt;To check whether Java is installed properly have a look at dba_registry.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;select status,version,comp_name&lt;br /&gt;from dba_registry&lt;br /&gt;where upper(comp_name) like &amp;#39;%JAVA%&amp;#39;;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;To install it later if it is missing use&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;connect / as sysdba&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;set feedback on termout off&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;spool install_java.log&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; @?/javavm/install/initjvm.sql&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; @?/xdk/admin/initxml.sql&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; @?/xdk/admin/xmlja.sql&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; @?/rdbms/admin/catjava.sql&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; @?/rdbms/admin/catexf.sql&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;spool off&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;CDC is installed through the script &lt;span style="font-style:italic;"&gt;initcdc.sql&lt;/span&gt; from &lt;span style="font-style:italic;"&gt;OH/rdbms/admin&lt;/span&gt;&lt;br /&gt;which is called by &lt;span style="font-style:italic;"&gt;catjava.sql&lt;/span&gt;. This loads &lt;span style="font-style:italic;"&gt;CDC.jar&lt;/span&gt; from &lt;span style="font-style:italic;"&gt;OH/rdbms/jlib&lt;/span&gt;,&lt;br /&gt;installs 4 database triggers in sys schema which are named&lt;br /&gt;&lt;span style="font-style:italic;"&gt;cdc_alter_ctable_before, cdc_create_ctable_after,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;cdc_create_ctable_before, cdc_drop_ctable_before&lt;/span&gt;.&lt;br /&gt;These triggers are created disabled, and are enabled implicitly through&lt;br /&gt;a CDC setup.&lt;br /&gt;&lt;br /&gt;If you haven&amp;#39;t installed Java you will experience following error, when&lt;br /&gt;you try to create a change table.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;ORA-29538: Java not installed&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;ORA-06512: at &amp;quot;SYS.DBMS_CDC_PUBLISH&amp;quot;, line 611&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;ORA-06512: at line 2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Okay ... lets go to some questions regarding Oracle products and licenses,&lt;br /&gt;as theses are of importance nowadays.&lt;br /&gt;Synchronous CDC (does this really anybody need out there?) works also with&lt;br /&gt;Standard Edition, Partitioning is not available for Standard Edition,&lt;br /&gt;so change tables are not partitioned ones there.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Connected to:&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;Oracle Database 11g Release 11.1.0.7.0 - Production&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; rem NOTICE! banner does not contain the word &amp;quot;Enterprise&amp;quot; so its Standard Edition!&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; rem&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; rem test user is scott&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; grant dba to scott identified by tiger;&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;Grant succeeded.&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; connect scott/tiger&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;Connected.&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; create table cdc_test ( a number, b date, c varchar2(20) );&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;Table created.&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; begin&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp; DBMS_CDC_PUBLISH.CREATE_CHANGE_TABLE(&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; owner&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;SCOTT&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; change_table_name =&amp;gt; &amp;#39;CDC_TEST_CT&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; change_set_name&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;SYNC_SET&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; source_schema&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;SCOTT&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; source_table&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;CDC_TEST&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; column_type_list&amp;nbsp; =&amp;gt; &amp;#39;A NUMBER,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B DATE,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C VARCHAR2(20)&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; capture_values&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;BOTH&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rs_id&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;Y&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;13&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row_id&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;Y&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; user_id&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;Y&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;15&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timestamp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;Y&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;16&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; object_id&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;N&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;17&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; source_colmap&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;Y&amp;#39;, -- only allowed in sync mode&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;18&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; target_colmap&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;Y&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;19&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; options_string&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;PCTFREE 0&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;20&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ddl_markers&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;N&amp;#39; -- new as of 11g but must be &amp;#39;N&amp;#39; in sync env&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;21&amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;22&amp;nbsp; end;&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;23&amp;nbsp; /&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;PL/SQL procedure successfully completed.&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; rem lets have a look at the table&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; set long 10000 pages 30&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; select dbms_metadata.get_ddl(&amp;#39;TABLE&amp;#39;,&amp;#39;CDC_TEST_CT&amp;#39;) from dual;&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;DBMS_METADATA.GET_DDL(&amp;#39;TABLE&amp;#39;,&amp;#39;CDC_TEST_CT&amp;#39;)&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;--------------------------------------------------------------------------------&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; CREATE TABLE &amp;quot;SCOTT&amp;quot;.&amp;quot;CDC_TEST_CT&amp;quot;&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp; (&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;OPERATION$&amp;quot; CHAR(2),&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;CSCN$&amp;quot; NUMBER,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;COMMIT_TIMESTAMP$&amp;quot; DATE,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;RSID$&amp;quot; NUMBER,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;ROW_ID$&amp;quot; ROWID,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;USERNAME$&amp;quot; VARCHAR2(30),&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;TIMESTAMP$&amp;quot; DATE,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;SOURCE_COLMAP$&amp;quot; RAW(128),&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;TARGET_COLMAP$&amp;quot; RAW(128),&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;A&amp;quot; NUMBER,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;B&amp;quot; DATE,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;C&amp;quot; VARCHAR2(20)&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp; ) PCTFREE 0 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; TABLESPACE &amp;quot;USERS&amp;quot;&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br /&gt;&lt;br /&gt;We have a table that is not partitioned.&lt;br /&gt;&lt;br /&gt;When I implemented asynchronous CDC on Enterprise Edition I noticed, that the&lt;br /&gt;change tables were created partitioned.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Connected to:&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - Production&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;With the Partitioning, OLAP, Data Mining and Real Application Testing options&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; rem NOTICE! banner says that this is Enterprise Edition!&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; rem Partitiong is also mentioned there&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; select value from v$option where parameter = &amp;#39;Partitioning&amp;#39;;&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;VALUE&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;----------------------------------------------------------------&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;TRUE&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; rem test user is scott&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; create user scott identified by tiger;&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;User created.&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; rem cdc needs a some privileges for a publisher&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; grant create session, create table, create sequence, create job to scott;&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;Grant succeeded.&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; grant select_catalog_role, execute_catalog_role, dba to scott;&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;Grant succeeded.&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; grant execute on dbms_cdc_publish to scott;&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;Grant succeeded.&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; exec dbms_streams_auth.grant_admin_privilege(grantee =&amp;gt; &amp;#39;SCOTT&amp;#39;);&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;PL/SQL procedure successfully completed.&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; rem async cdc is based on streams which needs supplemental logging&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; alter database force logging;&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;Database altered.&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; alter database add supplemental log data;&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;Database altered.&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; connect scott/tiger&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;Connected.&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; create table cdc_test ( a number, b date, c varchar2(20) );&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;Table created.&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; rem table needs supplemental logging and instantiation&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; alter table cdc_test add supplemental log data (all) columns;&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;Table altered.&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; exec dbms_capture_adm.prepare_table_instantiation(table_name =&amp;gt; &amp;#39;scott.cdc_test&amp;#39;);&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;PL/SQL procedure successfully completed.&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; rem we need a change set in this example for asynchronous hotlog mode&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; begin&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp; DBMS_CDC_PUBLISH.CREATE_CHANGE_SET(&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; change_set_name&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;MY_TEST_CHANGE_SET&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; description&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;async hotlog change set&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; change_source_name =&amp;gt; &amp;#39;HOTLOG_SOURCE&amp;#39;&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 7&amp;nbsp; end;&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 8&amp;nbsp; /&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;PL/SQL procedure successfully completed.&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; rem and now the change table&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; begin&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp; DBMS_CDC_PUBLISH.CREATE_CHANGE_TABLE(&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; owner&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;SCOTT&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; change_table_name =&amp;gt; &amp;#39;CDC_TEST_CT&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; change_set_name&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;MY_TEST_CHANGE_SET&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; source_schema&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;SCOTT&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; source_table&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;CDC_TEST&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; column_type_list&amp;nbsp; =&amp;gt; &amp;#39;A NUMBER,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B DATE,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C VARCHAR2(20)&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; capture_values&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;BOTH&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rs_id&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;Y&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;13&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row_id&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;Y&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; user_id&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;Y&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;15&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timestamp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;Y&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;16&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; object_id&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;N&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;17&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; source_colmap&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;N&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;18&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; target_colmap&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;Y&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;19&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; options_string&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;PCTFREE 0&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;20&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ddl_markers&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;Y&amp;#39; -- new as of 11g, now we can make use of it&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;21&amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;22&amp;nbsp; end;&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;23&amp;nbsp; /&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;PL/SQL procedure successfully completed.&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; rem and how does it look like?&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; set long 10000 pages 120&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; select dbms_metadata.get_ddl(&amp;#39;TABLE&amp;#39;,&amp;#39;CDC_TEST_CT&amp;#39;) from dual;&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;DBMS_METADATA.GET_DDL(&amp;#39;TABLE&amp;#39;,&amp;#39;CDC_TEST_CT&amp;#39;)&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;--------------------------------------------------------------------------------&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; CREATE TABLE &amp;quot;SCOTT&amp;quot;.&amp;quot;CDC_TEST_CT&amp;quot;&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp; (&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;OPERATION$&amp;quot; CHAR(2),&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;CSCN$&amp;quot; NUMBER,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;COMMIT_TIMESTAMP$&amp;quot; DATE,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;XIDUSN$&amp;quot; NUMBER,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;XIDSLT$&amp;quot; NUMBER,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;XIDSEQ$&amp;quot; NUMBER,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;RSID$&amp;quot; NUMBER,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;ROW_ID$&amp;quot; ROWID,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;USERNAME$&amp;quot; VARCHAR2(30),&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;TIMESTAMP$&amp;quot; DATE,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;TARGET_COLMAP$&amp;quot; RAW(128),&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;DDLOPER$&amp;quot; NUMBER,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;DDLDESC$&amp;quot; CLOB,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;DDLPDOBJN$&amp;quot; NUMBER,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;A&amp;quot; NUMBER,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;B&amp;quot; DATE,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;C&amp;quot; VARCHAR2(20)&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp; ) PCTFREE 0 PCTUSED 40 INITRANS 1 MAXTRANS 255&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; STORAGE(&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; BUFFER_POOL DEFAULT)&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; TABLESPACE &amp;quot;USERS&amp;quot;&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;LOB (&amp;quot;DDLDESC$&amp;quot;) STORE AS BASICFILE (&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; ENABLE STORAGE IN ROW CHUNK 8192 RETENTION&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; NOCACHE LOGGING&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; STORAGE(&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; BUFFER_POOL DEFAULT))&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; PARTITION BY RANGE (&amp;quot;CSCN$&amp;quot;)&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;(PARTITION &amp;quot;P1&amp;quot;&amp;nbsp; VALUES LESS THAN (281474976710656)&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; PCTFREE 0 PCTUSED 40 INITRANS 1 MAXTRANS 255&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; TABLESPACE &amp;quot;USERS&amp;quot;&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;LOB (&amp;quot;DDLDESC$&amp;quot;) STORE AS BASICFILE (&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; TABLESPACE &amp;quot;USERS&amp;quot; ENABLE STORAGE IN ROW CHUNK 8192 RETENTION&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; NOCACHE LOGGING&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)) NOCOMPRESS )&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;Yes! We have range partitioning, partition key is CSCN$.&lt;br /&gt;So ... we would have to buy the partitioning licence.&lt;br /&gt;But does this mean that we have to, when using CDC?&lt;br /&gt;No! You get it running also without partitioning, but the feature must not be installed&lt;br /&gt;or at least not linked into the oracle binary when creating the change tables.&lt;br /&gt;&lt;br /&gt;To relink the oracle binary without partitioning use following commands&lt;br /&gt;when all databases that use that oracle home are stopped.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;cd $ORACLE_HOME/rdbms/lib&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;make -f ins_rdbms.mk part_off ioracle&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br /&gt;To relink into the other direction use &lt;span style="font-style:italic;"&gt;part_on&lt;/span&gt; instead of &lt;span style="font-style:italic;"&gt;part_off&lt;/span&gt;.&lt;br /&gt;Relinking cannot be done on Windows.&lt;br /&gt;&lt;br /&gt;So again, the CDC Setup after relinking without partitioning:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Connected to:&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - Production&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;With the OLAP, Data Mining and Real Application Testing options&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; rem NOTICE! banner says that this is Enterprise Edition!&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; rem Partitiong is NOT mentioned any more&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; select value from v$option where parameter = &amp;#39;Partitioning&amp;#39;;&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;VALUE&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;----------------------------------------------------------------&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;FALSE&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; rem test user is scott&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; rem we recreate him&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; drop user scott cascade;&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;User dropped.&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; create user scott identified by tiger;&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;User created.&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; grant create session, create table, create sequence, create job to scott;&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;Grant succeeded.&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; grant select_catalog_role, execute_catalog_role, dba to scott;&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;Grant succeeded.&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; grant execute on dbms_cdc_publish to scott;&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;Grant succeeded.&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; exec dbms_streams_auth.grant_admin_privilege(grantee =&amp;gt; &amp;#39;SCOTT&amp;#39;);&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;PL/SQL procedure successfully completed.&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; connect scott/tiger&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;Connected.&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; create table cdc_test ( a number, b date, c varchar2(20) );&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;Table created.&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; alter table cdc_test add supplemental log data (all) columns;&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;Table altered.&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; exec dbms_capture_adm.prepare_table_instantiation(table_name =&amp;gt; &amp;#39;scott.cdc_test&amp;#39;);&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;PL/SQL procedure successfully completed.&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; begin&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp; DBMS_CDC_PUBLISH.CREATE_CHANGE_SET(&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; change_set_name&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;MY_TEST_CHANGE_SET&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; description&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;async hotlog change set&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; change_source_name =&amp;gt; &amp;#39;HOTLOG_SOURCE&amp;#39;&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 7&amp;nbsp; end;&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 8&amp;nbsp; /&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;PL/SQL procedure successfully completed.&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; begin&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp; DBMS_CDC_PUBLISH.CREATE_CHANGE_TABLE(&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; owner&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;SCOTT&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; change_table_name =&amp;gt; &amp;#39;CDC_TEST_CT&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; change_set_name&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;MY_TEST_CHANGE_SET&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; source_schema&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;SCOTT&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; source_table&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;CDC_TEST&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; column_type_list&amp;nbsp; =&amp;gt; &amp;#39;A NUMBER,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; 9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B DATE,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C VARCHAR2(20)&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; capture_values&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;BOTH&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rs_id&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;Y&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;13&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row_id&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;Y&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; user_id&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;Y&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;15&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timestamp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;Y&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;16&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; object_id&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;N&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;17&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; source_colmap&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;N&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;18&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; target_colmap&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;Y&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;19&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; options_string&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;PCTFREE 0&amp;#39;,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;20&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ddl_markers&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; &amp;#39;Y&amp;#39; -- new as of 11g, now we can make use of it&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;21&amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;22&amp;nbsp; end;&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;23&amp;nbsp; /&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;PL/SQL procedure successfully completed.&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; rem and again, how does the change table look like?&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; set long 10000 pages 120&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;SQL&amp;gt; select dbms_metadata.get_ddl(&amp;#39;TABLE&amp;#39;,&amp;#39;CDC_TEST_CT&amp;#39;) from dual;&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;DBMS_METADATA.GET_DDL(&amp;#39;TABLE&amp;#39;,&amp;#39;CDC_TEST_CT&amp;#39;)&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;--------------------------------------------------------------------------------&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; CREATE TABLE &amp;quot;SCOTT&amp;quot;.&amp;quot;CDC_TEST_CT&amp;quot;&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp; (&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;OPERATION$&amp;quot; CHAR(2),&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;CSCN$&amp;quot; NUMBER,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;COMMIT_TIMESTAMP$&amp;quot; DATE,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;XIDUSN$&amp;quot; NUMBER,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;XIDSLT$&amp;quot; NUMBER,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;XIDSEQ$&amp;quot; NUMBER,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;RSID$&amp;quot; NUMBER,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;ROW_ID$&amp;quot; ROWID,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;USERNAME$&amp;quot; VARCHAR2(30),&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;TIMESTAMP$&amp;quot; DATE,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;TARGET_COLMAP$&amp;quot; RAW(128),&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;DDLOPER$&amp;quot; NUMBER,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;DDLDESC$&amp;quot; CLOB,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;DDLPDOBJN$&amp;quot; NUMBER,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;A&amp;quot; NUMBER,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;B&amp;quot; DATE,&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;C&amp;quot; VARCHAR2(20)&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;&amp;nbsp; ) PCTFREE 0 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; TABLESPACE &amp;quot;USERS&amp;quot;&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp;LOB (&amp;quot;DDLDESC$&amp;quot;) STORE AS BASICFILE (&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; TABLESPACE &amp;quot;USERS&amp;quot; ENABLE STORAGE IN ROW CHUNK 8192 RETENTION&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; NOCACHE LOGGING&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645&lt;/span&gt;&lt;br style="font-style:italic;" /&gt;&lt;span style="font-style:italic;"&gt;&amp;nbsp; PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Interesting, now the CDC change table is not partitioned.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Summary: CDC needs Java in the database, CDC does not need partitioning&lt;br /&gt;but uses it if available. So if you want to avoid the usage of partitioning&lt;br /&gt;you should not install or deactivate it.&lt;br /&gt;Of course CDC is a warehousing feature, and warehouses probably need&lt;br /&gt;partitioning for some other reason.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Have a nice day! Mathias&lt;/p&gt;&lt;img src="http://blog.trivadis.com/aggbug.aspx?PostID=38103" width="1" height="1"&gt;</description><category domain="http://blog.trivadis.com/blogs/mathiaszarick/archive/tags/Oracle/default.aspx">Oracle</category><category domain="http://blog.trivadis.com/blogs/mathiaszarick/archive/tags/Change+Data+Capture/default.aspx">Change Data Capture</category><category domain="http://blog.trivadis.com/blogs/mathiaszarick/archive/tags/CDC/default.aspx">CDC</category><category domain="http://blog.trivadis.com/blogs/mathiaszarick/archive/tags/Partitioning/default.aspx">Partitioning</category></item><item><title>ASM Disk Groups / Redundancy at Diskgroup Level vs. Redundancy at Template Level. Are there differences?</title><link>http://blog.trivadis.com/blogs/mathiaszarick/archive/2009/05/04/asm-disk-groups-redundancy-at-diskgroup-level-vs-redundancy-at-template-level-are-there-differences.aspx</link><pubDate>Mon, 04 May 2009 19:36:00 GMT</pubDate><guid isPermaLink="false">7f420732-9615-472e-9723-d9bd9f35b01c:35629</guid><dc:creator>Mathias Zarick</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blog.trivadis.com/blogs/mathiaszarick/rsscomments.aspx?PostID=35629</wfw:commentRss><comments>http://blog.trivadis.com/blogs/mathiaszarick/archive/2009/05/04/asm-disk-groups-redundancy-at-diskgroup-level-vs-redundancy-at-template-level-are-there-differences.aspx#comments</comments><description>&lt;p&gt;&amp;nbsp;Hi folks,&lt;br /&gt;&lt;br /&gt;in last days I was confrontated with some ASM specific questions and so this should be the topic I start my blogging &amp;quot;career&amp;quot; with. &lt;img src="http://blog.trivadis.com/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;/p&gt;&lt;p&gt;I tested the following with VMWare Workstation. My &amp;quot;DB Server&amp;quot; was a Solaris box.&lt;br /&gt;uname -a output: &lt;i&gt;SunOS lnxzam12 5.10 Generic_137138-09 i86pc i386 i86pc.&lt;/i&gt;&lt;br /&gt;Oracle was 10.2.0.4.0.&lt;br /&gt;I tested the following three scenarios, in which each time one of the two asm disks&lt;br /&gt;broke. I had iscsi and local disks, the iscsi disks broke by suspending the VM.&lt;br /&gt;In all three scenarios I broke the disk when running some read write load.&lt;br /&gt;&lt;br /&gt;Scenarios.&lt;br /&gt;1. A DB on a mirrored diskgroup&lt;br /&gt;2. A DB on an unprotected diskgroup&lt;br /&gt;3. A DB on a mirrored diskgroup with datafiles based on unprotected asm templates&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Scenario 1.&lt;/b&gt;&lt;br /&gt;a normal mirrored diskgroup.&lt;br /&gt;&lt;br /&gt;My Diskgroup was named DG1 and created on asm disks &lt;i&gt;/asm_disks/local.disk1&lt;/i&gt; and&lt;i&gt; /asm_disks/iscsi.lun1&lt;/i&gt;&lt;br /&gt;which are symbolic links:&lt;br /&gt;&lt;i&gt;ls -la /asm_disks/local.disk1 /asm_disks/iscsi.lun1&lt;br /&gt;lrwxrwxrwx&amp;nbsp;&amp;nbsp; 1 root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 18 May&amp;nbsp; 4 11:33 /asm_disks/iscsi.lun1 -&amp;gt; /dev/rdsk/c4t7d0s0&lt;br /&gt;lrwxrwxrwx&amp;nbsp;&amp;nbsp; 1 root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 18 May&amp;nbsp; 1 14:49 /asm_disks/local.disk1 -&amp;gt; /dev/rdsk/c2t0d0s0&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;create diskgroup dg1 disk &amp;#39;/asm_disks/local.disk1&amp;#39;,&amp;#39;/asm_disks/iscsi.lun1&amp;#39;;&lt;br /&gt;Diskgroup created.&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;select d.name disk_name,g.name group_name,d.path,d.total_mb,d.free_mb&lt;br /&gt;from v$asm_disk d, v$asm_diskgroup g&lt;br /&gt;where d.group_number = g.group_number (+)&lt;br /&gt;and g.name=&amp;#39;DG1&amp;#39;&lt;br /&gt;;&lt;br /&gt;&lt;br /&gt;DISK_NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GROUP_NAME&amp;nbsp; PATH&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TOTAL_MB&amp;nbsp;&amp;nbsp;&amp;nbsp; FREE_MB&lt;br /&gt;---------------- ----------- ----------------------- ---------- ----------&lt;br /&gt;DG1_0000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /asm_disks/local.disk1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2038&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1987&lt;br /&gt;DG1_0001&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /asm_disks/iscsi.lun1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2038&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1987&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;asmcmd lsdg Output:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;ASMCMD&amp;gt; lsdg&lt;br /&gt;State&amp;nbsp;&amp;nbsp;&amp;nbsp; Type&amp;nbsp;&amp;nbsp;&amp;nbsp; Rebal&amp;nbsp; Unbal&amp;nbsp; Sector&amp;nbsp; Block&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AU&amp;nbsp; Total_MB&amp;nbsp; Free_MB&amp;nbsp; Req_mir_free_MB&amp;nbsp; Usable_file_MB&amp;nbsp; Offline_disks&amp;nbsp; Name&lt;br /&gt;MOUNTED&amp;nbsp; NORMAL&amp;nbsp; N&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; N&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 512&amp;nbsp;&amp;nbsp; 4096&amp;nbsp; 1048576&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4076&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3974&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1987&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp; DG1/&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;No asm templates were manipulated or added. So everything default:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;select dg.name group_name, t.name template_name, dg.type, t.redundancy, t.stripe&lt;br /&gt;from v$asm_diskgroup dg, v$asm_template t&lt;br /&gt;where dg.group_number = t.group_number and dg.name=&amp;#39;DG1&amp;#39;;&lt;br /&gt;&lt;br /&gt;GROUP_NAME&amp;nbsp; TEMPLATE_NAME&amp;nbsp;&amp;nbsp; TYPE&amp;nbsp;&amp;nbsp; REDUND STRIPE&lt;br /&gt;----------- --------------- ------ ------ ------&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PARAMETERFILE&amp;nbsp;&amp;nbsp; NORMAL MIRROR COARSE&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DUMPSET&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL MIRROR COARSE&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CONTROLFILE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL HIGH&amp;nbsp;&amp;nbsp; FINE&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ARCHIVELOG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL MIRROR COARSE&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ONLINELOG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL MIRROR FINE&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DATAFILE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL MIRROR COARSE&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DATAGUARDCONFIG NORMAL MIRROR COARSE&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BACKUPSET&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL MIRROR COARSE&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AUTOBACKUP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL MIRROR COARSE&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XTRANSPORT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL MIRROR COARSE&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CHANGETRACKING&amp;nbsp; NORMAL MIRROR COARSE&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FLASHBACK&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL MIRROR FINE&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TEMPFILE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL MIRROR COARSE&lt;br /&gt;&lt;br /&gt;13 rows selected.&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;My DB named SATURN resided on DG1, all controlfile, datafiles, tempfiles and online redo logs. To produce a little read and write load on the database, I invalidated all packages with &lt;i&gt;utlirp.sql&lt;/i&gt; and and started a recompile with &lt;i&gt;utlrp.sql&lt;/i&gt; for them. In parallel another session was busy with some nonsense DML on a table. Then i crashed the iscsi LUN, and watched messages file as well as the ASM and SATURN alert logs.&lt;br /&gt;&lt;br /&gt;entries in &lt;i&gt;/var/adm/messages&lt;/i&gt;:&lt;br /&gt;&lt;i&gt;May&amp;nbsp; 4 15:49:15 lnxzam12 iscsi: [ID 286457 kern.notice] NOTICE: iscsi connection(12) unable to connect to target iqn.2009-05.com.trivadis:storage.oel5.lnxzam04 (errno:145)&lt;br /&gt;May&amp;nbsp; 4 15:52:07 lnxzam12 last message repeated 6 times&lt;br /&gt;May&amp;nbsp; 4 15:52:07 lnxzam12 iscsi: [ID 328943 kern.notice] NOTICE: iscsi session(11) iqn.2009-05.com.trivadis:storage.oel5.lnxzam04 offline&lt;br /&gt;May&amp;nbsp; 4 15:52:07 lnxzam12 scsi: [ID 107833 kern.warning] WARNING: /iscsi/disk@0000iqn.2009-05.com.trivadis%3Astorage.oel5.lnxzam04FFFF,1 (sd7):&lt;br /&gt;May&amp;nbsp; 4 15:52:07 lnxzam12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; transport rejected fatal error&lt;br /&gt;May&amp;nbsp; 4 15:52:08 lnxzam12 scsi: [ID 107833 kern.warning] WARNING: /iscsi/disk@0000iqn.2009-05.com.trivadis%3Astorage.oel5.lnxzam04FFFF,1 (sd7):&lt;br /&gt;May&amp;nbsp; 4 15:52:08 lnxzam12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; drive offline&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;the highlights from the alert log of the database instance:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Mon May&amp;nbsp; 4 15:52:07 2009&lt;br /&gt;Errors in file /u00/app/oracle/admin/SATURN/bdump/saturn_j000_5402.trc:&lt;br /&gt;ORA-27091: unable to queue I/O&lt;br /&gt;ORA-27072: File I/O error&lt;br /&gt;Intel SVR4 UNIX Error: 5: I/O error&lt;br /&gt;Additional information: 4&lt;br /&gt;Additional information: 478944&lt;br /&gt;Additional information: -1&lt;br /&gt;Mon May&amp;nbsp; 4 15:52:07 2009&lt;br /&gt;WARNING: offlining disk 1.4043124392 (DG1_0001) with mask 0x3&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;alert log of asm instance:&lt;br /&gt;&lt;i&gt;Mon May&amp;nbsp; 4 15:52:07 2009&lt;br /&gt;Errors in file /u00/app/oracle/admin/+ASM/bdump/+asm_gmon_2856.trc:&lt;br /&gt;ORA-27091: unable to queue I/O&lt;br /&gt;ORA-27072: File I/O error&lt;br /&gt;Intel SVR4 UNIX Error: 5: I/O error&lt;br /&gt;Additional information: 4&lt;br /&gt;Additional information: 4088&lt;br /&gt;Additional information: -1&lt;br /&gt;Mon May&amp;nbsp; 4 15:52:08 2009&lt;br /&gt;NOTE: PST update: grp = 1&lt;br /&gt;Mon May&amp;nbsp; 4 15:52:08 2009&lt;br /&gt;Errors in file /u00/app/oracle/admin/+ASM/bdump/+asm_gmon_2856.trc:&lt;br /&gt;ORA-27091: unable to queue I/O&lt;br /&gt;ORA-27072: File I/O error&lt;br /&gt;Intel SVR4 UNIX Error: 5: I/O error&lt;br /&gt;Additional information: 4&lt;br /&gt;Additional information: 2056&lt;br /&gt;Additional information: -1&lt;br /&gt;Mon May&amp;nbsp; 4 15:52:08 2009&lt;br /&gt;NOTE: group DG1: relocated PST to: disk 0000 (PST copy 0)&lt;br /&gt;Mon May&amp;nbsp; 4 15:52:08 2009&lt;br /&gt;WARNING: offlining disk 1.4043124392 (DG1_0001) with mask 0x3&lt;br /&gt;Mon May&amp;nbsp; 4 15:52:08 2009&lt;br /&gt;WARNING: offlining disk 1.4043124392 (DG1_0001) with mask 0x3&lt;br /&gt;Mon May&amp;nbsp; 4 15:52:08 2009&lt;br /&gt;WARNING: offlining disk 1.4043124392 (DG1_0001) with mask 0x3&lt;br /&gt;Mon May&amp;nbsp; 4 15:52:18 2009&lt;br /&gt;WARNING: kfk failed to open a disk[/asm_disks/iscsi.lun1]&lt;br /&gt;Mon May&amp;nbsp; 4 15:52:18 2009&lt;br /&gt;WARNING: kfk failed to open a disk[/asm_disks/iscsi.lun1]&lt;br /&gt;Mon May&amp;nbsp; 4 15:52:18 2009&lt;br /&gt;WARNING: kfk failed to open a disk[/asm_disks/iscsi.lun1]&lt;br /&gt;Mon May&amp;nbsp; 4 15:52:18 2009&lt;br /&gt;Errors in file /u00/app/oracle/admin/+ASM/udump/+asm_ora_5415.trc:&lt;br /&gt;ORA-15025: could not open disk &amp;#39;/asm_disks/iscsi.lun1&amp;#39;&lt;br /&gt;ORA-27041: unable to open file&lt;br /&gt;Intel SVR4 UNIX Error: 5: I/O error&lt;br /&gt;Additional information: 3&lt;br /&gt;Mon May&amp;nbsp; 4 15:52:18 2009&lt;br /&gt;Errors in file /u00/app/oracle/admin/+ASM/udump/+asm_ora_5416.trc:&lt;br /&gt;ORA-15025: could not open disk &amp;#39;/asm_disks/iscsi.lun1&amp;#39;&lt;br /&gt;ORA-27041: unable to open file&lt;br /&gt;Intel SVR4 UNIX Error: 5: I/O error&lt;br /&gt;Additional information: 3&lt;br /&gt;Mon May&amp;nbsp; 4 15:52:18 2009&lt;br /&gt;Errors in file /u00/app/oracle/admin/+ASM/udump/+asm_ora_5412.trc:&lt;br /&gt;ORA-15025: could not open disk &amp;#39;/asm_disks/iscsi.lun1&amp;#39;&lt;br /&gt;ORA-27041: unable to open file&lt;br /&gt;Intel SVR4 UNIX Error: 5: I/O error&lt;br /&gt;Additional information: 3&lt;br /&gt;Mon May&amp;nbsp; 4 15:52:18 2009&lt;br /&gt;NOTE: PST update: grp = 1, dsk = 1, mode = 0x6&lt;br /&gt;Mon May&amp;nbsp; 4 15:52:18 2009&lt;br /&gt;NOTE: PST update: grp = 1, dsk = 1, mode = 0x6&lt;br /&gt;NOTE: PST update: grp = 1, dsk = 1, mode = 0x6&lt;br /&gt;Mon May&amp;nbsp; 4 15:52:18 2009&lt;br /&gt;NOTE: group DG1: relocated PST to: disk 0000 (PST copy 0)&lt;br /&gt;Mon May&amp;nbsp; 4 15:52:18 2009&lt;br /&gt;NOTE: PST update: grp = 1, dsk = 1, mode = 0x4&lt;br /&gt;Mon May&amp;nbsp; 4 15:52:18 2009&lt;br /&gt;NOTE: group DG1: relocated PST to: disk 0000 (PST copy 0)&lt;br /&gt;Mon May&amp;nbsp; 4 15:52:18 2009&lt;br /&gt;NOTE: PST update: grp = 1, dsk = 1, mode = 0x4&lt;br /&gt;Mon May&amp;nbsp; 4 15:52:18 2009&lt;br /&gt;NOTE: PST update: grp = 1, dsk = 1, mode = 0x4&lt;br /&gt;NOTE: cache closing disk 1 of grp 1: DG1_0001&lt;br /&gt;NOTE: cache closing disk 1 of grp 1: DG1_0001&lt;br /&gt;NOTE: cache closing disk 1 of grp 1: DG1_0001&lt;br /&gt;Mon May&amp;nbsp; 4 15:52:21 2009&lt;br /&gt;SUCCESS: refreshed membership for 1/0x8b6ddef8 (DG1)&lt;br /&gt;Mon May&amp;nbsp; 4 15:52:23 2009&lt;br /&gt;Errors in file /u00/app/oracle/admin/+ASM/bdump/+asm_gmon_2856.trc:&lt;br /&gt;ORA-27091: unable to queue I/O&lt;br /&gt;ORA-27072: File I/O error&lt;br /&gt;Intel SVR4 UNIX Error: 5: I/O error&lt;br /&gt;Additional information: 4&lt;br /&gt;Additional information: 2048&lt;br /&gt;Additional information: -1&lt;br /&gt;Mon May&amp;nbsp; 4 15:52:23 2009&lt;br /&gt;Errors in file /u00/app/oracle/admin/+ASM/bdump/+asm_gmon_2856.trc:&lt;br /&gt;ORA-27091: unable to queue I/O&lt;br /&gt;ORA-27072: File I/O error&lt;br /&gt;Intel SVR4 UNIX Error: 5: I/O error&lt;br /&gt;Additional information: 4&lt;br /&gt;Additional information: 2056&lt;br /&gt;Additional information: -1&lt;br /&gt;Mon May&amp;nbsp; 4 15:53:14 2009&lt;br /&gt;WARNING: PST-initiated drop disk 1(2339233528).1(4043124392) (DG1_0001)&lt;br /&gt;Mon May&amp;nbsp; 4 15:53:14 2009&lt;br /&gt;NOTE: PST update: grp = 1&lt;br /&gt;Mon May&amp;nbsp; 4 15:53:14 2009&lt;br /&gt;NOTE: group DG1: relocated PST to: disk 0000 (PST copy 0)&lt;br /&gt;Mon May&amp;nbsp; 4 15:53:14 2009&lt;br /&gt;NOTE: requesting all-instance membership refresh for group=1&lt;br /&gt;Mon May&amp;nbsp; 4 15:53:14 2009&lt;br /&gt;NOTE: membership refresh pending for group 1/0x8b6ddef8 (DG1)&lt;br /&gt;SUCCESS: refreshed membership for 1/0x8b6ddef8 (DG1)&lt;br /&gt;Mon May&amp;nbsp; 4 15:53:16 2009&lt;br /&gt;SUCCESS: PST-initiated disk drop completed&lt;br /&gt;Mon May&amp;nbsp; 4 15:53:17 2009&lt;br /&gt;Errors in file /u00/app/oracle/admin/+ASM/bdump/+asm_gmon_2856.trc:&lt;br /&gt;ORA-27091: unable to queue I/O&lt;br /&gt;ORA-27072: File I/O error&lt;br /&gt;Intel SVR4 UNIX Error: 5: I/O error&lt;br /&gt;Additional information: 4&lt;br /&gt;Additional information: 2048&lt;br /&gt;Additional information: -1&lt;br /&gt;Mon May&amp;nbsp; 4 15:53:17 2009&lt;br /&gt;Errors in file /u00/app/oracle/admin/+ASM/bdump/+asm_gmon_2856.trc:&lt;br /&gt;ORA-27091: unable to queue I/O&lt;br /&gt;ORA-27072: File I/O error&lt;br /&gt;Intel SVR4 UNIX Error: 5: I/O error&lt;br /&gt;Additional information: 4&lt;br /&gt;Additional information: 2056&lt;br /&gt;Additional information: -1&lt;br /&gt;Mon May&amp;nbsp; 4 15:53:19 2009&lt;br /&gt;NOTE: starting rebalance of group 1/0x8b6ddef8 (DG1) at power 1&lt;br /&gt;Starting background process ARB0&lt;br /&gt;ARB0 started with pid=19, OS id=5420&lt;br /&gt;Mon May&amp;nbsp; 4 15:53:23 2009&lt;br /&gt;NOTE: assigning ARB0 to group 1/0x8b6ddef8 (DG1)&lt;br /&gt;Mon May&amp;nbsp; 4 15:53:34 2009&lt;br /&gt;NOTE: stopping process ARB0&lt;br /&gt;Mon May&amp;nbsp; 4 15:53:35 2009&lt;br /&gt;SUCCESS: rebalance completed for group 1/0x8b6ddef8 (DG1)&lt;br /&gt;Mon May&amp;nbsp; 4 15:53:35 2009&lt;br /&gt;SUCCESS: rebalance completed for group 1/0x8b6ddef8 (DG1)&lt;br /&gt;NOTE: PST update: grp = 1&lt;br /&gt;Mon May&amp;nbsp; 4 15:53:36 2009&lt;br /&gt;NOTE: group DG1: relocated PST to: disk 0000 (PST copy 0)&lt;br /&gt;Mon May&amp;nbsp; 4 15:53:36 2009&lt;br /&gt;WARNING: offline disk number 1 has references (2009 AUs)&lt;br /&gt;NOTE: PST update: grp = 1&lt;br /&gt;Mon May&amp;nbsp; 4 15:53:36 2009&lt;br /&gt;NOTE: group DG1: relocated PST to: disk 0000 (PST copy 0)&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;The recompile and dml sessions experienced no problems. The database instance stayed up.&lt;br /&gt;&lt;br /&gt;here again the query for the asm diskgroup, which hangs for a while while trying to read from the broken disk:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;select d.name disk_name,g.name group_name,d.path,d.total_mb,d.free_mb&lt;br /&gt;from v$asm_disk d, v$asm_diskgroup g&lt;br /&gt;where d.group_number = g.group_number (+)&lt;br /&gt;and g.name=&amp;#39;DG1&amp;#39;&lt;br /&gt;;&lt;br /&gt;&lt;br /&gt;DISK_NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GROUP_NAME&amp;nbsp; PATH&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TOTAL_MB&amp;nbsp;&amp;nbsp;&amp;nbsp; FREE_MB&lt;br /&gt;---------------- ----------- ----------------------- ---------- ----------&lt;br /&gt;DG1_0000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /asm_disks/local.disk1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2038&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 27&lt;br /&gt;DG1_0001&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2038&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 27&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;What is DG1_0001&amp;#39;s state?&lt;br /&gt;&lt;br /&gt;&lt;i&gt;select state, mode_status, mount_status from v$asm_disk where name=&amp;#39;DG1_0001&amp;#39;;&lt;br /&gt;&lt;br /&gt;STATE&amp;nbsp;&amp;nbsp;&amp;nbsp; MODE_STATUS&amp;nbsp;&amp;nbsp; MOUNT_STATUS&lt;br /&gt;-------- ------------- -------------&lt;br /&gt;HUNG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OFFLINE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MISSING&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;asmcmd lsdg Output:&lt;br /&gt;&lt;i&gt;ASMCMD&amp;gt; lsdg&lt;br /&gt;State&amp;nbsp;&amp;nbsp;&amp;nbsp; Type&amp;nbsp;&amp;nbsp;&amp;nbsp; Rebal&amp;nbsp; Unbal&amp;nbsp; Sector&amp;nbsp; Block&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AU&amp;nbsp; Total_MB&amp;nbsp; Free_MB&amp;nbsp; Req_mir_free_MB&amp;nbsp; Usable_file_MB&amp;nbsp; Offline_disks&amp;nbsp; Name&lt;br /&gt;MOUNTED&amp;nbsp; NORMAL&amp;nbsp; N&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; N&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 512&amp;nbsp;&amp;nbsp; 4096&amp;nbsp; 1048576&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2038&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 27&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 13&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp; DG1/&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;This means ASM has offlined the disk and tried to drop it. Obviously it could not drop as it was last disk in its failure group. Afterwards I resumed the iscsi target server and let&lt;i&gt; /asm_disks/iscsi.lun1&lt;/i&gt; come back.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;/var/adm/messages:&lt;br /&gt;May&amp;nbsp; 4 16:17:11 lnxzam12 iscsi: [ID 240218 kern.notice] NOTICE: iscsi session(11) iqn.2009-05.com.trivadis:storage.oel5.lnxzam04 online&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;So now I need to repair the diskgroup, but how?&lt;br /&gt;A naive adding back gave an error:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;SQL&amp;gt; ALTER DISKGROUP DG1 ADD DISK &amp;#39;/asm_disks/iscsi.lun1&amp;#39;;&lt;br /&gt;ALTER DISKGROUP DG1 ADD DISK &amp;#39;/asm_disks/iscsi.lun1&amp;#39;&lt;br /&gt;*&lt;br /&gt;ERROR at line 1:&lt;br /&gt;ORA-15032: not all alterations performed&lt;br /&gt;ORA-15033: disk &amp;#39;/asm_disks/iscsi.lun1&amp;#39; belongs to diskgroup &amp;quot;DG1&amp;quot;&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;so I cleared the disk before I was able to add it back&lt;br /&gt;&lt;i&gt;dd if=/dev/zero of=/asm_disks/iscsi.lun1 bs=8192 count=100&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;ALTER DISKGROUP DG1 ADD DISK &amp;#39;/asm_disks/iscsi.lun1&amp;#39;; &lt;br /&gt;Diskgroup altered.&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;select d.name disk_name,g.name group_name,d.path,d.total_mb,d.free_mb&lt;br /&gt;from v$asm_disk d, v$asm_diskgroup g&lt;br /&gt;where d.group_number = g.group_number (+)&lt;br /&gt;and g.name=&amp;#39;DG1&amp;#39;&lt;br /&gt;;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;DISK_NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GROUP_NAME&amp;nbsp; PATH&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TOTAL_MB&amp;nbsp;&amp;nbsp;&amp;nbsp; FREE_MB&lt;br /&gt;---------------- ----------- ----------------------- ---------- ----------&lt;br /&gt;DG1_0002&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /asm_disks/iscsi.lun1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2038&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1922&lt;br /&gt;DG1_0000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /asm_disks/local.disk1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2038&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 27&lt;br /&gt;DG1_0001&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2038&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 140&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;rebalancing actually mirroring starts as also shown in asm instances alert log&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Mon May&amp;nbsp; 4 16:21:24 2009&lt;br /&gt;NOTE: starting rebalance of group 1/0x8b6ddef8 (DG1) at power 1&lt;br /&gt;Starting background process ARB0&lt;br /&gt;ARB0 started with pid=16, OS id=5497&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;after a while both disks are in sync again as we can see in alert log and by the free_mb column:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Mon May&amp;nbsp; 4 16:26:14 2009&lt;br /&gt;SUCCESS: rebalance completed for group 1/0x8b6ddef8 (DG1)&lt;br /&gt;&lt;br /&gt;DISK_NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GROUP_NAME&amp;nbsp; PATH&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TOTAL_MB&amp;nbsp;&amp;nbsp;&amp;nbsp; FREE_MB&lt;br /&gt;---------------- ----------- ----------------------- ---------- ----------&lt;br /&gt;DG1_0002&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /asm_disks/iscsi.lun1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2038&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 27&lt;br /&gt;DG1_0000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /asm_disks/local.disk1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2038&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 27&lt;br /&gt;DG1_0001&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2038&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2033&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;Notice: With 11g there is a feature called &lt;b&gt;fast mirror resync&lt;/b&gt;, which makes it possible to incrementally update the failed disk with all needed and changed data to bring it in sync again.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Scenario 2.&lt;br /&gt;&lt;/b&gt;an unprotected diskgroup.&lt;br /&gt;&lt;br /&gt;For this test, the diskgroup was dismounted, asm disks cleared and diskgroup recreated.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;create diskgroup dg1 external redundancy disk &amp;#39;/asm_disks/local.disk1&amp;#39;,&amp;#39;/asm_disks/iscsi.lun1&amp;#39;;&lt;br /&gt;&lt;br /&gt;select d.name disk_name,g.name group_name,d.path,d.total_mb,d.free_mb&lt;br /&gt;from v$asm_disk d, v$asm_diskgroup g&lt;br /&gt;where d.group_number = g.group_number (+)&lt;br /&gt;and g.name=&amp;#39;DG1&amp;#39;&lt;br /&gt;;&lt;br /&gt;&lt;br /&gt;DISK_NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GROUP_NAME&amp;nbsp; PATH&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TOTAL_MB&amp;nbsp;&amp;nbsp;&amp;nbsp; FREE_MB&lt;br /&gt;---------------- ----------- ----------------------- ---------- ----------&lt;br /&gt;DG1_0000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /asm_disks/local.disk1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2038&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2011&lt;br /&gt;DG1_0001&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /asm_disks/iscsi.lun1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2038&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2013&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;asmcmd lsdg Output:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;ASMCMD&amp;gt; lsdg&lt;br /&gt;State&amp;nbsp;&amp;nbsp;&amp;nbsp; Type&amp;nbsp;&amp;nbsp;&amp;nbsp; Rebal&amp;nbsp; Unbal&amp;nbsp; Sector&amp;nbsp; Block&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AU&amp;nbsp; Total_MB&amp;nbsp; Free_MB&amp;nbsp; Req_mir_free_MB&amp;nbsp; Usable_file_MB&amp;nbsp; Offline_disks&amp;nbsp; Name&lt;br /&gt;MOUNTED&amp;nbsp; EXTERN&amp;nbsp; N&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; N&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 512&amp;nbsp;&amp;nbsp; 4096&amp;nbsp; 1048576&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4076&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4024&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4024&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp; DG1/&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;Notice: We have twice the storage capacity as in first scenario, as we do not mirror any more.&lt;br /&gt;&lt;br /&gt;No asm templates were manipulated or added. &lt;br /&gt;Notice: Anyway it is not possible to &amp;quot;upgrade&amp;quot; a template in a unprotected diskgroup to mirrored.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;ALTER DISKGROUP DG1 ALTER TEMPLATE DATAFILE ATTRIBUTES (MIRROR);&lt;br /&gt;&lt;/i&gt;gives &lt;i&gt;ORA-15067: command or option incompatible with diskgroup redundancy&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;So everything default:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;select dg.name group_name, t.name template_name, dg.type, t.redundancy, t.stripe&lt;br /&gt;from v$asm_diskgroup dg, v$asm_template t&lt;br /&gt;where dg.group_number = t.group_number and dg.name=&amp;#39;DG1&amp;#39;;&lt;br /&gt;&lt;br /&gt;GROUP_NAME&amp;nbsp; TEMPLATE_NAME&amp;nbsp;&amp;nbsp; TYPE&amp;nbsp;&amp;nbsp; REDUND STRIPE&lt;br /&gt;----------- --------------- ------ ------ ------&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PARAMETERFILE&amp;nbsp;&amp;nbsp; EXTERN UNPROT COARSE&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DUMPSET&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EXTERN UNPROT COARSE&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CONTROLFILE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EXTERN UNPROT FINE&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ARCHIVELOG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EXTERN UNPROT COARSE&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ONLINELOG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EXTERN UNPROT FINE&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DATAFILE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EXTERN UNPROT COARSE&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DATAGUARDCONFIG EXTERN UNPROT COARSE&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BACKUPSET&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EXTERN UNPROT COARSE&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AUTOBACKUP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EXTERN UNPROT COARSE&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XTRANSPORT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EXTERN UNPROT COARSE&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CHANGETRACKING&amp;nbsp; EXTERN UNPROT COARSE&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FLASHBACK&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EXTERN UNPROT FINE&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TEMPFILE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EXTERN UNPROT COARSE&lt;br /&gt;&lt;br /&gt;13 rows selected.&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;My DB named SATURN again resided on DG1. Same load: invalidation with &lt;i&gt;utlirp.sql&lt;/i&gt; and &lt;i&gt;utlrp.sql&lt;/i&gt; as well as the dml session. Then I crashed the iscsi LUN by suspending the VM.&lt;br /&gt;&lt;br /&gt;of course we get similar entries in &lt;i&gt;/var/adm/messages&lt;/i&gt; as in first scenario:&lt;br /&gt;&lt;i&gt;May&amp;nbsp; 4 17:14:25 lnxzam12 iscsi: [ID 286457 kern.notice] NOTICE: iscsi connection(12) unable to connect to target iqn.2009-05.com.trivadis:storage.oel5.lnxzam04 (errno:145)&lt;br /&gt;May&amp;nbsp; 4 17:17:17 lnxzam12 last message repeated 6 times&lt;br /&gt;May&amp;nbsp; 4 17:17:17 lnxzam12 iscsi: [ID 328943 kern.notice] NOTICE: iscsi session(11) iqn.2009-05.com.trivadis:storage.oel5.lnxzam04 offline&lt;br /&gt;May&amp;nbsp; 4 17:17:17 lnxzam12 scsi: [ID 107833 kern.warning] WARNING: /iscsi/disk@0000iqn.2009-05.com.trivadis%3Astorage.oel5.lnxzam04FFFF,1 (sd7):&lt;br /&gt;May&amp;nbsp; 4 17:17:17 lnxzam12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; transport rejected fatal error&lt;br /&gt;May&amp;nbsp; 4 17:17:40 lnxzam12 iscsi: [ID 286457 kern.notice] NOTICE: iscsi connection(12) unable to connect to target iqn.2009-05.com.trivadis:storage.oel5.lnxzam04 (errno:145)&lt;br /&gt;May&amp;nbsp; 4 17:19:04 lnxzam12 last message repeated 1 time&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;database instance alert log:&lt;br /&gt;&lt;i&gt;Mon May&amp;nbsp; 4 17:17:17 2009&lt;br /&gt;Errors in file /u00/app/oracle/admin/SATURN/bdump/saturn_ckpt_6089.trc:&lt;br /&gt;ORA-27091: unable to queue I/O&lt;br /&gt;ORA-27072: File I/O error&lt;br /&gt;Intel SVR4 UNIX Error: 5: I/O error&lt;br /&gt;Additional information: 4&lt;br /&gt;Additional information: 58496&lt;br /&gt;Additional information: -1&lt;br /&gt;Mon May&amp;nbsp; 4 17:17:17 2009&lt;br /&gt;KCF: write/open error block=0x1073 online=1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; file=4 +DG1/saturn_site1/datafile/users.265.685990577&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; error=27063 txt: &amp;#39;&amp;#39;&lt;br /&gt;Mon May&amp;nbsp; 4 17:17:17 2009&lt;br /&gt;Errors in file /u00/app/oracle/admin/SATURN/bdump/saturn_ckpt_6089.trc:&lt;br /&gt;ORA-00202: control file: &amp;#39;+DG1/saturn_site1/controlfile/current.256.685990541&amp;#39;&lt;br /&gt;ORA-15080: synchronous I/O operation to a disk failed&lt;br /&gt;Mon May&amp;nbsp; 4 17:17:17 2009&lt;br /&gt;Errors in file /u00/app/oracle/admin/SATURN/bdump/saturn_lgwr_6087.trc:&lt;br /&gt;ORA-00345: redo log write error block 17973 count 1854&lt;br /&gt;ORA-00312: online log 3 thread 1: &amp;#39;+DG1/saturn_site1/onlinelog/group_3.260.685990545&amp;#39;&lt;br /&gt;ORA-27063: number of bytes read/written is incorrect&lt;br /&gt;Mon May&amp;nbsp; 4 17:17:17 2009&lt;br /&gt;Errors in file /u00/app/oracle/admin/SATURN/bdump/saturn_lgwr_6087.trc:&lt;br /&gt;ORA-00340: IO error processing online log 3 of thread 1&lt;br /&gt;ORA-00345: redo log write error block 17973 count 1854&lt;br /&gt;ORA-00312: online log 3 thread 1: &amp;#39;+DG1/saturn_site1/onlinelog/group_3.260.685990545&amp;#39;&lt;br /&gt;ORA-27063: number of bytes read/written is incorrect&lt;br /&gt;Mon May&amp;nbsp; 4 17:17:17 2009&lt;br /&gt;LGWR: terminating instance due to error 340&lt;br /&gt;Mon May&amp;nbsp; 4 17:17:18 2009&lt;br /&gt;Errors in file /u00/app/oracle/admin/SATURN/bdump/saturn_ckpt_6089.trc:&lt;br /&gt;ORA-00204: error in reading (block 316, # blocks 1) of control file&lt;br /&gt;ORA-00202: control file: &amp;#39;+DG1/saturn_site1/controlfile/current.256.685990541&amp;#39;&lt;br /&gt;ORA-15080: synchronous I/O operation to a disk failed&lt;br /&gt;Mon May&amp;nbsp; 4 17:17:18 2009&lt;br /&gt;Errors in file /u00/app/oracle/admin/SATURN/bdump/saturn_rbal_6106.trc:&lt;br /&gt;ORA-00340: IO error processing online log&amp;nbsp; of thread&lt;br /&gt;Instance terminated by LGWR, pid = 6087&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;ASM alert log:&lt;br /&gt;nothing special ... hmm&lt;br /&gt;&lt;i&gt;Mon May&amp;nbsp; 4 17:14:33 2009&lt;br /&gt;NOTE: ASMB process exiting due to lack of ASM file activity&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;The recompile and dml sessions crashed. The database instance crashed.&lt;br /&gt;&lt;br /&gt;Here again the query for the asm diskgroup, which hangs for a while while trying to read from the broken disk:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;select d.name disk_name,g.name group_name,d.path,d.total_mb,d.free_mb&lt;br /&gt;from v$asm_disk d, v$asm_diskgroup g&lt;br /&gt;where d.group_number = g.group_number (+)&lt;br /&gt;and g.name=&amp;#39;DG1&amp;#39;&lt;br /&gt;;&lt;br /&gt;&lt;br /&gt;DISK_NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GROUP_NAME&amp;nbsp; PATH&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TOTAL_MB&amp;nbsp;&amp;nbsp;&amp;nbsp; FREE_MB&lt;br /&gt;---------------- ----------- ----------------------- ---------- ----------&lt;br /&gt;DG1_0000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /asm_disks/local.disk1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2038&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1030&lt;br /&gt;DG1_0001&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /asm_disks/iscsi.lun1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2038&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1035&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;What is DG1_0001&amp;#39;s state?&lt;br /&gt;&lt;br /&gt;&lt;i&gt;select state, mode_status, mount_status from v$asm_disk where name=&amp;#39;DG1_0001&amp;#39;;&lt;br /&gt;&lt;br /&gt;STATE&amp;nbsp;&amp;nbsp;&amp;nbsp; MODE_STATUS&amp;nbsp;&amp;nbsp; MOUNT_STATUS&lt;br /&gt;-------- ------------- -------------&lt;br /&gt;NORMAL&amp;nbsp;&amp;nbsp; ONLINE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CACHED&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;asmcmd lsdg Output:&lt;br /&gt;&lt;i&gt;ASMCMD&amp;gt; lsdg&lt;br /&gt;State&amp;nbsp;&amp;nbsp;&amp;nbsp; Type&amp;nbsp;&amp;nbsp;&amp;nbsp; Rebal&amp;nbsp; Unbal&amp;nbsp; Sector&amp;nbsp; Block&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AU&amp;nbsp; Total_MB&amp;nbsp; Free_MB&amp;nbsp; Req_mir_free_MB&amp;nbsp; Usable_file_MB&amp;nbsp; Offline_disks&amp;nbsp; Name&lt;br /&gt;MOUNTED&amp;nbsp; EXTERN&amp;nbsp; N&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; N&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 512&amp;nbsp;&amp;nbsp; 4096&amp;nbsp; 1048576&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2038&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1030&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1030&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp; DG1/&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;This means ASM stays stubborn and still relies on external redundancy as we said when creating the diskgroup. This also means reading files in ASM leads to I/O errors which means database instances crash and are not startable as longs as those disks are not readable again.&lt;/p&gt;&lt;p&gt;&lt;i&gt;SQL&amp;gt; startup&lt;br /&gt;ORA-01078: failure in processing system parameters&lt;br /&gt;ORA-27091: unable to queue I/O&lt;br /&gt;ORA-15081: failed to submit an I/O operation to a disk&lt;br /&gt;ORA-06512: at line 4&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;After this test I resumed the iscsi target server and let &lt;i&gt;/asm_disks/iscsi.lun1&lt;/i&gt; come back.&lt;br /&gt;&lt;i&gt;/var/adm/messages&lt;/i&gt; showed&lt;br /&gt;&lt;i&gt;May&amp;nbsp; 4 17:31:38 lnxzam12 iscsi: [ID 240218 kern.notice] NOTICE: iscsi session(11) iqn.2009-05.com.trivadis:storage.oel5.lnxzam04 online&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;queries from above show same output, we have a difference when using asmcmd lsdg,&lt;br /&gt;there the whole storage is visible again:&lt;br /&gt;&lt;i&gt;ASMCMD&amp;gt; lsdg&lt;br /&gt;State&amp;nbsp;&amp;nbsp;&amp;nbsp; Type&amp;nbsp;&amp;nbsp;&amp;nbsp; Rebal&amp;nbsp; Unbal&amp;nbsp; Sector&amp;nbsp; Block&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AU&amp;nbsp; Total_MB&amp;nbsp; Free_MB&amp;nbsp; Req_mir_free_MB&amp;nbsp; Usable_file_MB&amp;nbsp; Offline_disks&amp;nbsp; Name&lt;br /&gt;MOUNTED&amp;nbsp; EXTERN&amp;nbsp; N&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; N&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 512&amp;nbsp;&amp;nbsp; 4096&amp;nbsp; 1048576&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4076&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2065&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2065&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp; DG1/&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;Now I could startup the database and everything was repaired again.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Scenario 3.&lt;/b&gt;&lt;br /&gt;a mirrored diskgroup with datafiles based on unprotected asm templates&lt;br /&gt;&lt;br /&gt;For this test, the diskgroup was dismounted, asm disks cleared and diskgroup recreated.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;create diskgroup dg1 disk &amp;#39;/asm_disks/local.disk1&amp;#39;,&amp;#39;/asm_disks/iscsi.lun1&amp;#39;;&lt;br /&gt;&lt;br /&gt;select d.name disk_name,g.name group_name,d.path,d.total_mb,d.free_mb&lt;br /&gt;from v$asm_disk d, v$asm_diskgroup g&lt;br /&gt;where d.group_number = g.group_number (+)&lt;br /&gt;and g.name=&amp;#39;DG1&amp;#39;&lt;br /&gt;;&lt;br /&gt;&lt;br /&gt;DISK_NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GROUP_NAME&amp;nbsp; PATH&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TOTAL_MB&amp;nbsp;&amp;nbsp;&amp;nbsp; FREE_MB&lt;br /&gt;---------------- ----------- ----------------------- ---------- ----------&lt;br /&gt;DG1_0000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /asm_disks/local.disk1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2038&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1987&lt;br /&gt;DG1_0001&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /asm_disks/iscsi.lun1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2038&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1987&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;asmcmd lsdg Output:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;ASMCMD&amp;gt; lsdg&lt;br /&gt;State&amp;nbsp;&amp;nbsp;&amp;nbsp; Type&amp;nbsp;&amp;nbsp;&amp;nbsp; Rebal&amp;nbsp; Unbal&amp;nbsp; Sector&amp;nbsp; Block&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AU&amp;nbsp; Total_MB&amp;nbsp; Free_MB&amp;nbsp; Req_mir_free_MB&amp;nbsp; Usable_file_MB&amp;nbsp; Offline_disks&amp;nbsp; Name&lt;br /&gt;MOUNTED&amp;nbsp; NORMAL&amp;nbsp; N&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; N&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 512&amp;nbsp;&amp;nbsp; 4096&amp;nbsp; 1048576&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4076&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3974&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1987&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp; DG1/&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;I manipulated the default templates to UNPROTECTED, which saves space:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;ALTER DISKGROUP DG1 ALTER TEMPLATE DATAFILE ATTRIBUTES (UNPROTECTED);&lt;br /&gt;ALTER DISKGROUP DG1 ALTER TEMPLATE TEMPFILE ATTRIBUTES (UNPROTECTED); &lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;select dg.name group_name, t.name template_name, dg.type, t.redundancy, t.stripe&lt;br /&gt;from v$asm_diskgroup dg, v$asm_template t&lt;br /&gt;where dg.group_number = t.group_number and dg.name=&amp;#39;DG1&amp;#39;;&lt;br /&gt;&lt;br /&gt;GROUP_NAME&amp;nbsp; TEMPLATE_NAME&amp;nbsp;&amp;nbsp; TYPE&amp;nbsp;&amp;nbsp; REDUND STRIPE&lt;br /&gt;----------- --------------- ------ ------ ------&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PARAMETERFILE&amp;nbsp;&amp;nbsp; NORMAL MIRROR COARSE&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DUMPSET&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL MIRROR COARSE&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CONTROLFILE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL HIGH&amp;nbsp;&amp;nbsp; FINE&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ARCHIVELOG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL MIRROR COARSE&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ONLINELOG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL MIRROR FINE&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DATAFILE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL UNPROT COARSE&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DATAGUARDCONFIG NORMAL MIRROR COARSE&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BACKUPSET&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL MIRROR COARSE&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AUTOBACKUP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL MIRROR COARSE&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XTRANSPORT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL MIRROR COARSE&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CHANGETRACKING&amp;nbsp; NORMAL MIRROR COARSE&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FLASHBACK&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL MIRROR FINE&lt;br /&gt;DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TEMPFILE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL UNPROT COARSE&lt;br /&gt;&lt;br /&gt;13 rows selected.&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;Same procedure as in last both scenarios:&lt;br /&gt;My DB named SATURN I created again on DG1. Same load: invalidation with &lt;i&gt;utlirp.sql&lt;/i&gt; and &lt;i&gt;utlrp.sql&lt;/i&gt; as well as the dml session. Then I crashed the iscsi LUN by suspending the VM.&lt;br /&gt;&lt;br /&gt;similar entries in &lt;i&gt;/var/adm/messages&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;alert log of the database instance:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Mon May&amp;nbsp; 4 20:38:46 2009&lt;br /&gt;WARNING: offlining disk 1.4041040168 (DG1_0001) with mask 0x3&lt;br /&gt;Mon May&amp;nbsp; 4 20:38:46 2009&lt;br /&gt;Errors in file /u00/app/oracle/admin/SATURN/bdump/saturn_lgwr_7177.trc:&lt;br /&gt;ORA-27091: unable to queue I/O&lt;br /&gt;ORA-27072: File I/O error&lt;br /&gt;Intel SVR4 UNIX Error: 5: I/O error&lt;br /&gt;Additional information: 4&lt;br /&gt;Additional information: 110688&lt;br /&gt;Additional information: -1&lt;br /&gt;Mon May&amp;nbsp; 4 20:38:46 2009&lt;br /&gt;WARNING: offlining disk 1.4041040168 (DG1_0001) with mask 0x3&lt;br /&gt;Mon May&amp;nbsp; 4 20:38:56 2009&lt;br /&gt;Thread 1 advanced to log sequence 58 (LGWR switch)&lt;br /&gt;&amp;nbsp; Current log# 1 seq# 58 mem# 0: +DG1/saturn_site1/onlinelog/group_1.258.685993517&lt;br /&gt;Mon May&amp;nbsp; 4 20:38:57 2009&lt;br /&gt;KCF: write/open error block=0x6a24 online=1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; file=1 +DG1/saturn_site1/datafile/system.261.685993521&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; error=15062 txt: &amp;#39;&amp;#39;&lt;br /&gt;Mon May&amp;nbsp; 4 20:38:58 2009&lt;br /&gt;Errors in file /u00/app/oracle/admin/SATURN/bdump/saturn_dbw0_7175.trc:&lt;br /&gt;ORA-01242: data file suffered media failure: database in NOARCHIVELOG mode&lt;br /&gt;ORA-01114: IO error writing block to file 1 (block # 27172)&lt;br /&gt;ORA-01110: data file 1: &amp;#39;+DG1/saturn_site1/datafile/system.261.685993521&amp;#39;&lt;br /&gt;ORA-15062: ASM disk is globally closed&lt;br /&gt;Mon May&amp;nbsp; 4 20:38:58 2009&lt;br /&gt;Thread 1 cannot allocate new log, sequence 59&lt;br /&gt;Checkpoint not complete&lt;br /&gt;&amp;nbsp; Current log# 1 seq# 58 mem# 0: +DG1/saturn_site1/onlinelog/group_1.258.685993517&lt;br /&gt;Mon May&amp;nbsp; 4 20:38:58 2009&lt;br /&gt;DBW0: terminating instance due to error 1242&lt;br /&gt;Mon May&amp;nbsp; 4 20:38:58 2009&lt;br /&gt;Errors in file /u00/app/oracle/admin/SATURN/bdump/saturn_smon_7181.trc:&lt;br /&gt;ORA-01242: data file suffered media failure: database in NOARCHIVELOG mode&lt;br /&gt;Mon May&amp;nbsp; 4 20:38:58 2009&lt;br /&gt;Errors in file /u00/app/oracle/admin/SATURN/bdump/saturn_mman_7173.trc:&lt;br /&gt;ORA-01242: data file suffered media failure: database in NOARCHIVELOG mode&lt;br /&gt;Instance terminated by DBW0, pid = 7175&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;alert log of asm instance&lt;br /&gt;&lt;i&gt;Mon May&amp;nbsp; 4 20:38:46 2009&lt;br /&gt;Errors in file /u00/app/oracle/admin/+ASM/bdump/+asm_gmon_6999.trc:&lt;br /&gt;ORA-27091: unable to queue I/O&lt;br /&gt;ORA-27072: File I/O error&lt;br /&gt;Intel SVR4 UNIX Error: 5: I/O error&lt;br /&gt;Additional information: 4&lt;br /&gt;Additional information: 4088&lt;br /&gt;Additional information: -1&lt;br /&gt;NOTE: PST update: grp = 1&lt;br /&gt;Mon May&amp;nbsp; 4 20:38:46 2009&lt;br /&gt;Errors in file /u00/app/oracle/admin/+ASM/bdump/+asm_gmon_6999.trc:&lt;br /&gt;ORA-27091: unable to queue I/O&lt;br /&gt;ORA-27072: File I/O error&lt;br /&gt;Intel SVR4 UNIX Error: 5: I/O error&lt;br /&gt;Additional information: 4&lt;br /&gt;Additional information: 2056&lt;br /&gt;Additional information: -1&lt;br /&gt;Mon May&amp;nbsp; 4 20:38:46 2009&lt;br /&gt;NOTE: group DG1: relocated PST to: disk 0000 (PST copy 0)&lt;br /&gt;Mon May&amp;nbsp; 4 20:38:46 2009&lt;br /&gt;WARNING: offlining disk 1.4041040168 (DG1_0001) with mask 0x3&lt;br /&gt;Mon May&amp;nbsp; 4 20:38:46 2009&lt;br /&gt;WARNING: offlining disk 1.4041040168 (DG1_0001) with mask 0x3&lt;br /&gt;Mon May&amp;nbsp; 4 20:38:56 2009&lt;br /&gt;WARNING: kfk failed to open a disk[/asm_disks/iscsi.lun1]&lt;br /&gt;Mon May&amp;nbsp; 4 20:38:56 2009&lt;br /&gt;WARNING: kfk failed to open a disk[/asm_disks/iscsi.lun1]&lt;br /&gt;Mon May&amp;nbsp; 4 20:38:56 2009&lt;br /&gt;Errors in file /u00/app/oracle/admin/+ASM/udump/+asm_ora_7420.trc:&lt;br /&gt;ORA-15025: could not open disk &amp;#39;/asm_disks/iscsi.lun1&amp;#39;&lt;br /&gt;ORA-27041: unable to open file&lt;br /&gt;Intel SVR4 UNIX Error: 5: I/O error&lt;br /&gt;Additional information: 3&lt;br /&gt;NOTE: PST update: grp = 1, dsk = 1, mode = 0x6&lt;br /&gt;Mon May&amp;nbsp; 4 20:38:56 2009&lt;br /&gt;Errors in file /u00/app/oracle/admin/+ASM/udump/+asm_ora_7418.trc:&lt;br /&gt;ORA-15025: could not open disk &amp;#39;/asm_disks/iscsi.lun1&amp;#39;&lt;br /&gt;ORA-27041: unable to open file&lt;br /&gt;Intel SVR4 UNIX Error: 5: I/O error&lt;br /&gt;Additional information: 3&lt;br /&gt;Mon May&amp;nbsp; 4 20:38:56 2009&lt;br /&gt;NOTE: PST update: grp = 1, dsk = 1, mode = 0x6&lt;br /&gt;Mon May&amp;nbsp; 4 20:38:56 2009&lt;br /&gt;NOTE: group DG1: relocated PST to: disk 0000 (PST copy 0)&lt;br /&gt;Mon May&amp;nbsp; 4 20:38:56 2009&lt;br /&gt;NOTE: PST update: grp = 1, dsk = 1, mode = 0x4&lt;br /&gt;Mon May&amp;nbsp; 4 20:38:56 2009&lt;br /&gt;NOTE: group DG1: relocated PST to: disk 0000 (PST copy 0)&lt;br /&gt;Mon May&amp;nbsp; 4 20:38:56 2009&lt;br /&gt;NOTE: PST update: grp = 1, dsk = 1, mode = 0x4&lt;br /&gt;NOTE: cache closing disk 1 of grp 1: DG1_0001&lt;br /&gt;NOTE: cache closing disk 1 of grp 1: DG1_0001&lt;br /&gt;Mon May&amp;nbsp; 4 20:38:57 2009&lt;br /&gt;SUCCESS: refreshed membership for 1/0x232d91d7 (DG1)&lt;br /&gt;Mon May&amp;nbsp; 4 20:38:58 2009&lt;br /&gt;Errors in file /u00/app/oracle/admin/+ASM/bdump/+asm_gmon_6999.trc:&lt;br /&gt;ORA-27091: unable to queue I/O&lt;br /&gt;ORA-27072: File I/O error&lt;br /&gt;Intel SVR4 UNIX Error: 5: I/O error&lt;br /&gt;Additional information: 4&lt;br /&gt;Additional information: 2048&lt;br /&gt;Additional information: -1&lt;br /&gt;Mon May&amp;nbsp; 4 20:38:58 2009&lt;br /&gt;Errors in file /u00/app/oracle/admin/+ASM/bdump/+asm_gmon_6999.trc:&lt;br /&gt;ORA-27091: unable to queue I/O&lt;br /&gt;ORA-27072: File I/O error&lt;br /&gt;Intel SVR4 UNIX Error: 5: I/O error&lt;br /&gt;Additional information: 4&lt;br /&gt;Additional information: 2056&lt;br /&gt;Additional information: -1&lt;br /&gt;Mon May&amp;nbsp; 4 20:40:14 2009&lt;br /&gt;WARNING: PST-initiated drop disk 1(590189015).1(4041040168) (DG1_0001)&lt;br /&gt;NOTE: PST update: grp = 1&lt;br /&gt;Mon May&amp;nbsp; 4 20:40:14 2009&lt;br /&gt;NOTE: group DG1: relocated PST to: disk 0000 (PST copy 0)&lt;br /&gt;Mon May&amp;nbsp; 4 20:40:14 2009&lt;br /&gt;NOTE: requesting all-instance membership refresh for group=1&lt;br /&gt;Mon May&amp;nbsp; 4 20:40:14 2009&lt;br /&gt;NOTE: membership refresh pending for group 1/0x232d91d7 (DG1)&lt;br /&gt;SUCCESS: refreshed membership for 1/0x232d91d7 (DG1)&lt;br /&gt;Mon May&amp;nbsp; 4 20:40:16 2009&lt;br /&gt;SUCCESS: PST-initiated disk drop completed&lt;br /&gt;Mon May&amp;nbsp; 4 20:40:17 2009&lt;br /&gt;Errors in file /u00/app/oracle/admin/+ASM/bdump/+asm_gmon_6999.trc:&lt;br /&gt;ORA-27091: unable to queue I/O&lt;br /&gt;ORA-27072: File I/O error&lt;br /&gt;Intel SVR4 UNIX Error: 5: I/O error&lt;br /&gt;Additional information: 4&lt;br /&gt;Additional information: 2048&lt;br /&gt;Additional information: -1&lt;br /&gt;Mon May&amp;nbsp; 4 20:40:17 2009&lt;br /&gt;Errors in file /u00/app/oracle/admin/+ASM/bdump/+asm_gmon_6999.trc:&lt;br /&gt;ORA-27091: unable to queue I/O&lt;br /&gt;ORA-27072: File I/O error&lt;br /&gt;Intel SVR4 UNIX Error: 5: I/O error&lt;br /&gt;Additional information: 4&lt;br /&gt;Additional information: 2056&lt;br /&gt;Additional information: -1&lt;br /&gt;Mon May&amp;nbsp; 4 20:40:19 2009&lt;br /&gt;NOTE: starting rebalance of group 1/0x232d91d7 (DG1) at power 1&lt;br /&gt;Starting background process ARB0&lt;br /&gt;ARB0 started with pid=13, OS id=7605&lt;br /&gt;Mon May&amp;nbsp; 4 20:40:19 2009&lt;br /&gt;NOTE: assigning ARB0 to group 1/0x232d91d7 (DG1)&lt;br /&gt;Mon May&amp;nbsp; 4 20:40:20 2009&lt;br /&gt;&lt;b&gt;......&lt;br /&gt;!!!!!950 LINES WITH CONTENTS LIKE!!!!!!!&lt;br /&gt;ERROR: group 1, file 265, extent 1013: filling extent with BADFDATA&lt;br /&gt;......&lt;br /&gt;&lt;/b&gt;&lt;/i&gt;&lt;i&gt;Mon May&amp;nbsp; 4 20:41:04 2009&lt;br /&gt;NOTE: stopping process ARB0&lt;br /&gt;Mon May&amp;nbsp; 4 20:41:04 2009&lt;br /&gt;SUCCESS: rebalance completed for group 1/0x232d91d7 (DG1)&lt;br /&gt;Mon May&amp;nbsp; 4 20:41:04 2009&lt;br /&gt;SUCCESS: rebalance completed for group 1/0x232d91d7 (DG1)&lt;br /&gt;NOTE: PST update: grp = 1&lt;br /&gt;Mon May&amp;nbsp; 4 20:41:04 2009&lt;br /&gt;NOTE: group DG1: relocated PST to: disk 0000 (PST copy 0)&lt;br /&gt;Mon May&amp;nbsp; 4 20:41:04 2009&lt;br /&gt;WARNING: offline disk number 1 has references (119 AUs)&lt;br /&gt;NOTE: PST update: grp = 1&lt;br /&gt;Mon May&amp;nbsp; 4 20:41:04 2009&lt;br /&gt;NOTE: group DG1: relocated PST to: disk 0000 (PST copy 0)&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;The recompile and dml sessions crashed. The database instance crashed.&lt;br /&gt;&lt;br /&gt;Here again the query for the asm diskgroup, which again hangs for a while:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;select d.name disk_name,g.name group_name,d.path,d.total_mb,d.free_mb&lt;br /&gt;from v$asm_disk d, v$asm_diskgroup g&lt;br /&gt;where d.group_number = g.group_number (+)&lt;br /&gt;and g.name=&amp;#39;DG1&amp;#39;&lt;br /&gt;;&lt;br /&gt;&lt;br /&gt;DISK_NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GROUP_NAME&amp;nbsp; PATH&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TOTAL_MB&amp;nbsp;&amp;nbsp;&amp;nbsp; FREE_MB&lt;br /&gt;---------------- ----------- ----------------------- ---------- ----------&lt;br /&gt;DG1_0000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /asm_disks/local.disk1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2038&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 28&lt;br /&gt;DG1_0001&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DG1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2038&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1917&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;What is DG1_0001&amp;#39;s state?&lt;br /&gt;&lt;br /&gt;&lt;i&gt;select state, mode_status, mount_status from v$asm_disk where name=&amp;#39;DG1_0001&amp;#39;;&lt;br /&gt;&lt;br /&gt;STATE&amp;nbsp;&amp;nbsp;&amp;nbsp; MODE_STATUS&amp;nbsp;&amp;nbsp; MOUNT_STATUS&lt;br /&gt;-------- ------------- -------------&lt;br /&gt;HUNG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OFFLINE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MISSING&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;asmcmd lsdg Output:&lt;br /&gt;&lt;i&gt;ASMCMD&amp;gt; lsdg&lt;br /&gt;State&amp;nbsp;&amp;nbsp;&amp;nbsp; Type&amp;nbsp;&amp;nbsp;&amp;nbsp; Rebal&amp;nbsp; Unbal&amp;nbsp; Sector&amp;nbsp; Block&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AU&amp;nbsp; Total_MB&amp;nbsp; Free_MB&amp;nbsp; Req_mir_free_MB&amp;nbsp; Usable_file_MB&amp;nbsp; Offline_disks&amp;nbsp; Name&lt;br /&gt;MOUNTED&amp;nbsp; NORMAL&amp;nbsp; N&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; N&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 512&amp;nbsp;&amp;nbsp; 4096&amp;nbsp; 1048576&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2038&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 28&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp; DG1/&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;So what is going on here? ASM Diskgroup stayed mounted and marked some asm file extents with &lt;b&gt;BADFDATA&lt;/b&gt;. This is obviously somewhat of a corruption in the asm file. And of course certain I/O failed which led to the instance crash. So how can we repair this situation? Lets first resume the iscsi target server and so the &lt;i&gt;/asm_disks/iscsi.lun1&lt;/i&gt; device. And now the iscsi disk must be synced, but there were files which we did not mirror. I do not want to just clear and add back the disk. No chance for the data on the disk? I restarted asm instance and hoped for its intelligence. Nope that did not help! Same situation! So I added another disk to the diskgroup and afterwards I should at least be able to drop the failed disk.&lt;/p&gt;&lt;p&gt;&lt;i&gt;Mon May&amp;nbsp; 4 21:03:09 2009&lt;br /&gt;SQL&amp;gt; alter diskgroup dg1 add disk &amp;#39;/asm_disks/local.disk2&amp;#39;&lt;br /&gt;Mon May&amp;nbsp; 4 21:03:09 2009&lt;br /&gt;WARNING: ignoring disk /asm_disks/iscsi.lun1 in deep discovery&lt;br /&gt;NOTE: initializing header on grp 1 disk DG1_0002&lt;br /&gt;WARNING: ignoring disk /asm_disks/iscsi.lun1 in deep discovery&lt;br /&gt;NOTE: cache opening disk 2 of grp 1: DG1_0002 path:/asm_disks/local.disk2&lt;br /&gt;NOTE: PST update: grp = 1&lt;br /&gt;Mon May&amp;nbsp; 4 21:03:10 2009&lt;br /&gt;NOTE: group DG1: relocated PST to: disk 0000 (PST copy 0)&lt;br /&gt;NOTE: group DG1: relocated PST to: disk 0002 (PST copy 1)&lt;br /&gt;Mon May&amp;nbsp; 4 21:03:10 2009&lt;br /&gt;NOTE: requesting all-instance disk validation for group=1&lt;br /&gt;Mon May&amp;nbsp; 4 21:03:10 2009&lt;br /&gt;NOTE: disk validation pending for group 1/0x30d05295 (DG1)&lt;br /&gt;SUCCESS: validated disks for 1/0x30d05295 (DG1)&lt;br /&gt;Mon May&amp;nbsp; 4 21:03:11 2009&lt;br /&gt;NOTE: PST update: grp = 1&lt;br /&gt;NOTE: requesting all-instance membership refresh for group=1&lt;br /&gt;Mon May&amp;nbsp; 4 21:03:11 2009&lt;br /&gt;NOTE: membership refresh pending for group 1/0x30d05295 (DG1)&lt;br /&gt;SUCCESS: refreshed membership for 1/0x30d05295 (DG1)&lt;br /&gt;Mon May&amp;nbsp; 4 21:03:14 2009&lt;br /&gt;NOTE: requesting all-instance membership refresh for group=1&lt;br /&gt;Mon May&amp;nbsp; 4 21:03:14 2009&lt;br /&gt;NOTE: membership refresh pending for group 1/0x30d05295 (DG1)&lt;br /&gt;SUCCESS: refreshed membership for 1/0x30d05295 (DG1)&lt;br /&gt;Mon May&amp;nbsp; 4 21:03:20 2009&lt;br /&gt;NOTE: starting rebalance of group 1/0x30d05295 (DG1) at power 1&lt;br /&gt;Starting background process ARB0&lt;br /&gt;ARB0 started with pid=12, OS id=7723&lt;br /&gt;Mon May&amp;nbsp; 4 21:03:20 2009&lt;br /&gt;NOTE: assigning ARB0 to group 1/0x30d05295 (DG1)&lt;br /&gt;Mon May&amp;nbsp; 4 21:03:20 2009&lt;br /&gt;NOTE: F1X0 copy 2 relocating from 1:2 to 2:2&lt;br /&gt;NOTE: F1X0 copy 3 relocating from 65534:4294967294 to 65534:4294967294&lt;br /&gt;Mon May&amp;nbsp; 4 21:05:45 2009&lt;br /&gt;NOTE: stopping process ARB0&lt;br /&gt;Mon May&amp;nbsp; 4 21:05:48 2009&lt;br /&gt;SUCCESS: rebalance completed for group 1/0x30d05295 (DG1)&lt;br /&gt;Mon May&amp;nbsp; 4 21:05:48 2009&lt;br /&gt;SUCCESS: rebalance completed for group 1/0x30d05295 (DG1)&lt;br /&gt;NOTE: PST update: grp = 1&lt;br /&gt;WARNING: offline disk number 1 has references (3 AUs)&lt;br /&gt;NOTE: PST update: grp = 1&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Yes but now I realized that contents of disk &lt;i&gt;/asm_disks/iscsi.lun1&lt;/i&gt; are lost forever. No problem for all files with mirrored asm templates (redo logs, controlfiles, spfile in my case). But a big problem for datafiles and tempfiles. The latter I could manage, the first not. I have asm file extents in there with the &lt;b&gt;BADFDATA &lt;/b&gt;marks.&lt;br /&gt;&lt;br /&gt;I started the database instance and I saw that my bad apprehension was so so true:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;SQL&amp;gt; startup&lt;br /&gt;ORACLE instance started.&lt;br /&gt;&lt;br /&gt;Total System Global Area&amp;nbsp; 209715200 bytes&lt;br /&gt;Fixed Size&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1286488 bytes&lt;br /&gt;Variable Size&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 71306920 bytes&lt;br /&gt;Database Buffers&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 134217728 bytes&lt;br /&gt;Redo Buffers&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2904064 bytes&lt;br /&gt;Database mounted.&lt;br /&gt;ORA-01122: database file 1 failed verification check&lt;br /&gt;ORA-01110: data file 1: &amp;#39;+DG1/saturn_site1/datafile/system.261.685993521&amp;#39;&lt;br /&gt;ORA-01251: Unknown File Header Version read for file number 1&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;So in production this would mean full database restore.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Summary:&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;/b&gt;I have tested 3 scenarios:&lt;br /&gt;1. A DB on a mirrored diskgroup&lt;br /&gt;2. A DB on an unprotected diskgroup&lt;br /&gt;3. A DB on a mirrored diskgroup with datafiles based on unprotected asm templates&lt;br /&gt;&lt;br /&gt;I brought load on the database and simulated a crash of one out of two asm disks, which can be compared with a partial LUN failure in production systems.&lt;br /&gt;&lt;br /&gt;In first scenario, database instance stayed available as expected. Redundancy could be restored later on. In second scenario, the database instance crashed, but could be started up again without problems after &amp;quot;repairing&amp;quot; the failed LUN. In the third scenario, ASM marked file extents with a magic &lt;b&gt;&amp;quot;BADFDATA&amp;quot;&lt;/b&gt; entry and corrupted the files that were not mirrored. All data was lost.&lt;br /&gt;&lt;br /&gt;So what can we learn for productive systems:&lt;br /&gt;UNPROTECTED asm templates in diskgroups with normal mirrored redundancy can lead to data loss. It is not a good idea to implement diskgroups like this. If you cannot afford mirroring the datafiles use external redundancy and mirror controlfiles, redo logs by multiplexing on the upper layer. Controlfiles can be mirrored as usual with multiple entries in init.ora parameter &lt;i&gt;control_files&lt;/i&gt;. Redo log files are mirrored by defining multiple members for each group.&lt;br /&gt;&lt;br /&gt;Have fun and take care Mathias&lt;/p&gt;&lt;img src="http://blog.trivadis.com/aggbug.aspx?PostID=35629" width="1" height="1"&gt;</description><category domain="http://blog.trivadis.com/blogs/mathiaszarick/archive/tags/Oracle/default.aspx">Oracle</category><category domain="http://blog.trivadis.com/blogs/mathiaszarick/archive/tags/ASM/default.aspx">ASM</category></item></channel></rss>