<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Yann Neuhaus Blog</title><link>http://blog.trivadis.com/blogs/yannneuhaus/default.aspx</link><description>All around High Availability (Open Source and Oracle)</description><dc:language /><generator>CommunityServer 2007.1 (Build: 20917.1142)</generator><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/trivadis/yannneuhaus" type="application/rss+xml" /><item><title>Oracle on Linux : yes of course; but which one ?</title><link>http://feedproxy.google.com/~r/trivadis/yannneuhaus/~3/DMF--mreTHI/oracle-on-linux-yes-of-course-but-which-one.aspx</link><pubDate>Sun, 28 Dec 2008 21:42:00 GMT</pubDate><guid isPermaLink="false">7f420732-9615-472e-9723-d9bd9f35b01c:17592</guid><dc:creator>Yann Neuhaus</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://blog.trivadis.com/blogs/yannneuhaus/rsscomments.aspx?PostID=17592</wfw:commentRss><comments>http://blog.trivadis.com/blogs/yannneuhaus/archive/2008/12/28/oracle-on-linux-yes-of-course-but-which-one.aspx#comments</comments><description>&lt;font size="3"&gt;&lt;span&gt;&lt;font face="Verdana"&gt;&lt;span&gt;From time to time this discussion starts by Customers but also inside my company (Trivadis &lt;/span&gt;&lt;span style="FONT-FAMILY:Wingdings;mso-ascii-font-family:Verdana;mso-hansi-font-family:Verdana;mso-char-type:symbol;mso-symbol-font-family:Wingdings;"&gt;&lt;span style="mso-char-type:symbol;mso-symbol-font-family:Wingdings;"&gt;J&lt;/span&gt;&lt;/span&gt;&lt;span&gt;). I won&amp;#39;t allow me to provide a definitive statement in the name of Trivadis. This would be anyway difficult because our consultants have sometimes different point of view, they are humans, not robots &lt;/span&gt;&lt;span style="FONT-FAMILY:Wingdings;mso-ascii-font-family:Verdana;mso-hansi-font-family:Verdana;mso-char-type:symbol;mso-symbol-font-family:Wingdings;"&gt;&lt;span style="mso-char-type:symbol;mso-symbol-font-family:Wingdings;"&gt;J&lt;/span&gt;&lt;/span&gt;&lt;span&gt;. However I really would like to give you some information which could be useful for your Linux choice by deploying Oracle Based Architecture (RDBMS servers for instance). &lt;span style="COLOR:black;"&gt;This blog entry has been posted after several mails exchanges within our Oracle/Linux specialists and this topic has been already presented during our &amp;quot;Enterprise Linux for databases&amp;quot; Technocircle.&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;Of course this post only focuses on the currently Oracle Certified Linux releases like :&lt;/span&gt; 
&lt;ul style="MARGIN-TOP:0cm;"&gt;
&lt;li class="MsoNormal" style="MARGIN:0cm 0cm 0pt 36pt;tab-stops:list 36.0pt;mso-list:l0 level1 lfo1;"&gt;&lt;span&gt;SuSE Linux &lt;/span&gt;&lt;span&gt;Enterprise&lt;/span&gt;&lt;span&gt; (SLES) &lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="MARGIN:0cm 0cm 0pt 36pt;tab-stops:list 36.0pt;mso-list:l0 level1 lfo1;"&gt;&lt;span&gt;Red Hat &lt;/span&gt;&lt;span&gt;Enterprise&lt;/span&gt;&lt;span&gt; Linux (RHEL)&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="MARGIN:0cm 0cm 0pt 36pt;tab-stops:list 36.0pt;mso-list:l0 level1 lfo1;"&gt;&lt;span&gt;Oracle Enterprise/Unbreakable Linux (OEL) &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span&gt;and not on other distributions like Ubuntu, Slackware, aso ...&lt;/span&gt;&lt;/p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span&gt;The several Linux distributions provide different advantages and drawbacks. Should one of this advantage be very important (critical) for you, you should choose this distribution. However if you find the same amount of advantages on all the available distributions, you&amp;#39;ll have to valuate these drawback/advantages to identify the most important ones for you (i.e easy network administration, support of some filesystems, aso ...)&lt;/span&gt;&lt;/p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span&gt;Please also considerate the available know-how in your organization, why choose Red Hat if you already have several very good SuSE administrators in your team, or reverse, of course ...&lt;/span&gt;&lt;/p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span&gt;The following lists will present the Oracle-related advantage and drawbacks offered by each Oracle distribution.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;u&gt;&lt;span&gt;SuSE Linux &lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;u&gt;&lt;span&gt;Enterprise&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;u&gt;&lt;span&gt; Server (SLES)&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="COLOR:#339966;"&gt;+&lt;/span&gt;&lt;/b&gt;&lt;span&gt; Very large package repository&lt;/span&gt;&lt;/p&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="COLOR:#339966;"&gt;+&lt;/span&gt;&lt;/b&gt;&lt;span&gt; Centralized administration tool (YaST), allowing to solve a large part of the administration tasks: disk management (including Logical Volume Manager), User handling, Network configuration, and so on ...&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="COLOR:#339966;"&gt;+&lt;/span&gt;&lt;/b&gt;&lt;span&gt; SLES is by default delivered with OCFS2, the Oracle Cluster Filessystem. This could be useful for Failover clusters (Clusterware) or for RAC (Real Application Clusters) deployment&lt;/span&gt;&lt;/p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="COLOR:#339966;"&gt;+&lt;/span&gt;&lt;/b&gt;&lt;span&gt; Heartbeat is provided by SuSE as a Failover cluster technology. Even if not officially supported by Oracle, Heartbeat offers a quite interesting protection level for other services like FTP servers, WEB servers, aso ...&lt;/span&gt;&lt;/p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="COLOR:red;"&gt;-&lt;/span&gt;&lt;/b&gt;&lt;span&gt; YAST uses it’s own configuration files, sometimes it overwrites self-made configurations&lt;/span&gt;&lt;/p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="COLOR:red;"&gt;-&lt;/span&gt;&lt;/b&gt;&lt;span&gt; SLES is not (anymore) the preferred/development platform for Oracle&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;u&gt;&lt;span&gt;Red Hat&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="COLOR:#339966;"&gt;+&lt;/span&gt;&lt;/b&gt;&lt;span&gt; On Red Hat 4, Oracle supports 9iR2, 10gR1, 10gR2 and 11gR1, which is not possible on SLES distributions&lt;/span&gt;&lt;/p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="COLOR:#339966;"&gt;+&lt;/span&gt;&lt;/b&gt;&lt;span&gt; Satellite Server centralized update and package management tool&lt;/span&gt;&lt;/p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="COLOR:#339966;"&gt;+&lt;/span&gt;&lt;/b&gt;&lt;span&gt; Very fast updates or patches in case of any vulnerability. Sometimes RedHat provides daily new updates&lt;/span&gt;&lt;/p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="COLOR:red;"&gt;-&lt;/span&gt;&lt;/b&gt;&lt;span&gt; Distribution has generally not the most recent available packages versions included&lt;/span&gt;&lt;/p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="COLOR:red;"&gt;-&lt;/span&gt;&lt;/b&gt;&lt;span&gt; Compared to SuSE, less software is included&lt;/span&gt;&lt;/p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="COLOR:red;"&gt;-&lt;/span&gt;&lt;/b&gt;&lt;span&gt; Red Hat cluster is not really on the quality level we expected. Some issues in the Oracle start stop procedures have been identified in Red Cluster 5 making the cohabitation of two Oracle instances in parallel on the same cluster impossible&lt;/span&gt;&lt;/p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="COLOR:red;"&gt;- &lt;/span&gt;&lt;/b&gt;&lt;span&gt;In parallel we had the &amp;quot;opportunity&amp;quot; to test the support for the Red Hat Cluster technology and we had to admit that it was far from our expectations &lt;/span&gt;&lt;span style="FONT-FAMILY:Wingdings;mso-ascii-font-family:Verdana;mso-hansi-font-family:Verdana;mso-char-type:symbol;mso-symbol-font-family:Wingdings;"&gt;&lt;span style="mso-char-type:symbol;mso-symbol-font-family:Wingdings;"&gt;J&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="COLOR:red;"&gt;- &lt;/span&gt;&lt;/b&gt;&lt;span&gt;Unfortunately OCFS2 must be separately loaded and installed (through rpm) on Red Hat (directly included into SLES2)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;u&gt;&lt;span&gt;Oracle Enterprise/Unbreakable Linux (OEL)&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="COLOR:#339966;"&gt;+&lt;/span&gt;&lt;/b&gt;&lt;span&gt; Same advantages than Red Hat, plus :&lt;/span&gt;&lt;/p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="COLOR:#339966;"&gt;+&lt;/span&gt;&lt;/b&gt;&lt;span&gt; Well configured for Oracle, favoured by Oracle and current development platform for Oracle. All in one &lt;/span&gt;&lt;span style="FONT-FAMILY:Wingdings;mso-ascii-font-family:Verdana;mso-hansi-font-family:Verdana;mso-char-type:symbol;mso-symbol-font-family:Wingdings;"&gt;&lt;span style="mso-char-type:symbol;mso-symbol-font-family:Wingdings;"&gt;J&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="COLOR:#339966;"&gt;+&lt;/span&gt;&lt;/b&gt; OCFS2 packages missing with Red Hat are already available, this makes Clusterware even more interesting&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="COLOR:#339966;"&gt;+&lt;/span&gt;&lt;/b&gt; ASMLibs also directly available in OEL&lt;/span&gt;&lt;/p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="COLOR:#339966;"&gt;+&lt;/span&gt;&lt;/b&gt;&lt;span&gt; Based on Red Hat (but with Oracle support, which could be a benefit compared to the Red Hat support)&lt;/span&gt;&lt;/p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="COLOR:#339966;"&gt;+&lt;/span&gt;&lt;/b&gt;&lt;span&gt; Clusterware supported by Oracle as soon as OEL has been licensed. Clusterware come a serious competitor to Red Hat Cluster or Veritas cluster or even against pure Open Source solutions like Heartbeat and DRBD&lt;/span&gt;&lt;/p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="COLOR:#339966;"&gt;+&lt;/span&gt;&lt;/b&gt;&lt;span&gt; Support/License pricing seems much cheaper&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="COLOR:red;"&gt;-&lt;/span&gt;&lt;/b&gt;&lt;span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;Some extra (hardware provider) components could not be easily installed because this distribution is whether a Red Hat nor a SuSe and therefore unknown for some packages&lt;/span&gt;&lt;/p&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;u&gt;&lt;span&gt;Summary&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p&gt;&lt;span&gt;For pure Oracle business, Oracle Enterprise Linux (and therefore &amp;quot;Clusterware for Free&amp;quot;) seems to be the most interesting choice and Trivadis is also convinced that this would be the right Linux to deploy for Oracle based business. However do not underestimate the current Linux situation in your environment, never change a running system, if you are fully happy on SLES, use SLES, the same for Red Hat. Another issue could be that other applications beside Oracle are not OEL certified, therefore a withdraw to RHEL could be necessary.&lt;/span&gt;&lt;/p&gt;&lt;span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;img src="http://blog.trivadis.com/aggbug.aspx?PostID=17592" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/trivadis/yannneuhaus/~4/DMF--mreTHI" height="1" width="1"/&gt;</description><feedburner:origLink>http://blog.trivadis.com/blogs/yannneuhaus/archive/2008/12/28/oracle-on-linux-yes-of-course-but-which-one.aspx</feedburner:origLink></item><item><title>Change archivelog destination in a Data Guard environment</title><link>http://feedproxy.google.com/~r/trivadis/yannneuhaus/~3/qDaf3x-evQg/change-archivelog-destination-in-a-data-guard-environment.aspx</link><pubDate>Thu, 16 Oct 2008 12:39:00 GMT</pubDate><guid isPermaLink="false">7f420732-9615-472e-9723-d9bd9f35b01c:2252</guid><dc:creator>Yann Neuhaus</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blog.trivadis.com/blogs/yannneuhaus/rsscomments.aspx?PostID=2252</wfw:commentRss><comments>http://blog.trivadis.com/blogs/yannneuhaus/archive/2008/10/16/change-archivelog-destination-in-a-data-guard-environment.aspx#comments</comments><description>&lt;p&gt;&lt;font size="2"&gt;The purpose of this small post is to explain a smooth way to change the archivelog destination within a running Data Guard environment. Such an operation is not so complex, however the goal will be to keep everything online and avoid the creation of unnecessary parameters...&lt;br /&gt;&lt;br /&gt;Let&amp;#39;s consider that Fast Start Failover is activated.&lt;br /&gt;&lt;br /&gt;The Data Guard configuration is DB10TST2 and the two databases are DB10TST2_SITE1 and DB10TST2_SITE2. Currently the archive destination is /u90/archive/DB10TST2, it should be changed to /app/oracle/admin/DB10TST2/arch. This directory is the default archive log destination on primary but also the reception directory on the standby side.&lt;br /&gt;&lt;br /&gt;Let&amp;#39;s start the procedure.&lt;br /&gt;&lt;br /&gt;First of all change the log_archive_dest_1 to the new destination on both the primary and standby databases. To make sure that the parameter is really considered, we change it for the instance &amp;quot;DB10TST2&amp;quot; and for &amp;quot;*&amp;quot;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:10pt;color:black;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:10pt;color:black;font-family:&amp;#39;Courier New&amp;#39;;"&gt;ALTER SYSTEM SET log_archive_dest_1=&amp;#39;location=&amp;quot;/app/oracle/admin/DB10TST2/arch&amp;quot;, valid_for=(ONLINE_LOGFILE,ALL_ROLES)&amp;#39; scope=both sid=&amp;#39;*&amp;#39;;&lt;br /&gt;ALTER SYSTEM SET log_archive_dest_1=&amp;#39;location=&amp;quot;/app/oracle/admin/DB10TST2/arch&amp;quot;, valid_for=(ONLINE_LOGFILE,ALL_ROLES)&amp;#39; scope=both sid=&amp;#39;DB10TST2&amp;#39;;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;font size="2"&gt;As we can see, the parameter log_archive_dest_1 can be changed online into the running instances. This change must be performed BEFORE the changes of the Data Guard property StandbyArchiveLocation. If not, log_archive_dest_1 and StandbyArchiveLocation will differ and the Data Guard broker will automatically create a parameter log_archive_dest_2 which is of course not wished.&lt;br /&gt;&lt;br /&gt;Therefore in a second step, change the StandbyArchiveLocation for the both sites with dgmgrl:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:10pt;color:black;font-family:&amp;#39;Courier New&amp;#39;;"&gt;edit database &amp;#39;DB10TST2_SITE1&amp;#39; set property StandbyArchiveLocation = &amp;#39;/app/oracle/admin/DB10TST2/arch&amp;#39;;&lt;br /&gt;edit database &amp;#39;DB10TST2_SITE2&amp;#39; set property StandbyArchiveLocation = &amp;#39;/app/oracle/admin/DB10TST2/arch&amp;#39;;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Verify that all is OK and that no log_archive_dest2 appeared on the standby side, by checking the alert.log file of the both instances.&lt;br /&gt;&lt;br /&gt;To be sure that Data Guard reacts correctly to this new configuration, it is possible to disable and enable the configuation :&lt;/font&gt;&lt;font size="2"&gt; 
&lt;/font&gt;&lt;p&gt;&lt;span style="font-size:10pt;color:black;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;DGMGRL&amp;gt; disable fast_start failover;&lt;br /&gt;Disabled.&lt;br /&gt;&lt;br /&gt;DGMGRL&amp;gt; disable configuration;&lt;br /&gt;Disabled.&lt;br /&gt;&lt;br /&gt;DGMGRL&amp;gt; enable configuration;&lt;br /&gt;Enabled.&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;color:black;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;DGMGRL&amp;gt; enable fast_start failover;&lt;br /&gt;Enabled.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;DGMGRL&amp;gt; start observer;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font size="2"&gt;Have fun with Data Guard.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://blog.trivadis.com/aggbug.aspx?PostID=2252" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/trivadis/yannneuhaus/~4/qDaf3x-evQg" height="1" width="1"/&gt;</description><feedburner:origLink>http://blog.trivadis.com/blogs/yannneuhaus/archive/2008/10/16/change-archivelog-destination-in-a-data-guard-environment.aspx</feedburner:origLink></item><item><title>ORA-01031: insufficient privileges</title><link>http://feedproxy.google.com/~r/trivadis/yannneuhaus/~3/5LJsGZBVDx4/ora-01031-insufficient-privileges.aspx</link><pubDate>Mon, 08 Sep 2008 20:09:00 GMT</pubDate><guid isPermaLink="false">7f420732-9615-472e-9723-d9bd9f35b01c:1191</guid><dc:creator>Yann Neuhaus</dc:creator><slash:comments>7</slash:comments><wfw:commentRss>http://blog.trivadis.com/blogs/yannneuhaus/rsscomments.aspx?PostID=1191</wfw:commentRss><comments>http://blog.trivadis.com/blogs/yannneuhaus/archive/2008/09/08/ora-01031-insufficient-privileges.aspx#comments</comments><description>&lt;p&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;CG Omega&amp;#39;;"&gt;&lt;font face="Times New Roman"&gt;Did you never fight with &amp;quot;ORA-01031: insufficient privileges&amp;quot; errors while trying to connect with &amp;quot;/ as sysdba&amp;quot; to your local database. &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;CG Omega&amp;#39;;"&gt;&lt;font face="Times New Roman"&gt;No jealousies, both Unix and Windows platforms could be concerned &lt;img src="http://blog.trivadis.com/emoticons/emotion-1.gif" alt="Smile" /&gt;. &lt;/font&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;CG Omega&amp;#39;;"&gt;&lt;font face="Times New Roman"&gt;Without entering in the details, this small post will try to present some of the most common reasons of &lt;b&gt;&amp;quot;ORA-01031: insufficient privileges&amp;quot;&lt;/b&gt; while trying to connect locally on a database.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;CG Omega&amp;#39;;"&gt;&lt;font face="Times New Roman"&gt;&lt;/font&gt;&lt;/span&gt;&lt;b&gt;&lt;u&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;CG Omega&amp;#39;;"&gt;&lt;font face="Times New Roman"&gt;Concerning UNIX&lt;/font&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;b&gt;&lt;u&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;CG Omega&amp;#39;;"&gt;&lt;font face="Times New Roman"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;CG Omega&amp;#39;;"&gt;&lt;font face="Times New Roman"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;CG Omega&amp;#39;;"&gt;&lt;font face="Times New Roman"&gt;First of all, to avoid this error, the &amp;quot;oracle&amp;quot; user (i.e oracle) must be in the &amp;lt;OSDBA&amp;gt; group (dba). &lt;/font&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;CG Omega&amp;#39;;"&gt;&lt;font face="Times New Roman"&gt;On some platforms, make sure that the dba group is really called &amp;quot;dba&amp;quot; (as advised in the documentation by the way) and not something like &amp;quot;osdba&amp;quot; for instance. See the Metalink Note 308151.1 about this topic. On HP-UX, Oracle 10.2.0.1 is delivered with an &amp;quot;hard coded&amp;quot; &amp;lt;OSDBA&amp;gt; group name in the file $ORACLE_HOME/rdbms/lib/config.c :&lt;/font&gt;&lt;/span&gt; 
&lt;/p&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;CG Omega&amp;#39;;"&gt;&lt;font face="Times New Roman"&gt;&lt;/font&gt;&lt;/span&gt;&lt;div style="border:1pt solid windowtext;padding:1pt 4pt;"&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;cat config.c &lt;br /&gt;/*&amp;nbsp; SS_DBA_GRP defines the UNIX group ID for sqldba adminstrative access.&amp;nbsp; */ &lt;br /&gt;/*&amp;nbsp; Refer to the Installation and User&amp;#39;s Guide for further information.&amp;nbsp; */ &lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;#define SS_DBA_GRP &amp;quot;dba&amp;quot; &lt;br /&gt;#define SS_OPER_GRP &amp;quot;dba&amp;quot; &lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;char *ss_dba_grp[] = {SS_DBA_GRP, SS_OPER_GRP};&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;CG Omega&amp;#39;;"&gt;&lt;font face="Times New Roman"&gt; &lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;CG Omega&amp;#39;;"&gt;&lt;font face="Times New Roman"&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;CG Omega&amp;#39;;"&gt;&lt;font face="Times New Roman"&gt;If the &amp;lt;OSDBA&amp;gt; group is not called &amp;quot;dba&amp;quot;, the Oracle installation will be successful but the &amp;quot;connect /&amp;quot; will result in &amp;quot;ORA-01031: insufficient privileges&amp;quot; errors.&lt;/font&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;CG Omega&amp;#39;;"&gt;&lt;font face="Times New Roman"&gt;To fix this situation you can : &lt;br /&gt;&lt;br /&gt;- change &amp;quot;dba&amp;quot; to your &amp;lt;OSDBA&amp;gt; group name in config.c &lt;br /&gt;- rename your &amp;lt;OSDBA&amp;gt; group to &amp;quot;dba&amp;quot; in /etc/group &lt;/font&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;CG Omega&amp;#39;;"&gt;&lt;font face="Times New Roman"&gt;Another common reason for this kind of errors, could be that the ORACLE_HOME has been copied from another server to the using a simple scp command with the user oracle. As a consequence, all the sticky bits will be lost, for instance&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style="border:1pt solid windowtext;padding:1pt 4pt;"&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;/u00/app/oracle/product/rdbms10203/bin/ [rdbms10203] ls -l oracle &lt;br /&gt;-rwxr-x--x&amp;nbsp;&amp;nbsp; 1 oracle&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dba&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 35471360 Aug 22 10:09 oracle &lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;instead of : &lt;br /&gt;&lt;b&gt;-rwsr-s--x&lt;/b&gt;&amp;nbsp;&amp;nbsp; 1 oracle&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dba&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 284361408 Aug 21 &lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;16:30&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt; oracle &lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;CG Omega&amp;#39;;"&gt;&lt;font face="Times New Roman"&gt;&lt;br /&gt;Or &lt;/font&gt;&lt;/span&gt;
&lt;div style="border:1pt solid windowtext;padding:1pt 4pt;"&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;/u00/app/oracle/product/rdbms10203/bin/ [rdbms10203] ls -lrt oradism &lt;br /&gt;-r-sr-s---&amp;nbsp;&amp;nbsp; 1 oracle&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dba&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 75648 Aug 22 10:10 oradism &lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;instead of : &lt;br /&gt;-r-sr-s---&amp;nbsp;&amp;nbsp; 1 root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dba&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 75648 &lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;Apr 11&amp;nbsp; 2007&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt; oradism &lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;CG Omega&amp;#39;;"&gt;&lt;font face="Times New Roman"&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;CG Omega&amp;#39;;"&gt;&lt;font face="Times New Roman"&gt;It is possible to fix back the right permissions on an ORACLE_HOME copied as oracle (and not as root). Start the following scripts:&lt;/font&gt;&lt;/span&gt; 
&lt;div style="border:1pt solid windowtext;padding:1pt 4pt;"&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;$ORACLE_HOME/bin/relink all &lt;br /&gt;$ORACLE_HOME/root.sh (as root) &lt;br /&gt;$ORACLE_HOME/install/changePerm.sh &lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;CG Omega&amp;#39;;"&gt;&lt;font face="Times New Roman"&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;CG Omega&amp;#39;;"&gt;&lt;font face="Times New Roman"&gt;Of course an ORACLE_HOME should be copied as root with the following statement : &lt;/font&gt;&lt;/span&gt;
&lt;div style="border:1pt solid windowtext;padding:1pt 4pt;"&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;tar cvzpf - {your_oracle_home} | ssh {remote_server} &amp;quot;(cd $PWD; tar xvzpf -)&amp;quot; &lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;CG Omega&amp;#39;;"&gt;&lt;font face="Times New Roman"&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;CG Omega&amp;#39;;"&gt;&lt;font face="Times New Roman"&gt;Note the &amp;quot;p&amp;quot; flag to preserve the permissions (sticky bits and root ownership). &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;CG Omega&amp;#39;;"&gt;&lt;font face="Times New Roman"&gt;&lt;/font&gt;&lt;/span&gt;&lt;b&gt;&lt;u&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;CG Omega&amp;#39;;"&gt;&lt;font face="Times New Roman"&gt;Concerning the Windows platform&lt;/font&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;CG Omega&amp;#39;;"&gt;&lt;font face="Times New Roman"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;CG Omega&amp;#39;;"&gt;&lt;font face="Times New Roman"&gt;Please find below the main reasons why it is not possible to connect with &amp;quot;connect /&amp;quot; even if the ORACLE_SID is correctly set:&lt;/font&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;CG Omega&amp;#39;;"&gt;&lt;font face="Times New Roman"&gt;The Windows user under which oracle is installed may not be added to the ORA_DBA group (this group is installed with the oracle software).&lt;/font&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;CG Omega&amp;#39;;"&gt;&lt;font face="Times New Roman"&gt;The appropriate service entry is not set correctly in sqlnet.ora : &lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;CG Omega&amp;#39;;"&gt;&lt;font face="Times New Roman"&gt;&lt;/font&gt;&lt;/span&gt;&lt;div style="border:1pt solid windowtext;padding:1pt 4pt;"&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;SQLNET.AUTHENTICATION_SERVICES=(NTS) &lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;CG Omega&amp;#39;;"&gt;&lt;font face="Times New Roman"&gt;&lt;br /&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;CG Omega&amp;#39;;"&gt;&lt;font face="Times New Roman"&gt;Also verify the registry entry for non-domain authorization (run regedit): &lt;/font&gt;&lt;/span&gt;
&lt;div style="border:1pt solid windowtext;padding:1pt 4pt;"&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;Set in HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE &lt;br /&gt;as string value: &lt;br /&gt;OSAUTH_PREFIX_DOMAIN=FALSE &lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;CG Omega&amp;#39;;"&gt;&lt;font face="Times New Roman"&gt;&lt;br /&gt;Before you (re-)test the connection, reboot your system (just to be on the safe side Wink ...) &lt;/font&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;CG Omega&amp;#39;;"&gt;&lt;font face="Times New Roman"&gt;On Oracle8, as precised by Siba Prasad the LOCAL variable (equivalent to the UNIX TWO_TASK variable) helps to connect to the local instance if setting the ORACLE_SID doesn&amp;#39;t help. LOCAL avoids to precise the Oracle*Net alias while connecting to a database (LOCAL can be set to a tnsnames.ora entry). However doing so, the direct (without Oracle*Net) connection should still be fixed. See &lt;/font&gt;&lt;a href="https://intranet.trivadis.com/basicweb/bin/redir.asp?URL=http://dbathoughts.blogspot.com/2008/03/using-local-environment-variable.html" target="_blank"&gt;&lt;font face="Times New Roman"&gt;http://dbathoughts.blogspot.com/2008/03/using-local-environment-variable.html&lt;/font&gt;&lt;/a&gt;&lt;font face="Times New Roman"&gt;.&lt;/font&gt;&lt;/span&gt;&lt;span style="font-size:9pt;font-family:&amp;#39;CG Omega&amp;#39;;"&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt; 
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://blog.trivadis.com/aggbug.aspx?PostID=1191" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/trivadis/yannneuhaus/~4/5LJsGZBVDx4" height="1" width="1"/&gt;</description><feedburner:origLink>http://blog.trivadis.com/blogs/yannneuhaus/archive/2008/09/08/ora-01031-insufficient-privileges.aspx</feedburner:origLink></item><item><title>Data Guard and ORA-04031 errors on standby</title><link>http://feedproxy.google.com/~r/trivadis/yannneuhaus/~3/NolOqt27Kqg/data-guard-and-ora-04031-errors-on-standby.aspx</link><pubDate>Mon, 14 Apr 2008 15:39:00 GMT</pubDate><guid isPermaLink="false">7f420732-9615-472e-9723-d9bd9f35b01c:585</guid><dc:creator>Yann Neuhaus</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://blog.trivadis.com/blogs/yannneuhaus/rsscomments.aspx?PostID=585</wfw:commentRss><comments>http://blog.trivadis.com/blogs/yannneuhaus/archive/2008/04/14/data-guard-and-ora-04031-errors-on-standby.aspx#comments</comments><description>&lt;p&gt;From time to time the Data Guard broker log file shows &lt;b&gt;ORA-04031 errors&lt;/b&gt;. The primary site cannot connect to the standby site anymore. &lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;font face="Courier New"&gt;DG 2008-04-09-23:31:44&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 2 0 RSM0: Failed to connect to remote database MYDB_SITE2. Error is ORA-04031&lt;/font&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;It seems that the available shared_pool is not sufficient on the standby site. Let&amp;#39;s have a deeper look. &lt;/p&gt; &lt;p&gt;On the both sides (primary and standby) we have sga_target = sga_max_size = 800M : &lt;/p&gt; &lt;p&gt;&lt;font face="Courier New"&gt;SYS@MYDB &amp;gt; show parameter sga_ &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New"&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; TYPE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VALUE&lt;br /&gt;------------------ ----------- ------------&lt;br /&gt;sga_max_size&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; big integer 800M&lt;br /&gt;sga_target&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; big integer 800M&lt;/font&gt; &lt;/p&gt; &lt;p&gt;On the production server the current shared pool size is about 500 MB (automatically tuned by Oracle): &lt;/p&gt; &lt;p&gt;&lt;font face="Courier New"&gt;SYS@MYDB &amp;gt; @ssinipar&lt;br /&gt;Wrote file temp.tmp&lt;br /&gt;Enter value for parameter: shared_pool_size &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New"&gt;Parameter&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Session&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;---------------------------- ------------- &lt;br /&gt;__shared_pool_size&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 494927872&lt;br /&gt;shared_pool_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; 100663296&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;However, on the standby server the current shared pool site is about 240 MB : &lt;/p&gt; &lt;p&gt;&lt;font face="Courier New"&gt;Parameter&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Session&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;-------------------------- ------------- &lt;br /&gt;__shared_pool_size&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 239075328&lt;br /&gt;shared_pool_size&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 100663296&lt;/font&gt; &lt;/p&gt; &lt;p&gt;Furthermore, the standby database has less free shared pool than the primary database, it is also quite fragmented. &lt;/p&gt; &lt;p&gt;On standby: &lt;/p&gt; &lt;p&gt;&lt;font face="Courier New"&gt;POOL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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; BYTES&lt;br /&gt;------------ ---------------- ----------&lt;br /&gt;shared pool&amp;nbsp; free memory&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 18534000&lt;/font&gt; &lt;/p&gt; &lt;p&gt;On primary: &lt;/p&gt; &lt;p&gt;&lt;font face="Courier New"&gt;POOL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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; BYTES&lt;br /&gt;------------ ---------------- ----------&lt;br /&gt;shared pool&amp;nbsp; free memory&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 68049224&lt;/font&gt; &lt;/p&gt; &lt;p&gt;On the primary site a lot of resize operations have been performed by Oracle, it seems that this application has a higher parsing than I/O activity : &lt;/p&gt; &lt;p&gt;&lt;font face="Courier New"&gt;COMPONENT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CURRENT_SIZE OPER_COUNT LAST_OPER_TIME&lt;br /&gt;-------------------- ------------ ---------- -------------------&lt;br /&gt;shared pool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 494927872&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 142 10-APR-008 00:47:23&lt;br /&gt;streams pool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4194304&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 43 09-APR-008 22:05:46&lt;br /&gt;DEFAULT buffer cache&amp;nbsp;&amp;nbsp;&amp;nbsp; 260046848&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 185 10-APR-008 00:47:23&lt;/font&gt; &lt;/p&gt; &lt;p&gt;The streams pool size can be explained by data pump, which is used to perform the logical backup on the primary side. &lt;/p&gt; &lt;p&gt;The database requires much more shared pool that database block cache. On the standby side only 46 (23+23) SGA resize operations took place, compared to the 370 (142 + 43 + 185) and more on the primary side. &lt;/p&gt; &lt;p&gt;&lt;font face="Courier New"&gt;COMPONENT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CURRENT_SIZE OPER_COUNT LAST_OPER_TIME&lt;br /&gt;------------------------- ------------ ---------- -------------------&lt;br /&gt;shared pool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 239075328&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 23 10-APR-008 15:11:31&lt;br /&gt;DEFAULT buffer cache&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 520093696&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 23 10-APR-008 15:11:31&lt;/font&gt; &lt;/p&gt; &lt;p&gt;It is also very interesting to observe that the standby database handles much more database blocks than the primary database: &lt;/p&gt; &lt;p&gt;On the standby side: &lt;/p&gt; &lt;p&gt;&lt;font face="Courier New"&gt;select count(*) from v$bh; &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New"&gt;&amp;nbsp; COUNT(*)&lt;br /&gt;----------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 61748&lt;/font&gt; &lt;/p&gt; &lt;p&gt;On the primary database: &lt;/p&gt; &lt;p&gt;&lt;font face="Courier New"&gt;select count(*) from v$bh; &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New"&gt;&amp;nbsp; COUNT(*)&lt;br /&gt;----------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 30591&lt;/font&gt; &lt;/p&gt; &lt;p&gt;This can be explained by the fact that the standby database only performs recovery. The blocks are built from the standby redo log file, loaded into the buffer cache in order to be applied on the database which is in recovery mode. &lt;/p&gt; &lt;p&gt;However, the Data Guard broker and its processes also need memory in the shared pool to work. Unfortunately, because the standby database allocates much more database block cache memory than shared pool in the SGA, some ORA-4031 can occur. &lt;/p&gt; &lt;p&gt;Example statement on the standby site : &lt;/p&gt; &lt;p&gt;&lt;font face="Courier New"&gt;SELECT dest_id FROM v$archive_dest WHERE (target=&amp;#39;LOCAL&amp;#39; OR target=&amp;#39;PRIMARY&amp;#39;) AND destination = &amp;#39;/export/oradata/MYDB/data99/archivelog&amp;#39;&lt;br /&gt;AND (valid_type &amp;lt;&amp;gt; &amp;#39;ONLINE_LOGFILE&amp;#39;) AND (valid_role &amp;lt;&amp;gt; &amp;#39;PRIMARY_ROLE&amp;#39;) AND (dest_id &amp;lt;= 10) AND (dest_name not in ( select alternate from v&lt;br /&gt;$archive_dest))&lt;/font&gt; &lt;/p&gt; &lt;p&gt;Several conclusions can be drawn from this analysis: &lt;/p&gt; &lt;p&gt;- After activation, the standby database will have a SGA configuration which may be in conflict with the application requirements (more cache size than shared pool)&lt;br /&gt;- Oracle does not seem to transfer the SGA modifications from the primary to the standby site but sets the parameters to the requirements of each role (more cache size on the standby site)&lt;br /&gt;- It is not a good idea to set a smaller SGA size on the standby side in order to save some memory space, this error will be amplified. &lt;/p&gt; &lt;p&gt;In some cases, flushing the shared pool could help: &lt;/p&gt; &lt;p&gt;&lt;font face="Courier New"&gt;SYS@MYDB &amp;gt; alter system flush shared_pool; &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New"&gt;System altered.&lt;/font&gt; &lt;/p&gt; &lt;p&gt;A solution could be to set the shared_pool_size to a value corresponding to the lowest limit allowing to operate the standby database without (or with less) ORA-4031 errors. This low-limit seems to be at around &lt;b&gt;300-350 MB&lt;/b&gt;.&lt;/p&gt;&lt;img src="http://blog.trivadis.com/aggbug.aspx?PostID=585" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/trivadis/yannneuhaus/~4/NolOqt27Kqg" height="1" width="1"/&gt;</description><feedburner:origLink>http://blog.trivadis.com/blogs/yannneuhaus/archive/2008/04/14/data-guard-and-ora-04031-errors-on-standby.aspx</feedburner:origLink></item><item><title>Are Virtual IPs required for Data Guard?</title><link>http://feedproxy.google.com/~r/trivadis/yannneuhaus/~3/9xHh3GikQ34/are-virtual-ips-required-for-data-guard.aspx</link><pubDate>Wed, 06 Feb 2008 20:23:00 GMT</pubDate><guid isPermaLink="false">7f420732-9615-472e-9723-d9bd9f35b01c:501</guid><dc:creator>Yann Neuhaus</dc:creator><slash:comments>1453</slash:comments><wfw:commentRss>http://blog.trivadis.com/blogs/yannneuhaus/rsscomments.aspx?PostID=501</wfw:commentRss><comments>http://blog.trivadis.com/blogs/yannneuhaus/archive/2008/02/06/are-virtual-ips-required-for-data-guard.aspx#comments</comments><description>&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;Until 10.2.0.3, the Data Guard (and broker) technology suffered from several weaknesses. One of the &amp;quot;highlights&amp;quot; was that no Virtual IP management was provided by Oracle. This has quite important consequences for the clients as soon as the primary server is down (no IP responding to the TCP requests e.g. of a connection build up). In this case, the failover from the first to the second address (in the address list of the TNS entry used by the client) could take a long time, depending on network/TCP timeouts. The RAC/Clusterware architecture solved this issue by introducing the Virtual IPs (VIP) which where always available (maybe moved to a surviving node).&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="2"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;Of course several solutions are available to overcome that problem, for instance managing your own VIP with self-made scripts (and all the subsequent risks, you try to fake a failover cluster!), combine Data Guard with&lt;span&gt;&amp;nbsp; &lt;/span&gt;Failover Cluster technology (e.g. Heartbeat under Linux, Veritas Cluster Services), and so on ...&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="2"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;All that solutions have as almost as many&lt;span&gt;&amp;nbsp; &lt;/span&gt;drawbacks as advantages, the most important are:&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="2"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;- How can we garantee that the VIP is always started on the Primary database side?&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;- How is it possible to prevent two Virtual IP running in parallel in the cluster?&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="2"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;However, one of the mentioned solutions is almost &amp;quot;mandatory&amp;quot; for Oracle clients before 10.2.0.3.&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="2"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;Starting with 10.2.0.3 on client and server side, Oracle proposes the OUTBOUNT_CONNECT_TIMEOUT parameter (not very well documented though). This option must be set in the sqlnet.ora file and defines the maximum number of seconds to be waited before trying to access the second, third etc. address in the ADDRESS_LIST, independent of TCP/IP timeouts. Examples:&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="2"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;In sqlnet.ora:&lt;/font&gt;&lt;/p&gt;
&lt;div style="border:1pt solid windowtext;padding:1pt 4pt;"&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;OUTBOUND_CONNECT_TIMEOUT=5&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;font face="Times New Roman" size="2"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;In tnsnames.ora on the client side or in the LDAP server:&lt;/font&gt;&lt;/p&gt;
&lt;div style="border:1pt solid windowtext;padding:1pt 4pt;"&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;PCMDB =&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;(DESCRIPTION =&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;(ADDRESS_LIST=&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;(ADDRESS = (PROTOCOL = TCP)(HOST = server1 )(PORT = 1521))&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;(ADDRESS = (PROTOCOL = TCP)(HOST = server2 )(PORT = 1521))&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;)&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;(CONNECT_DATA =&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(SERVICE_NAME = PCMDB_RW )&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;)&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Courier New"&gt;&lt;font size="2"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;)&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;font face="Times New Roman" size="2"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;PCMDB_RW is a service created beforehand and activated through a &amp;quot;startup database&amp;quot; trigger (see end of the post). This makes sure, that the client can only connect to the primary side. If after 5 seconds (in our case), server1 is still unreachable, the client will try to connect to server2 (ignoring existing TCP/IP parameters).&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="2"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;Unfortunately, during our tests we observed that this parameter requires the remote_listener parameter to be set on the server side, at least for Linux/Sun(/... ?) clients. This for the non-error situation that a client first tries the standby database (and therefore should failover to the primary). For windows clients, patch 6038241 (10.2.0.3.7P) can be installed (only available for 32 Bit), see metalink note 342443.1. With this patch, the remote_listener parameter does not have to be.&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="2"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;So the Windows clients have a valid/stable solution using the patch.&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="2"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;The Linux clients however suffer from the side effects of the remote_listener parameter: The remote_listener parameter is used to register to other (remote) listeners in order to inform them about the current instance load. This means that in case of crash of the primary server and activation of the standby database, the service PCMDB_RW is known by the listener of the standby side as being offered by the new primary (ok) and the old primary (not ok)!&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="2"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;This situation may result in &amp;quot;ORA-12560: TNS:protocol adapter error&amp;quot; errors.&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="2"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;The solution is quite simple: the listener should be &amp;quot;reloaded&amp;quot; on the new primary side (old standby) when the standby database becomes the primary. This could be easily automated with a script and a DB_CHANGE_ROLE trigger. See the code below :&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="2"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;Script to reload the listener:&lt;/font&gt;&lt;/p&gt;
&lt;div style="border:1pt solid windowtext;padding:1pt 4pt;"&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;#!/bin/ksh&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;# Set the ORACLE environment variables (ORACLE_HOME, PATH, aso ...)&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;lsnrctl reload LISTENER_PCMDB&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;font face="Times New Roman" size="2"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;Below the trigger to reload the listener:&lt;/font&gt;&lt;/p&gt;
&lt;div style="border:1pt solid windowtext;padding:1pt 4pt;"&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;CREATE OR REPLACE TRIGGER RELOAD_LISTENER AFTER DB_ROLE_CHANGE ON DATABASE&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;BEGIN&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;dbms_scheduler.create_job(job_name=&amp;gt;&amp;#39;reload_lsn&amp;#39;,&lt;/font&gt;&lt;/p&gt;&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;job_type=&amp;gt;&amp;#39;executable&amp;#39;,job_action=&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;&amp;#39;/u00/app/oracle/local/custom/bin/reload_lsn_PCMDB.ksh&amp;#39;,&lt;/font&gt;&lt;/p&gt;&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;enabled=&amp;gt;TRUE);&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;END;&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;/&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;font face="Times New Roman" size="2"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;With this solution, both Linux and Windows clients do not require any VIP or Failover Cluster anymore to fully benefit from a Data Guard architecture. The only &amp;#39;restriction&amp;#39; is to use 10.2.0.3 Oracle client releases. Even 10.2.0.2 does not work properly. Of course, wait for 10.2.0.4 and hope that the &amp;quot;problem&amp;quot; is fixed could be another solution :-)&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="2"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;Appendix : startup trigger for &amp;quot;_RW&amp;quot; service :&lt;/font&gt;&lt;/p&gt;
&lt;div style="border:1pt solid windowtext;padding:1pt 4pt;"&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;create or replace trigger service_trigger after&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;startup on database&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;declare&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;db_name&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;varchar(512);&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;db_domain&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;varchar(512);&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;database_role varchar(16);&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;service_names varchar(512);&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;instance_name varchar2(16);&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;begin&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;select value into service_names from v$parameter where name = &amp;#39;service_names&amp;#39;;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;select value into instance_name from v$parameter where name = &amp;#39;instance_name&amp;#39;;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;select value into db_name from v$parameter where name = &amp;#39;db_name&amp;#39;;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;select value into db_domain from v$parameter where name = &amp;#39;db_domain&amp;#39;;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;select database_role into database_role from v$database;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;if database_role = &amp;#39;PRIMARY&amp;#39; then&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;service_names := rtrim(service_names || &amp;#39;, &amp;#39; || db_name || &amp;#39;_RW.&amp;#39; || db_domain, &amp;#39;.&amp;#39;);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;else&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;service_names := rtrim(service_names || &amp;#39;, &amp;#39; || db_name || &amp;#39;_RO.&amp;#39; || db_domain, &amp;#39;.&amp;#39;);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;end if;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;execute immediate &amp;#39;alter system set service_names = &amp;#39;&amp;#39;&amp;#39; || service_names || &amp;#39;&amp;#39;&amp;#39; scope=memory sid=&amp;#39;&amp;#39;&amp;#39; || instance_name || &amp;#39;&amp;#39;&amp;#39;&amp;#39;;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;end;&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="margin:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;/&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;font face="Times New Roman" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;img src="http://blog.trivadis.com/aggbug.aspx?PostID=501" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/trivadis/yannneuhaus/~4/9xHh3GikQ34" height="1" width="1"/&gt;</description><feedburner:origLink>http://blog.trivadis.com/blogs/yannneuhaus/archive/2008/02/06/are-virtual-ips-required-for-data-guard.aspx</feedburner:origLink></item><item><title>Change Data Guard configuration file location “online”</title><link>http://feedproxy.google.com/~r/trivadis/yannneuhaus/~3/l9fE2hCtzmc/change-data-guard-configuration-file-location-online.aspx</link><pubDate>Mon, 04 Feb 2008 21:10:00 GMT</pubDate><guid isPermaLink="false">7f420732-9615-472e-9723-d9bd9f35b01c:500</guid><dc:creator>Yann Neuhaus</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blog.trivadis.com/blogs/yannneuhaus/rsscomments.aspx?PostID=500</wfw:commentRss><comments>http://blog.trivadis.com/blogs/yannneuhaus/archive/2008/02/04/change-data-guard-configuration-file-location-online.aspx#comments</comments><description>&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;This&amp;nbsp;short post presents how to change online the Data Guard configuration files location (parameters dg_broker_config_fileX) where X is 1 or 2.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&lt;font face="CG Omega" size="2"&gt;&lt;/font&gt;
&lt;div style="BORDER-RIGHT:windowtext 1pt solid;PADDING-RIGHT:4pt;BORDER-TOP:windowtext 1pt solid;PADDING-LEFT:4pt;PADDING-BOTTOM:1pt;BORDER-LEFT:windowtext 1pt solid;PADDING-TOP:1pt;BORDER-BOTTOM:windowtext 1pt solid;mso-border-alt:solid windowtext .5pt;"&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;REM ================================================&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;REM renaming of the dg_broker_config_file parameters&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;REM=================================================&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;set head off&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;set feed off&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;set echo off&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;set verify off&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;set trimspool on&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;ACCEPT site_number CHAR PROMPT &amp;#39;Enter site number &amp;lt;2: &amp;#39; DEFAULT &amp;#39;2&amp;#39;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;var filename_dg1 varchar2(2000)&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;var filename_dg2 varchar2(2000)&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;spool rename_dg_broker_config_file_do.sql&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;select &amp;#39;alter system set dg_broker_start=false scope=memory&amp;#39;||chr(10)||&amp;#39;/&amp;#39;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;from dual&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;/&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;begin&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;select &amp;#39;/u00/app/oracle/admin/&amp;#39;||name||&amp;#39;/pfile/dr1_&amp;#39;||name||&amp;#39;_SITE&amp;#39;||&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;&amp;amp;site_number||&amp;#39;.dat&amp;#39; into :filename_dg1 &lt;br /&gt;from v$database;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;select &amp;#39;/u00/app/oracle/admin/&amp;#39;||name||&amp;#39;/pfile/dr2_&amp;#39;||name||&amp;#39;_SITE&amp;#39;||&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;&amp;amp;site_number||&amp;#39;.dat&amp;#39; into :filename_dg2 &lt;br /&gt;from v$database;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;end;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;/&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;select &amp;#39;!mv &amp;#39;||value||&amp;#39; &amp;#39;||:filename_dg1&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;from v$parameter&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;where name = &amp;#39;dg_broker_config_file1&amp;#39;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;/&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;select &amp;#39;!mv &amp;#39;||value||&amp;#39; &amp;#39;||:filename_dg2&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;from v$parameter&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;where name = &amp;#39;dg_broker_config_file2&amp;#39;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;/&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;select &amp;#39;alter system set dg_broker_config_file1=&amp;#39;&amp;#39;/u00/app/oracle/admin/&amp;#39;||name||&amp;#39;/pfile/dr1_&amp;#39;||name||&amp;#39;_SITE&amp;#39;||&amp;amp;site_number||&lt;br /&gt;&amp;#39;.dat&amp;#39;&amp;#39;&amp;#39;||&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;chr(10)||&amp;#39;/&amp;#39;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;from v$database&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;/&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;select &amp;#39;alter system set dg_broker_config_file2=&amp;#39;&amp;#39;/u00/app/oracle/admin/&amp;#39;||name||&amp;#39;/pfile/dr2_&amp;#39;||name||&amp;#39;_SITE&amp;#39;||&amp;amp;site_number||&lt;br /&gt;&amp;#39;.dat&amp;#39;&amp;#39;&amp;#39;||&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;chr(10)||&amp;#39;/&amp;#39;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;from v$database&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;/&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;select &amp;#39;alter system set dg_broker_start=true scope=memory&amp;#39;||chr(10)||&amp;#39;/&amp;#39;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;from dual&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;/&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;select chr(10) from dual;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;spool off&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;set echo on&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;set feed on&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;print :filename_dg1&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;print :filename_dg2&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;spool rename_dg_broker_config_file_do.log&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;@@rename_dg_broker_config_file_do.sql&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-family:&amp;#39;CG Omega&amp;#39;;"&gt;&lt;font face="Courier New" size="2"&gt;spool off&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;font face="Times New Roman" size="2"&gt;We could consider that the script is not REALLY online because the Data Guard broker is stopped &lt;img src="http://blog.trivadis.com/emoticons/emotion-5.gif" alt="Wink" /&gt;&lt;/font&gt;&lt;font face="Times New Roman" size="2"&gt;, but this has no impact on the instance availability.&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blog.trivadis.com/aggbug.aspx?PostID=500" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/trivadis/yannneuhaus/~4/l9fE2hCtzmc" height="1" width="1"/&gt;</description><feedburner:origLink>http://blog.trivadis.com/blogs/yannneuhaus/archive/2008/02/04/change-data-guard-configuration-file-location-online.aspx</feedburner:origLink></item><item><title>Datafile offline/online issue - Data Guard issue after failover/switchover</title><link>http://feedproxy.google.com/~r/trivadis/yannneuhaus/~3/V2vFZ6KWuW4/strange-datafile-recover-issue-on-oracle-10-2-with-aix-and-cio.aspx</link><pubDate>Wed, 09 Jan 2008 07:46:00 GMT</pubDate><guid isPermaLink="false">7f420732-9615-472e-9723-d9bd9f35b01c:457</guid><dc:creator>Yann Neuhaus</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blog.trivadis.com/blogs/yannneuhaus/rsscomments.aspx?PostID=457</wfw:commentRss><comments>http://blog.trivadis.com/blogs/yannneuhaus/archive/2008/01/09/strange-datafile-recover-issue-on-oracle-10-2-with-aix-and-cio.aspx#comments</comments><description>&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;At a customer site (Oracle 10.2.0.3, AIX, CIO enabled), the following error occurred during some &amp;quot;datafile move&amp;quot; actions on the database . Note that this post only presents the solution on a real-life problem without knowing exactly if the issue was related to CIO, flashback or any Oracle or AIX “feature” :&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="2"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;- Database was previously in a Data Guard (DG) configuration&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;- Flashback is activated for the database&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="2"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;The performed actions were:&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;1. offline tablespace, test if the file can be copied (with a simple “cp” command). File was still locked (may be due to CIO).&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;2. online tablespace, an error occurs :&lt;/font&gt;&lt;/p&gt;
&lt;div style="BORDER-RIGHT:windowtext 1pt solid;PADDING-RIGHT:4pt;BORDER-TOP:windowtext 1pt solid;PADDING-LEFT:4pt;PADDING-BOTTOM:1pt;BORDER-LEFT:windowtext 1pt solid;PADDING-TOP:1pt;BORDER-BOTTOM:windowtext 1pt solid;"&gt;
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;SQL&amp;gt; alter tablespace CONTRAINTESG2 online;&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;alter tablespace CONTRAINTESG2 online&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;*&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;ERROR at line 1:&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;ORA-01113: file 22 needs media recovery&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;ORA-01110: data file 22: &amp;#39;/export/oradata/G2DBR1/data01/contraintesg2_db_01.dbf&amp;#39;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;font face="Times New Roman" size="2"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;Of course we directly tried to recover the datafile :&lt;/font&gt;&lt;/p&gt;
&lt;div style="BORDER-RIGHT:windowtext 1pt solid;PADDING-RIGHT:4pt;BORDER-TOP:windowtext 1pt solid;PADDING-LEFT:4pt;PADDING-BOTTOM:1pt;BORDER-LEFT:windowtext 1pt solid;PADDING-TOP:1pt;BORDER-BOTTOM:windowtext 1pt solid;"&gt;
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;SQL&amp;gt; recover datafile 22;&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;ORA-00283: recovery session canceled due to errors&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;ORA-38727: FLASHBACK DATABASE requires a current control file.&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;font face="Times New Roman" size="2"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;No way ! Impossible to &lt;b&gt;online &lt;/b&gt;the datafile. We also observed that the database datafiles aren&amp;#39;t backed up since a while (we checked in the RMAN backup log file). However, the actual control file knows the datafiles (visible with &amp;quot;alter database backup controlfile to trace&amp;quot;). The controlfile is also in a correct state (CURRENT) :&lt;/font&gt;&lt;/p&gt;
&lt;div style="BORDER-RIGHT:windowtext 1pt solid;PADDING-RIGHT:4pt;BORDER-TOP:windowtext 1pt solid;PADDING-LEFT:4pt;PADDING-BOTTOM:1pt;BORDER-LEFT:windowtext 1pt solid;PADDING-TOP:1pt;BORDER-BOTTOM:windowtext 1pt solid;"&gt;
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;SQL&amp;gt; select controlfile_type from v$database;&lt;/font&gt;&lt;/p&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;CONTROL&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;-------&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;CURRENT&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;font face="Times New Roman" size="2"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;It seems that during the “recover datafile”, Oracle tries to perform a flashback of the database and complains because it feels it is a BACKUP controlfile. The control file is however really a CURRENT controlfile. This problem is described in the note 438437.1. No restore point has been created :&lt;/font&gt;&lt;/p&gt;
&lt;div style="BORDER-RIGHT:windowtext 1pt solid;PADDING-RIGHT:4pt;BORDER-TOP:windowtext 1pt solid;PADDING-LEFT:4pt;PADDING-BOTTOM:1pt;BORDER-LEFT:windowtext 1pt solid;PADDING-TOP:1pt;BORDER-BOTTOM:windowtext 1pt solid;"&gt;
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;SQL&amp;gt; select * from v$restore_point;&lt;/font&gt;&lt;/p&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;no rows selected&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;font face="Times New Roman" size="2"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;What we had to do to solve the problem ? :&lt;/font&gt;&lt;/p&gt;&lt;font face="Times New Roman" size="2"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;1. Remove the flashback settings for the database.&lt;/font&gt;&lt;/p&gt;
&lt;div style="BORDER-RIGHT:windowtext 1pt solid;PADDING-RIGHT:4pt;BORDER-TOP:windowtext 1pt solid;PADDING-LEFT:4pt;PADDING-BOTTOM:1pt;BORDER-LEFT:windowtext 1pt solid;PADDING-TOP:1pt;BORDER-BOTTOM:windowtext 1pt solid;"&gt;
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;SQL&amp;gt; shutdown immediate;&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;SQL&amp;gt; startup mount;&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;SQL&amp;gt; alter database flashback off;&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;SQL&amp;gt; alter database open;&lt;/font&gt;&lt;/p&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;SQL&amp;gt; r&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;1* select file#,status from v$datafile&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;FILE# STATUS&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;---------- -------&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;1 SYSTEM&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;2 ONLINE&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;...&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;21 ONLINE&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;b&gt;&lt;span style="COLOR:red;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;22 RECOVER&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="COLOR:red;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 23 RECOVER&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt; 
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;24 ONLINE&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;24 rows selected.&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;font face="Times New Roman" size="2"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;2. Try to recover the datafile, an ORA-600 appeared :&lt;/font&gt;&lt;/p&gt;
&lt;div style="BORDER-RIGHT:windowtext 1pt solid;PADDING-RIGHT:4pt;BORDER-TOP:windowtext 1pt solid;PADDING-LEFT:4pt;PADDING-BOTTOM:1pt;BORDER-LEFT:windowtext 1pt solid;PADDING-TOP:1pt;BORDER-BOTTOM:windowtext 1pt solid;"&gt;
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;SQL&amp;gt; recover datafile 22;&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;ORA-00283: recovery session canceled due to errors&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;ORA-00600: internal error code, arguments: [kccfhb_1], [4], [], [], [], [], [], []&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;font face="Times New Roman" size="2"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;3. Creation of a new controlfile with NORESETLOGS (statement coming from &amp;quot;alter database backup controlfile to trace&amp;quot;)):&lt;/font&gt;&lt;/p&gt;
&lt;div style="BORDER-RIGHT:windowtext 1pt solid;PADDING-RIGHT:4pt;BORDER-TOP:windowtext 1pt solid;PADDING-LEFT:4pt;PADDING-BOTTOM:1pt;BORDER-LEFT:windowtext 1pt solid;PADDING-TOP:1pt;BORDER-BOTTOM:windowtext 1pt solid;"&gt;
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;SQL&amp;gt; @/export/soft/oracle/admin/G2DBR1/udump/cr_ctl.sql&lt;/font&gt;&lt;/p&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;Control file created.&lt;/font&gt;&lt;/p&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;SYS&amp;gt; recover database;&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;SYS&amp;gt; alter database open;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;font face="Times New Roman" size="2"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;All files are online :&lt;/font&gt;&lt;/p&gt;
&lt;div style="BORDER-RIGHT:windowtext 1pt solid;PADDING-RIGHT:4pt;BORDER-TOP:windowtext 1pt solid;PADDING-LEFT:4pt;PADDING-BOTTOM:1pt;BORDER-LEFT:windowtext 1pt solid;PADDING-TOP:1pt;BORDER-BOTTOM:windowtext 1pt solid;"&gt;
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;SYS&amp;gt; select file#,status from v$datafile;&lt;/font&gt;&lt;/p&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;FILE# STATUS&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;---------- -------&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;1 SYSTEM&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;2 ONLINE&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;...&lt;/font&gt;&lt;/p&gt;
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;22 ONLINE&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;b&gt;&lt;span style="COLOR:red;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;23 ONLINE&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="COLOR:red;"&gt;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;24 ONLINE&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="code" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Courier New" size="2"&gt;24 rows selected.&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;font face="Times New Roman" size="2"&gt;&amp;nbsp;&lt;/font&gt; 
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font size="2"&gt;&lt;font face="Times New Roman"&gt;The last step is of course to create the temporary tablespaces &lt;img src="http://blog.trivadis.com/emoticons/emotion-5.gif" alt="Wink" /&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;&lt;strong&gt;&lt;u&gt;Last update 14.01.2008 :&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;After some additionnal tests with the customer we observed that the following&amp;nbsp;scenery makes&amp;nbsp;a Data Guard configuration in a very dangerous situation:&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;On a Data Guard configuration, perform a failover, then a switchover to get the initial situation (after reinstate, of course,&amp;nbsp;from the old primary).&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;Afterwards, perform backups &lt;strong&gt;with a RMAN catalog&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;Add new datafiles on the database&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;These last added datafiles won&amp;#39;t be backed up by RMAN anymore !&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;Only a backup without catalog will consider and save these datafiles.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;Performing a RESYNC catalog doesn&amp;#39;t solve the problem, the catalog doesn&amp;#39;t know these new datafiles.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;font face="Times New Roman" size="2"&gt;The only solution is to re-create the control file ! A SR has been opened by the customer.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://blog.trivadis.com/aggbug.aspx?PostID=457" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/trivadis/yannneuhaus/~4/V2vFZ6KWuW4" height="1" width="1"/&gt;</description><feedburner:origLink>http://blog.trivadis.com/blogs/yannneuhaus/archive/2008/01/09/strange-datafile-recover-issue-on-oracle-10-2-with-aix-and-cio.aspx</feedburner:origLink></item><item><title>Oracle Backup with Media Manager and Flashback Recovery Area (FRA)</title><link>http://feedproxy.google.com/~r/trivadis/yannneuhaus/~3/fZ2ovuCIOHI/oracle-backup-with-media-manager-and-flashback-recovery-area-fra.aspx</link><pubDate>Fri, 21 Dec 2007 12:48:00 GMT</pubDate><guid isPermaLink="false">7f420732-9615-472e-9723-d9bd9f35b01c:434</guid><dc:creator>Yann Neuhaus</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://blog.trivadis.com/blogs/yannneuhaus/rsscomments.aspx?PostID=434</wfw:commentRss><comments>http://blog.trivadis.com/blogs/yannneuhaus/archive/2007/12/21/oracle-backup-with-media-manager-and-flashback-recovery-area-fra.aspx#comments</comments><description>&lt;font size="4"&gt;&lt;span style="FONT-SIZE:11pt;mso-ansi-language:EN-US;"&gt;&lt;font face="Times New Roman"&gt;Managing RMAN backups with FRA (Flashback Recovery Area) is definitively not &amp;quot;out of the box&amp;quot;. Consider the following situation: the RMAN backup are performed in the Flashback Recovery Area in a first step (before going to tape). In a second step, the backup are saved on tape from the FRA with the following policies : DAILY, WEEKLY, MONTHLY. Each policy has its own retention (5 days, 5 weeks, 13 months).&lt;br /&gt;&lt;br /&gt;The used media manager is NetBackup from Veritas. The backup scripts look like:&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;"&gt;Backup of the database:&lt;br /&gt;run {&lt;br /&gt;allocate channel bck_chan1 type disk;&lt;br /&gt;backup as compressed backupset incremental level 1 tag inc1_daily_dbf database;&lt;br /&gt;backup current controlfile for standby&lt;br /&gt;tag inc1_daily_std_ctrl;&lt;br /&gt;sql &amp;quot;alter system archive log current&amp;quot;;&lt;br /&gt;backup filesperset 300 archivelog all not backed up 2 times tag inc1_daily_arch;&lt;br /&gt;backup current controlfile tag inc1_daily_cur_ctrl;&lt;br /&gt;backup spfile tag inc1_daily_spfile;&lt;br /&gt;sql &amp;quot;alter database backup controlfile to trace&amp;quot;;&lt;br /&gt;backup filesperset 300 archivelog until time &amp;#39;SYSDATE - 3&amp;#39; not backed up 2 times delete input tag inc1_daily_arch;&lt;br /&gt;release channel bck_chan1;&lt;br /&gt;}&lt;/span&gt;&lt;span style="FONT-SIZE:11pt;mso-ansi-language:EN-US;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;font face="Times New Roman"&gt;Backup of the FRA:&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;"&gt;run&lt;br /&gt;{&lt;br /&gt;allocate channel bck_chan1 type &amp;#39;SBT_TAPE&amp;#39;;&lt;br /&gt;send&amp;nbsp; &amp;#39;NB_ORA_CLASS=Net0WinOracleGP, NB_ORA_SERV= NetBackupServ, NB_ORA_SCHED=DaillySchedule,NB_ORA_CLIENT=MyClient&amp;#39;;&lt;br /&gt;backup recovery area;&lt;br /&gt;release channel bck_chan1;&lt;br /&gt;}&lt;/span&gt;&lt;span style="FONT-SIZE:11pt;mso-ansi-language:EN-US;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;font face="Times New Roman"&gt;If you didn&amp;#39;t setup any RMAN catalog house keeping from the begin you could be confronted with large crosscheck/delete times the first time. The goal is to remove the RMAN catalog entries because they were already deleted from the media manager (out of the retention period).&lt;br /&gt;&lt;br /&gt;A way to optimize the crosscheck/delete procedure, is to perform a first crosscheck with the NetBackup parameters (an access to the tape media manager will be performed) : the backup no more existing on tape will be set to “EXPIRED”. In a second step delete the “EXPIRED” backup with a new channel without NetBackup channel parameters (no tape access required, this will be faster):&lt;br /&gt;&lt;br /&gt;For instance, to delete all the backups older then 100 days:&lt;br /&gt;allocate channel for maintenance type &amp;#39;SBT_TAPE&amp;#39;;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;"&gt;# Set the NetBackup parameters&lt;br /&gt;send &amp;#39;NB_ORA_CLASS=Net0WinOracleGP, NB_ORA_SERV=NetBackupServ, NB_ORA_SCHED=DaillySchedule,NB_ORA_CLIENT=myclient&amp;#39;;&lt;br /&gt;&lt;br /&gt;# Perform the crosscheck&lt;br /&gt;crosscheck backup completed before &amp;#39;sysdate - 100&amp;#39;;&lt;br /&gt;&lt;br /&gt;# This second allocate avoids any netbackup access because no NetBackup&lt;br /&gt;# variables are set.&lt;br /&gt;allocate channel for maintenance type &amp;#39;SBT_TAPE&amp;#39;;&lt;br /&gt;&lt;br /&gt;# Delete the entries in the catalog :&lt;br /&gt;delete force noprompt expired backup completed before &amp;#39;sysdate - 100&amp;#39;;&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:11pt;mso-ansi-language:EN-US;"&gt;&lt;br /&gt;&lt;font face="Times New Roman"&gt;But the problem is not yet totally solved. Indeed some entries have been deleted from the catalog which MAY (!) be still available on the FRA ! This could be due to the fact that the FRA is very large. This can be easily verified by a simple “ls” command in the FRA :&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;"&gt;ls -lrt /export/oradata/ORACLE_SID/data99/flash_recovery_area/ORACLE_SID_SITE1/backupset/&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:11pt;mso-ansi-language:EN-US;"&gt;&lt;br /&gt;&lt;font face="Times New Roman"&gt;In fact Oracle doesn&amp;#39;t delete the FRA backupset as long as space if available in the FRA. Also the RMAN command “delete “EXPIRED”” does NOT delete the FRA backupsets.&lt;br /&gt;&lt;br /&gt;The consequence is very simple: on the next scheduled daily backup all the backupset still available in the FRA will be backed up again on the Media Manager. This could generate a bad surprise because the backup will suddenly take much more time (depending on the size of the FRA).&lt;br /&gt;&lt;br /&gt;It is required to suppress the backupset manually from the FRA through the following command:&lt;br /&gt;delete obsolete recovery window of 100 days device type disk;&lt;br /&gt;&lt;br /&gt;The FRA seems to clear the old backup set automatically when space is required, but when lot of space is available in the FRA the backup remain and must be cleaned manually. &lt;br /&gt;&lt;br /&gt;It is also worth to mention that this effect also takes place even if only one retention period has been defined. The only factor limiting the number of backup stored in the FRA is the place available and not the retention period of the RMAN backup strategy.&lt;br /&gt;&lt;br /&gt;One of the numerous hidden FRA “feature”. However the benefit of the FRA in a Dataguard environment largely covers the several drawbacks.&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;img src="http://blog.trivadis.com/aggbug.aspx?PostID=434" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/trivadis/yannneuhaus/~4/fZ2ovuCIOHI" height="1" width="1"/&gt;</description><feedburner:origLink>http://blog.trivadis.com/blogs/yannneuhaus/archive/2007/12/21/oracle-backup-with-media-manager-and-flashback-recovery-area-fra.aspx</feedburner:origLink></item><item><title>Dataguard configuration modification to MAXIMUM AVAILABILITY</title><link>http://feedproxy.google.com/~r/trivadis/yannneuhaus/~3/ySaw70XfKm8/dataguard-configuration-modification-to-maximum-availability.aspx</link><pubDate>Wed, 17 Oct 2007 15:40:00 GMT</pubDate><guid isPermaLink="false">7f420732-9615-472e-9723-d9bd9f35b01c:328</guid><dc:creator>Yann Neuhaus</dc:creator><slash:comments>13</slash:comments><wfw:commentRss>http://blog.trivadis.com/blogs/yannneuhaus/rsscomments.aspx?PostID=328</wfw:commentRss><comments>http://blog.trivadis.com/blogs/yannneuhaus/archive/2007/10/17/dataguard-configuration-modification-to-maximum-availability.aspx#comments</comments><description>&lt;p&gt;
In order to change the Dataguard configuration from MAXIMUM PERFORMANCE to MAXIMUM AVAILABILITY, Oracle doesn&amp;#39;t require to bounce the databases anymore since 10.2.0.3.&lt;br /&gt;&lt;br /&gt;In fact this is not always the case. The only way to verify if it will occur is:&lt;br /&gt;&lt;br /&gt;1. change log transport mode&lt;br /&gt;&lt;br /&gt;
&lt;code&gt;
edit database &amp;#39;MYDB_SITE1&amp;#39; set property LogXptMode = &amp;#39;SYNC&amp;#39;;&lt;br /&gt;
edit database &amp;#39;MYDB_SITE2&amp;#39; set property LogXptMode = &amp;#39;SYNC&amp;#39;;&lt;br /&gt;&lt;br /&gt;
&lt;/code&gt;
2. look for the following entry in the alert.log file of the PRIMARY database :&lt;br /&gt;&lt;br /&gt;
&lt;code&gt;
Destination LOG_ARCHIVE_DEST_2 is SYNCHRONIZED&lt;br /&gt;&lt;br /&gt;
&lt;/code&gt;
If this string has been found, the Dataguard configuration can be changed smoothly (without database reboot) to MAXIMUM AVAILABILITY as described below :&lt;br /&gt;&lt;br /&gt;
&lt;code&gt;
edit configuration set protection mode as &amp;#39;MaxAvailability&amp;#39;;
&lt;/code&gt;
&lt;br /&gt;&lt;br /&gt;Of course the standby redo log files must exist, see previous posts.&lt;br /&gt;&lt;br /&gt;If the entry in the alert.log file has not been found a workaround could be to to set the LogXptMode property to &amp;#39;ASYNC&amp;#39; and then back to &amp;#39;SYNC&amp;#39;.&lt;br /&gt;&lt;br /&gt;Many thanks to Hervé who was the first one to discover this by Trivadis :-)&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;img src="http://blog.trivadis.com/aggbug.aspx?PostID=328" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/trivadis/yannneuhaus/~4/ySaw70XfKm8" height="1" width="1"/&gt;</description><feedburner:origLink>http://blog.trivadis.com/blogs/yannneuhaus/archive/2007/10/17/dataguard-configuration-modification-to-maximum-availability.aspx</feedburner:origLink></item><item><title>Data Guard in SYNC mode – does my DB suffer from network weakness ?</title><link>http://feedproxy.google.com/~r/trivadis/yannneuhaus/~3/Jy6Qu6iqlLc/data-guard-in-sync-mode-does-my-db-suffer-from-network-weakness.aspx</link><pubDate>Tue, 16 Oct 2007 15:30:00 GMT</pubDate><guid isPermaLink="false">7f420732-9615-472e-9723-d9bd9f35b01c:327</guid><dc:creator>Yann Neuhaus</dc:creator><slash:comments>265</slash:comments><wfw:commentRss>http://blog.trivadis.com/blogs/yannneuhaus/rsscomments.aspx?PostID=327</wfw:commentRss><comments>http://blog.trivadis.com/blogs/yannneuhaus/archive/2007/10/16/data-guard-in-sync-mode-does-my-db-suffer-from-network-weakness.aspx#comments</comments><description>&lt;p&gt;My Grid Control console is often polluted by warnings about wait events of the network event class :&lt;/p&gt;

&lt;p&gt;&lt;img src="http://blog.trivadis.com/blogs/yannneuhaus/gridconsole_net_events.jpg" height="600" width="900" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;Is my Data Guard setup really suffering from poor performance?&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;I operate with the Maximum Availability mode.&lt;br /&gt;&lt;br /&gt;We will investigate why the Grid Control warnings occur. The database is up since about 3 days (72 hours). First of all try to identify the wait classes which generated the most important wait times:&lt;br /&gt;&lt;br /&gt;
&lt;code&gt;
set lines 130&lt;br /&gt;select * from V$SYSTEM_WAIT_CLASS&lt;br /&gt;order by 5&lt;br /&gt;/&lt;br /&gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;WAIT_CLASS_ID WAIT_CLASS# WAIT_CLASS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TOTAL_WAITS TIME_WAITED&lt;br /&gt;------------- ----------- ------------------- ----------- -----------&lt;br /&gt;&amp;nbsp;&amp;nbsp; 4217450380&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 Application&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1472&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 434&lt;br /&gt;&amp;nbsp;&amp;nbsp; 3875070507&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4 Concurrency&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1178&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1338&lt;br /&gt;&amp;nbsp;&amp;nbsp; 3290255840&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 Configuration&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1097&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5250&lt;br /&gt;&amp;nbsp;&amp;nbsp; 3386400367&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5 Commit&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3512&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6981&lt;br /&gt;&amp;nbsp;&amp;nbsp; 4166625743&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3 Administrative&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4906&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 111527&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp;&amp;nbsp; 2000153315&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7 Network&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2549790&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 325016&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp;&amp;nbsp; 1740759767&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8 User I/O&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1384276&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 427440&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp;&amp;nbsp; 4108307767&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 9 System I/O&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3151272&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 646415&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp;&amp;nbsp; 1893977003&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 Other&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 251373&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2207566&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;span style="font-weight:bold;"&gt;&amp;nbsp;&amp;nbsp; 2723168908&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6 Idle&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3720999&amp;nbsp;&amp;nbsp; 639262672&lt;/span&gt;&lt;br style="font-weight:bold;" /&gt;&lt;/code&gt;&lt;br /&gt;
In the database, after a performance alert occurred in Grid Control, we can identify the problem in V$WAITCLASSMETRIC_HISTORY :&lt;br /&gt;&lt;br /&gt;
&lt;code&gt;
select BEGIN_TIME, END_TIME, DBTIME_IN_WAIT, TIME_WAITED WAIT_COUNT&lt;br /&gt;&amp;nbsp; from V$WAITCLASSMETRIC_HISTORY&lt;br /&gt;&amp;nbsp;where WAIT_CLASS# = 7; &lt;span style="font-weight:bold;text-decoration:underline;"&gt;# 7 for network&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;BEGIN_TIME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; END_TIME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DBTIME_IN_WAIT TIME_WAITED WAIT_COUNT&lt;br /&gt;-------------------- --------------------&amp;nbsp;&amp;nbsp; -------------- ----------- ----------&lt;br /&gt;25-SEP-2007 11:00:54 25-SEP-2007 11:01:54&amp;nbsp;&amp;nbsp; 21.0387822&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2143.1923&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 19262&lt;br /&gt;25-SEP-2007 10:59:54 25-SEP-2007 11:00:54&amp;nbsp;&amp;nbsp; 51.2713653&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2147.2517&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 19047&lt;br /&gt;25-SEP-2007 10:58:54 25-SEP-2007 10:59:54&amp;nbsp;&amp;nbsp; 55.8887214&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2480.2726&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 18405&lt;br /&gt;25-SEP-2007 10:57:53 25-SEP-2007 10:58:54&amp;nbsp;&amp;nbsp; 44.2017456&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2374.9075&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 21223&lt;br /&gt;25-SEP-2007 10:56:53 25-SEP-2007 10:57:53&amp;nbsp;&amp;nbsp; 33.1204214&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2676.6979&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 28336&lt;br /&gt;25-SEP-2007 10:55:53 25-SEP-2007 10:56:53&amp;nbsp;&amp;nbsp; 37.3184263&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3498.7629&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 30965&lt;br /&gt;25-SEP-2007 10:54:54 25-SEP-2007 10:55:53&amp;nbsp;&amp;nbsp; 27.779576&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3130.5472&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 29403&lt;br /&gt;25-SEP-2007 10:53:54 25-SEP-2007 10:54:54&amp;nbsp;&amp;nbsp; 26.117611&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2752.5801&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 23430&lt;br /&gt;&lt;br /&gt;
&lt;/code&gt;
Now we will try to analyze in depth the events mentioned in Grid control :&lt;br /&gt;&lt;br /&gt;
&lt;code&gt;
&amp;quot;Database Time Spent Waiting (%)&amp;quot; is at 88.26568 for event class &amp;quot;Network&amp;quot;
&lt;/code&gt;
&lt;br /&gt;&lt;br /&gt;Let’s have a look at the primary site. According to the white paper presented in the Metalink note 387174.1, the event “LNS wait on SENDREQ” covers the sequence of the following actions (when a commit transaction is propagated to the standby database).&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;(Extract of the Metalink note:)&lt;br /&gt;The RFS process receives the redo being sent by LNS and &lt;b&gt;completes the I/O to the standby redo log&lt;/b&gt; (important to understand the analysis below).&lt;br /&gt;&lt;br /&gt;V$SYSTEM_EVENT is the view which will allow us to identify the current waits events :&lt;br /&gt;&lt;br /&gt;
&lt;code&gt;
select EVENT, TOTAL_WAITS, TOTAL_TIMEOUTS, TIME_WAITED, AVERAGE_WAIT&lt;br /&gt;from v$system_event&lt;br /&gt;where event like &amp;#39;%LNS%&amp;#39;&lt;br /&gt;&amp;nbsp;&amp;nbsp; or event like &amp;#39;%LGWR%&amp;#39;&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;EVENT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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_WAITS TOTAL_TIMEOUTS TIME_WAITED AVERAGE_WAIT&lt;br /&gt;------------------------- ----------- -------------- ----------- ------------&lt;br /&gt;. . .&lt;br /&gt;LNS wait on SENDREQ&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 125643&amp;nbsp;&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; 156673&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.25&lt;br /&gt;. . .&lt;br /&gt;&lt;br /&gt;
&lt;/code&gt;
On the standby side we perform almost the same select (a few seconds later) , to identify the LNS/RFS related wait times :&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
&lt;code&gt; select EVENT, TOTAL_WAITS, TOTAL_TIMEOUTS, TIME_WAITED, AVERAGE_WAIT&lt;br /&gt;&lt;br /&gt;&amp;nbsp; from v$system_event&lt;br /&gt;&amp;nbsp;where event like &amp;#39;%RFS%&amp;#39;&lt;br /&gt;&amp;nbsp;order by 4&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;EVENT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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_WAITS TOTAL_TIMEOUTS TIME_WAITED AVERAGE_WAIT&lt;br /&gt;------------------------- ----------- -------------- ----------- ------------&lt;br /&gt;. . .&lt;br /&gt;RFS write&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 125270&amp;nbsp;&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; 121825&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .97&lt;br /&gt;. . .
&lt;/code&gt;
&lt;br /&gt;&lt;br /&gt;
We clearly observe that out of the 156673 ms waited because of &amp;quot;LNS wait on SENDREQ&amp;quot; (on the primary, see above for detailed description of this event), 121825 ms are due to the waits on &lt;span style="font-weight:bold;text-decoration:underline;"&gt;writing to the standby redo log files on the standby side&lt;/span&gt; (&amp;quot;RFS write&amp;quot;)&lt;br /&gt;&lt;br /&gt;In the whole propagation/synchronization process between primary and standby the most important part is simply the writing on the standby redo log files (normal I/Os to keep the transactions on the standby side) and not the network as expected.&lt;br /&gt;&lt;br /&gt;It is worth to mention that the &amp;quot;redo write time&amp;quot; on the primary is 128333 ms which means that the 121825 ms of waits for the RFS writes are fully acceptable (normal I/O operations/performance)&lt;br /&gt;&lt;br /&gt;During these 3 days while the database was up and running having waits of about 120000 to 130000 ms (120 to 130 s) is absolutely negligible!&lt;br /&gt;&lt;br /&gt;As a conclusion: although the most important waits on the primary database are related to the network, there are negligible in absolute values. 90% of 120 seconds of waits in 3 days is still only 1,66 second of wait per hour in average&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;
More details on www.trivadis.com -&amp;gt; publications :&lt;/p&gt;&lt;p&gt;http://www.trivadis.com/Images/Dataguard_network_tuning_tvd_layout_tcm16-16758.pdf&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://blog.trivadis.com/aggbug.aspx?PostID=327" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/trivadis/yannneuhaus/~4/Jy6Qu6iqlLc" height="1" width="1"/&gt;</description><feedburner:origLink>http://blog.trivadis.com/blogs/yannneuhaus/archive/2007/10/16/data-guard-in-sync-mode-does-my-db-suffer-from-network-weakness.aspx</feedburner:origLink></item><item><title>Dataguard broker setup and Standby Redo Logs</title><link>http://feedproxy.google.com/~r/trivadis/yannneuhaus/~3/-KE7ufQ3gCg/dataguard-broker-setup-and-standby-redo-logs.aspx</link><pubDate>Tue, 25 Sep 2007 21:14:00 GMT</pubDate><guid isPermaLink="false">7f420732-9615-472e-9723-d9bd9f35b01c:290</guid><dc:creator>Yann Neuhaus</dc:creator><slash:comments>23</slash:comments><wfw:commentRss>http://blog.trivadis.com/blogs/yannneuhaus/rsscomments.aspx?PostID=290</wfw:commentRss><comments>http://blog.trivadis.com/blogs/yannneuhaus/archive/2007/09/25/dataguard-broker-setup-and-standby-redo-logs.aspx#comments</comments><description>&lt;p&gt;You wanna create an Oracle Dataguard configuration working in Maximum availability. This configuration uses of course standby redo log files. These files must be available on the primary and standby side (because of switchover : primary database becomes standby database). In your setup process you decided to create the standy redo log files before duplicating the primary database. After the creation of the Dataguard configuration, the standby database seems to miss the standby redo log&amp;nbsp; files.&lt;/p&gt;&lt;code&gt;RFS[3]: No standby redo logfiles created &lt;br /&gt;RFS[3]: Archived Log: &amp;#39;/u00/app/oracle/admin/DG/arch/DG_1_86_599565590.arc&amp;#39; &lt;/code&gt;
&lt;p&gt;Below the description of the problem and the solution.&lt;br /&gt;&lt;br /&gt;First of all you create the standby redo log files on the primary database :&lt;br /&gt;&lt;br /&gt;&lt;code&gt;alter database add standby logfile group 4&lt;br /&gt;(&amp;#39;/u00/oradata/DG/sredog4m1DG.dbf&amp;#39;,&lt;br /&gt;&amp;nbsp;&amp;#39;/u01/oradata/DG/sredog4m2DG.dbf&amp;#39;) SIZE 6M reuse;&lt;br /&gt;alter database add standby logfile group 5&lt;br /&gt;(&amp;#39;/u00/oradata/DG/sredog5m1DG.dbf&amp;#39;,&lt;br /&gt;&amp;nbsp;&amp;#39;/u01/oradata/DG/sredog5m2DG.dbf&amp;#39;) SIZE 6M reuse;&lt;br /&gt;alter database add standby logfile group 6&lt;br /&gt;(&amp;#39;/u00/oradata/DG/sredog6m1DG.dbf&amp;#39;,&lt;br /&gt;&amp;nbsp;&amp;#39;/u01/oradata/DG/sredog6m2DG.dbf&amp;#39;) SIZE 6M reuse;&lt;br /&gt;alter database add standby logfile group 7&lt;br /&gt;(&amp;#39;/u00/oradata/DG/sredog7m1DG.dbf&amp;#39;,&lt;br /&gt;&amp;nbsp;&amp;#39;/u01/oradata/DG/sredog7m2DG.dbf&amp;#39;) SIZE 6M reuse; &lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Backup your primary database for standby with RMAN : &lt;code&gt;&lt;br /&gt;&lt;br /&gt;RMAN&amp;gt; connect target /&lt;br /&gt;RMAN&amp;gt; backup incremental level 0 database;&lt;br /&gt;RMAN&amp;gt; backup current controlfile for standby;&lt;br /&gt;RMAN&amp;gt; backup archivelog all delete input;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;Start (nomount) the standby side :&lt;br /&gt;&lt;br /&gt;&lt;code&gt;SQL&amp;gt; startup nomount;&lt;br /&gt;ORACLE instance started.&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;From the primary server, start RMAN to duplicate for standby :&lt;br /&gt;&lt;br /&gt;&lt;code&gt;RMAN&amp;gt; connect target /&lt;br /&gt;connect connected to target database: DG (DBID=1512896598)&lt;br /&gt;&lt;br /&gt;RMAN&amp;gt; connect auxiliary sys/manager@DG_SITE2&lt;br /&gt;connected to auxiliary database: DG (not mounted)&lt;br /&gt;&lt;br /&gt;RMAN&amp;gt; duplicate target database for standby dorecover nofilenamecheck;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;After the duplicate verify the status on the standby database &lt;code&gt;:&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; select database_role from v$database;&lt;br /&gt;&lt;br /&gt;DATABASE_ROLE&lt;br /&gt;----------------&lt;br /&gt;PHYSICAL STANDBY&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;The standby redo log files have been correctly duplicated, but the files are NOT created on the filesystem. &lt;code&gt;&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; select group# from v$standby_log;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; GROUP#&lt;br /&gt;----------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;Now you can create your dataguard configuration with &lt;u&gt;&lt;b&gt;dgmgrl&lt;/b&gt;&lt;/u&gt; from the primary side :&lt;br /&gt;&lt;br /&gt;&lt;code&gt;connect sys/manager&lt;br /&gt;&lt;br /&gt;create configuration &amp;#39;DG&amp;#39; as&lt;br /&gt;&amp;nbsp; primary database is &amp;#39;DG_SITE1&amp;#39;&lt;br /&gt;&amp;nbsp; connect identifier is &amp;#39;DG_SITE1.trivadistraining.com&amp;#39;;&lt;br /&gt;add database &amp;#39;DG_SITE2&amp;#39; as&lt;br /&gt;&amp;nbsp; connect identifier is &amp;#39;DG_SITE2.trivadistraining.com&amp;#39;&lt;br /&gt;&amp;nbsp; maintained as physical;&lt;br /&gt;edit database &amp;#39;DG_SITE1&amp;#39; set property StandbyArchiveLocation=&amp;#39;/u00/app/oracle/admin/DG/arch&amp;#39;;&lt;br /&gt;edit database &amp;#39;DG_SITE1&amp;#39; set property StandbyFileManagement=&amp;#39;AUTO&amp;#39;;&lt;br /&gt;edit database &amp;#39;DG_SITE1&amp;#39; set property LogXptMode=&amp;#39;ARCH&amp;#39;;&lt;br /&gt;edit database &amp;#39;DG_SITE2&amp;#39; set property StandbyArchiveLocation=&amp;#39;/u00/app/oracle/admin/DG/arch&amp;#39;;&lt;br /&gt;edit database &amp;#39;DG_SITE2&amp;#39; set property StandbyFileManagement=&amp;#39;AUTO&amp;#39;;&lt;br /&gt;edit database &amp;#39;DG_SITE2&amp;#39; set property LogXptMode=&amp;#39;ARCH&amp;#39;;&lt;br /&gt;enable configuration;&lt;br /&gt;show configuration;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;On the standby side , following occured (extract of the alert.log file of the standby database) :&lt;br /&gt;&lt;br /&gt;&lt;code&gt;Completed: ALTER DATABASE RECOVER MANAGED STANDBY DATABASE&amp;nbsp; THROUGH ALL SWITCHOVER DISCONNECT&amp;nbsp; NODELAY&lt;br /&gt;Sun Sep 23 14:52:54 2007&lt;br /&gt;Redo Shipping Client Connected as PUBLIC&lt;br /&gt;-- Connected User is Valid&lt;br /&gt;RFS[3]: Assigned to RFS process 7535&lt;br /&gt;RFS[3]: Identified database type as &amp;#39;physical standby&amp;#39;&lt;br /&gt;RFS[3]: No standby redo logfiles created&lt;br /&gt;RFS[3]: Archived Log: &amp;#39;/u00/app/oracle/admin/DG/arch/DG_1_85_599565590.arc&amp;#39;&lt;br /&gt;Sun Sep 23 14:52:55 2007&lt;br /&gt;Media Recovery Log /u00/app/oracle/admin/DG/arch/DG_1_85_599565590.arc&lt;br /&gt;Media Recovery Waiting for thread 1 sequence 86&lt;br /&gt;Sun Sep 23 14:54:39 2007&lt;br /&gt;RFS[3]: No standby redo logfiles created&lt;br /&gt;RFS[3]: Archived Log: &amp;#39;/u00/app/oracle/admin/DG/arch/DG_1_86_599565590.arc&amp;#39;&lt;br /&gt;RFS[3]: No standby redo logfiles created&lt;br /&gt;RFS[3]: Archived Log: &amp;#39;/u00/app/oracle/admin/DG/arch/DG_1_87_599565590.arc&amp;#39;&lt;br /&gt;Sun Sep 23 14:54:40 2007&lt;br /&gt;Media Recovery Log /u00/app/oracle/admin/DG/arch/DG_1_86_599565590.arc&lt;br /&gt;Media Recovery Log /u00/app/oracle/admin/DG/arch/DG_1_87_599565590.arc&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;After having enabled the Dataguard configuration, the standby redo log disappeared :&lt;br /&gt;&lt;br /&gt;&lt;code&gt;SQL&amp;gt; select group# from v$standby_log;&lt;br /&gt;&lt;br /&gt;no rows selected&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;The standby database complains in the alert.log file : &lt;code&gt;&lt;br /&gt;&lt;br /&gt;RFS[3]: No standby redo logfiles created&lt;br /&gt;RFS[3]: Archived Log: &amp;#39;/u00/app/oracle/admin/DG/arch/DG_1_86_599565590.arc&amp;#39;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;The solution is easy, stop the log apply mode and create the standby redo log files on the standby database :&lt;br /&gt;&lt;br /&gt;On the primary database (in dgmgrl) : &lt;code&gt;&lt;br /&gt;&lt;br /&gt;DGMGRL&amp;gt; edit database &amp;#39;DG_SITE2&amp;#39; set state = &amp;#39;LOG-APPLY-OFF&amp;#39;;&lt;br /&gt;Succeeded.&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;On standby side (see the script above) : &lt;code&gt;&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; @create_standy_log.sql&lt;br /&gt;&lt;br /&gt;Database altered.&lt;br /&gt;Database altered.&lt;br /&gt;Database altered.&lt;br /&gt;Database altered.&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;On the primary database (in dgmgrl) acivate the standby site again : &lt;code&gt;&lt;br /&gt;&lt;br /&gt;DGMGRL&amp;gt; edit database &amp;#39;DG_SITE2&amp;#39; set state = &amp;#39;ONLINE&amp;#39;;&lt;br /&gt;Succeeded.&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;To verify, in sqlplus on the primary side : &lt;code&gt;&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; alter system archive log current;&lt;br /&gt;&lt;br /&gt;System altered. &lt;/code&gt;&lt;br /&gt;&lt;br /&gt;On the standby side , the database doesn&amp;#39;t complain anymore and uses the standby redo log files : &lt;code&gt;&lt;br /&gt;&lt;br /&gt;RFS[5]: Successfully opened standby log 4: &amp;#39;/u00/oradata/DG/sredog4m1DG.dbf&amp;#39;&lt;br /&gt;Sun Sep 23 14:57:28 2007&lt;br /&gt;Media Recovery Log /u00/app/oracle/admin/DG/arch/DG_1_91_599565590.arc&lt;br /&gt;Media Recovery Waiting for thread 1 sequence 92&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;Note also that even if the mode is still Maximum Performance and the transport mode ARCH, the standby redo log files will be used to store the archived files from the primary.&lt;/p&gt;&lt;img src="http://blog.trivadis.com/aggbug.aspx?PostID=290" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/trivadis/yannneuhaus/~4/-KE7ufQ3gCg" height="1" width="1"/&gt;</description><category domain="http://blog.trivadis.com/blogs/yannneuhaus/archive/tags/Oracle+Dataguard/default.aspx">Oracle Dataguard</category><feedburner:origLink>http://blog.trivadis.com/blogs/yannneuhaus/archive/2007/09/25/dataguard-broker-setup-and-standby-redo-logs.aspx</feedburner:origLink></item><item><title>xv - An image viewer on Ubuntu 7.04 </title><link>http://feedproxy.google.com/~r/trivadis/yannneuhaus/~3/tKzPtJhIFkI/xv-an-image-viewer-quot-on-ubuntu-7-04.aspx</link><pubDate>Wed, 19 Sep 2007 16:59:00 GMT</pubDate><guid isPermaLink="false">7f420732-9615-472e-9723-d9bd9f35b01c:284</guid><dc:creator>Yann Neuhaus</dc:creator><slash:comments>972</slash:comments><wfw:commentRss>http://blog.trivadis.com/blogs/yannneuhaus/rsscomments.aspx?PostID=284</wfw:commentRss><comments>http://blog.trivadis.com/blogs/yannneuhaus/archive/2007/09/19/xv-an-image-viewer-quot-on-ubuntu-7-04.aspx#comments</comments><description>&lt;p&gt;Sometimes, when switching to new technologies/environments, it is still 
nice to be able to use some old software. Although there may be 
equivalents &lt;span class="moz-smiley-s3"&gt;&lt;span&gt; ;-) &lt;/span&gt;&lt;/span&gt;. In my case, a 6 year SuSE user, I just finished 
installing a really nice Linux variant on my laptop: Ubuntu 7.04. 
Although Ubuntu offers all the stuff an IT consultant requires, I missed 
one tool I really got used to: xv. To check and modify pictures and grab 
parts of the screen.
&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;img src="http://blog.trivadis.com/blogs/yannneuhaus/xv.gif" height="276" width="479" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;I could not find an xv package for Ubuntu, even after installing the 
nice extension coming along with automatix2 (&lt;a href="http://www.getautomatix.com/" class="moz-txt-link-freetext"&gt;http://www.getautomatix.com&lt;/a&gt;):
&lt;br /&gt;&amp;#39;apt-cache search xv&amp;#39; revelaed nothing...&lt;/p&gt;

&lt;p&gt;After googling the internet a bit, I found some information about how to 
create an xv package on Ubuntu (for instance on 
&lt;a href="http://bok.fas.harvard.edu/debian/xv/index.html" class="moz-txt-link-freetext"&gt;http://bok.fas.harvard.edu/debian/xv/index.html&lt;/a&gt;). I try to consolidate 
them in this blog entry and hope you find the useful.
&lt;br /&gt;
&lt;br /&gt;Before installing xv on Ubuntu, you will need some preparation. First of 
all, install the libraries required during the xv compilation and 
installation.
&lt;br /&gt;
&lt;br /&gt;If your computer is behind a proxy, set the following variables to use 
the proxy:
&lt;br /&gt;
&lt;code&gt;
&lt;br /&gt;export http_proxy=&lt;a href="http://myproxy:8080/" class="moz-txt-link-freetext"&gt;http://myproxy:8080&lt;/a&gt;
&lt;br /&gt;export ftp_proxy=&lt;a href="http://myproxy:8080/" class="moz-txt-link-freetext"&gt;http://myproxy:8080&lt;/a&gt;
&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;Then install the required packages:
&lt;br /&gt;
&lt;code&gt;
&lt;br /&gt;sudo apt-get install xlibs-dev
&lt;br /&gt;sudo apt-get install dpkg-dev
&lt;br /&gt;sudo apt-get install libc6-dev
&lt;br /&gt;sudo apt-get install libtiff3g-dev
&lt;br /&gt;sudo apt-get install libjpeg62-dev
&lt;br /&gt;sudo apt-get install libpng-dev zlib1g-dev
&lt;br /&gt;sudo apt-get install libtiff-dev
&lt;br /&gt;sudo apt-get install zlib-bin
&lt;br /&gt;sudo apt-get install zlibc
&lt;br /&gt;sudo apt-get install zlib1g-dev
&lt;br /&gt;sudo apt-get install zlib1g
&lt;br /&gt;sudo apt-get install libpng3
&lt;br /&gt;sudo apt-get install libpng12-dev
&lt;br /&gt;sudo apt-get install libpng12-0
&lt;/code&gt;
&lt;br /&gt;
&lt;br /&gt;After that, download the xv source, the jumbo patches and the debian 
patch (remember, Ubuntu is a Debian decendant):
&lt;br /&gt;
&lt;code&gt;
&lt;br /&gt;&lt;a class="moz-txt-link-freetext"&gt;ftp://ftp.cis.upenn.edu/pub/xv/xv-3.10a.tar.gz&lt;/a&gt;
&lt;br /&gt;&lt;a href="http://prdownloads.sourceforge.net/png-mng/xv-3.10a-jumbo-patches-20050501.tar.gz" class="moz-txt-link-freetext"&gt;http://prdownloads.sourceforge.net/png-mng/xv-3.10a-jumbo-patches-20050501.tar.gz&lt;/a&gt;
&lt;br /&gt;&lt;a href="http://bok.fas.harvard.edu/debian/xv/xv-3.10a-jumbo20050501-1.diff.gz" class="moz-txt-link-freetext"&gt;http://bok.fas.harvard.edu/debian/xv/xv-3.10a-jumbo20050501-1.diff.gz&lt;/a&gt;
&lt;/code&gt;
&lt;br /&gt;
&lt;br /&gt;During installation of xv, the bash shell will be needed. On Ubuntu 
7.04, the default shell (/bin/sh) is linked to /bin/dash. Change that 
link so that it points to bash (There may be other solutions, but this 
worked for me most easily)
&lt;br /&gt;
&lt;code&gt;
&lt;br /&gt;ls -lrt /bin/sh
&lt;br /&gt;lrwxrwxrwx 1 root root 4 2007-09-14 10:49 /bin/sh -&amp;gt; bash
&lt;/code&gt;
&lt;br /&gt;
&lt;br /&gt;No we start the real stuff:
&lt;br /&gt;
&lt;code&gt;
&lt;br /&gt;tar xvzf xv-3.10a.tar.gz
&lt;br /&gt;tar xvzf xv-3.10a-jumbo-patches-20050501.tar.gz
&lt;br /&gt;gzip -d xv-3.10a-jumbo20050501-1.diff.gz
&lt;br /&gt;cd xv-3.10a
&lt;/code&gt;
&lt;br /&gt;
&lt;br /&gt;Apply the patches:
&lt;br /&gt;
&lt;code&gt;
&lt;br /&gt;patch -p1 &amp;lt; ../xv-3.10a-jumbo-fix-patch-20050410.txt
&lt;br /&gt;patch -p1 &amp;lt; ../xv-3.10a-jumbo-enh-patch-20050501.txt
&lt;br /&gt;patch -p1 &amp;lt; ../xv-3.10a-jumbo20050501-1.diff
&lt;br /&gt;chmod 755 debian/rules
&lt;/code&gt;
&lt;br /&gt;
&lt;br /&gt;Build the package:
&lt;br /&gt;
&lt;code&gt;
&lt;br /&gt;dpkg-buildpackage -rfakeroot -uc -b
&lt;/code&gt;
&lt;br /&gt;
&lt;br /&gt;Install the package:
&lt;br /&gt;
&lt;code&gt;
&lt;br /&gt;sudo dpkg -i xv_3.10a-jumbo20050501-1_i386.deb
&lt;br /&gt;sudo dpkg -i xv-doc_3.10a-jumbo20050501-1_all.deb
&lt;/code&gt;
&lt;br /&gt;
&lt;br /&gt;That was it! I hope I could help you. If you do not want to build the 
packages by yourself, just send me a note.
&lt;br /&gt;
&lt;/p&gt;
&lt;img src="http://blog.trivadis.com/aggbug.aspx?PostID=284" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/trivadis/yannneuhaus/~4/tKzPtJhIFkI" height="1" width="1"/&gt;</description><category domain="http://blog.trivadis.com/blogs/yannneuhaus/archive/tags/Linux/default.aspx">Linux</category><category domain="http://blog.trivadis.com/blogs/yannneuhaus/archive/tags/Ubuntu/default.aspx">Ubuntu</category><category domain="http://blog.trivadis.com/blogs/yannneuhaus/archive/tags/Debian/default.aspx">Debian</category><feedburner:origLink>http://blog.trivadis.com/blogs/yannneuhaus/archive/2007/09/19/xv-an-image-viewer-quot-on-ubuntu-7-04.aspx</feedburner:origLink></item></channel></rss>
