<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Oracle - Concepts et Exemples &#187; standby</title>
	<atom:link href="https://blog.developpez.com/pachot/tag/standby/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.developpez.com/pachot</link>
	<description>Les fonctionalités et concepts d&#039;Oracle à partir de traductions et de démos</description>
	<lastBuildDate>Sun, 03 Apr 2016 20:36:21 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.42</generator>
	<item>
		<title>Que fait &#8216;startup&#8217; sur une standby ?</title>
		<link>https://blog.developpez.com/pachot/que-fait-startup-sur-une-standby/</link>
		<comments>https://blog.developpez.com/pachot/que-fait-startup-sur-une-standby/#comments</comments>
		<pubDate>Wed, 30 Oct 2013 15:27:32 +0000</pubDate>
		<dc:creator><![CDATA[pachot]]></dc:creator>
				<category><![CDATA[MicroLearning]]></category>
		<category><![CDATA[standby]]></category>
		<category><![CDATA[startup]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/pachot/?p=877</guid>
		<description><![CDATA[En 11g, si on fait STARTUP ou ALTER DATABASE OPEN sur une physical standby, elle s&#8217;ouvre en read-only: SQL&#62; select open_mode from v$database; OPEN_MODE -------------------- MOUNTED SQL&#62; alter database open; Database altered. SQL&#62; select open_mode from v$database; OPEN_MODE -------------------- READ &#8230; <a href="https://blog.developpez.com/pachot/que-fait-startup-sur-une-standby/">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>En 11g, si on fait STARTUP ou ALTER DATABASE OPEN sur une physical standby, elle s&rsquo;ouvre en read-only:</p>
<pre>SQL&gt; select open_mode from v$database;

OPEN_MODE            
-------------------- 
MOUNTED              

SQL&gt; alter database open;

Database altered.

SQL&gt; select open_mode from v$database;

OPEN_MODE            
-------------------- 
READ ONLY            
</pre>
<p>Si on gère la standby manuellement, parce qu&rsquo;on est en Standard Edition, sans DataGuard, alors l&rsquo;apply va repasser la base en MOUNTED dès qu&rsquo;on va passer en mode recovery:</p>
<pre>SQL&gt; alter database recover standby database until cancel;
alter database recover standby database until cancel
*
ERROR at line 1:
ORA-00279: change 996735 generated at 10/30/2013 12:41:21 needed for thread 1
ORA-00289: suggestion : /app/oracle/product/11.2.0.4/dbs/arch1_48_830170163.dbf
ORA-00280: change 996735 for thread 1 is in sequence #48


SQL&gt; select open_mode from v$database;

OPEN_MODE            
-------------------- 
MOUNTED              
</pre>
<p>Si par contre on est en managed standby (DataGuard), lorsque l&rsquo;apply va se faire &#8211; et ça peut arriver automatiquent si le broker est en apply-on:</p>
<pre>SQL&gt; select open_mode from v$database;

OPEN_MODE            
-------------------- 
MOUNTED              

SQL&gt; alter database open;

Database altered.

SQL&gt; select open_mode from v$database;

OPEN_MODE            
-------------------- 
READ ONLY            

SQL&gt; alter database recover managed standby database disconnect;

SQL&gt; select open_mode from v$database;

OPEN_MODE            
-------------------- 
READ ONLY WITH APPLY              
</pre>
<p>On passe automatiquement en &lsquo;realtime apply&rsquo;.<br />
Le problème: ceci active la licence Active Data Guard <img src="https://blog.developpez.com/pachot/wp-includes/images/smilies/icon_sad.gif" alt=":(" class="wp-smiley" /></p>
<p><strong>Donc, si même si on n&rsquo;a pas choisi cette option payante, il suffit de faire par erreur un &lsquo;startup&rsquo; au lieu du&rsquo;un &lsquo;startup mount&rsquo; pour se retrouver à devoir payer cette option !</strong></p>
<p>Les solutions:</p>
<p><strong>1.</strong> Penser (=documenter) à désactiver l&rsquo;apply si on ouvre la base. Ne pas faire d&rsquo;autostart, ou alors utiliser Oracle Restart et préciser MOUNT comme option de startup.</p>
<p><strong>2.</strong> Le paramètre non documenté _query_on_physical qui désactive l&rsquo;option en empêchant d&rsquo;ouvrir une base en cours de recovery.<br />
   Inconvénient:</p>
<pre>SQL&gt; alter database recover managed standby database;
alter database recover managed standby database
*
ERROR at line 1:
ORA-00283: recovery session canceled due to errors
ORA-00600: internal error code, arguments: [krdsmr_rsb], [1], [1], [0], [0],
[], [], [], [], [], [], []
</pre>
<p> ce n&rsquo;est pas toujours très propre&#8230;</p>
<p><strong>3.</strong> Dans un &lsquo;after startup&rsquo; trigger (on l&rsquo;utilise souvent pour préciser un service read-only en fonction du rôle) empêcher un OPEN (par un alter database close) lorsque le rôle est STANDBY. exemple <a href="http://blog.trivadis.com/b/mathiaszarick/archive/2012/09/07/active-data-guard-s-real-time-query-avoid-usage-if-not-licensed.aspx">ici</a>.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
