<?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; SCN</title>
	<atom:link href="https://blog.developpez.com/pachot/tag/scn/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>System Change Number (SCN), par Jonathan Lewis</title>
		<link>https://blog.developpez.com/pachot/jl_glossary_scn/</link>
		<comments>https://blog.developpez.com/pachot/jl_glossary_scn/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 09:49:47 +0000</pubDate>
		<dc:creator><![CDATA[pachot]]></dc:creator>
				<category><![CDATA[Jonathan Lewis]]></category>
		<category><![CDATA[SCN]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Cet article est une traduction du glossaire de Jonathan Lewis publié sur son blog. L&#8217;article original en anglais se trouve ici. SCN est l&#8217;abréviation de System Change Number ou de System Commit Number (aucun de ces 2 termes n&#8217;est vraiment &#8230; <a href="https://blog.developpez.com/pachot/jl_glossary_scn/">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<blockquote><p><ins>Cet article est une traduction du glossaire de Jonathan Lewis publié sur son blog. L&rsquo;article original en anglais se trouve <a href="http://jonathanlewis.wordpress.com/2009/06/23/glossary/">ici</a>.<br />
</ins></p></blockquote>
<p>
<b>SCN </b>est l&rsquo;abréviation de <i>System Change Number</i> ou de <i>System Commit Number</i> (aucun de ces 2 termes n&rsquo;est vraiment exact)</p>
<p>Le <b>SCN</b> est utilisé comme une sorte d&rsquo;horloge interne d&rsquo;une instance Oracle. Mais il n&rsquo;avance pas régulièrement. C&rsquo;est un compteur qui est incrémenté à chaque fois qu&rsquo;une session fait un <b>commit</b> (ou un <b>rollback</b>). </p>
<p>Il peut changer à d&rsquo;autres occasions: les instances impliquées dans des transactions ou requêtes distribuées vont synchroniser leur SCN (toujours vers un valeur supérieure) à la fin de chaque dialogue. De la même manière, les instances d&rsquo;une configuration RAC synchronisent leur SCN très fréquemment.</p>
<p>Il y a aussi une autre raison: chaque modification d&rsquo;un bloc incrémente un &lsquo;<i>change number</i>&lsquo; dans ce bloc qui est composé du <b>SCN</b> courant et d&rsquo;un compteur sur un octet. Donc s&rsquo;il y a plus de 255 modifications dans un bloc dans une période où aucun commit ne se fait, alors le SCN va être incrémenté de 1 et ce compteur est remis à 1 (la valeur zéro étant réservée pour marquer un bloc comme corrompu &#8211; <i>logically corrupt</i> &#8211; ce qui se retrouve dans l&rsquo;alert.log sous l&rsquo;erreur ORA-01578).</p>
<p>Une session prend note du <b>SCN </b>courant à différents moments (le début d&rsquo;une transaction, le commit d&rsquo;une transaction, le début d&rsquo;une requête) et le <b>SCN </b> courant est écrit dans la base à différents endroits (<i>controlfiles</i>, entêtes de <i>datafiles</i>, entête de bloc, entrées <b><a href="http://blog.developpez.com/pachot/p8680/concepts/jl-itl/">ITL</a></b>).</p>
<p>Une session est constamment en train de comparer le SCN courant, ou un des SCN qu&rsquo;elle a pre-enregistrés, avec les SCN stockés dans la base de données afin de vérifier qu&rsquo;elle voit une version sûre, correcte et appropriée des données.</p>
<p>Vous pouvez connaître le SCN courant en appelant la fonction dbms_flashback.get_system_change_number ou en faisant <code class="codecolorer text default"><span class="text">select current_scn from v$database</span></code>. Par contre, chaque requête sur v$database incrémente le SCN, donc CURRENT_SCN sera incrémenté avant d&rsquo;être affiché.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>
