<?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/"
	>

<channel>
	<title>Articles, cours, tutoriels sur les BDs, la sécurité des données et Oracle</title>
	<atom:link href="http://blogorak.estsurinternet.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogorak.estsurinternet.com</link>
	<description>by Didier 'DD' Deleglise &#38; Alban 'le Punk'  (Ze Drim Tim)</description>
	<pubDate>Tue, 03 Jan 2012 08:24:57 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Oracle - 11GR2 RAC - 3° voting disk et nfs</title>
		<link>http://blogorak.estsurinternet.com/oracle-asm/oracle-11gr2-rac-3%c2%b0-voting-disk-et-nfs/</link>
		<comments>http://blogorak.estsurinternet.com/oracle-asm/oracle-11gr2-rac-3%c2%b0-voting-disk-et-nfs/#comments</comments>
		<pubDate>Tue, 03 Jan 2012 08:19:43 +0000</pubDate>
		<dc:creator>alban</dc:creator>
		
		<category><![CDATA[ASM]]></category>

		<category><![CDATA[Cluster RAC]]></category>

		<category><![CDATA[NFS]]></category>

		<category><![CDATA[OCR]]></category>

		<category><![CDATA[RAC]]></category>

		<category><![CDATA[VOTING]]></category>

		<guid isPermaLink="false">http://blogorak.estsurinternet.com/?p=463</guid>
		<description><![CDATA[
En version 10GR2 RAC et 11GR1 RAC, lorsqu’on était dans une configuration ‘cluster étendu’ avec deux baies de stockage, possibilité était donnée de stocker un des voting disks du cluster sur un partage NFS situé sur un autre serveur n’utilisant pas l’une des baies.
L’objectif de cette configuration était de fournir un quorum permettant à une [...]]]></description>
			<content:encoded><![CDATA[<div class="article-content">
<p>En version 10GR2 RAC et 11GR1 RAC, lorsqu’on était dans une configuration ‘cluster étendu’ avec deux baies de stockage, possibilité était donnée de stocker un des voting disks du cluster sur un partage NFS situé sur un autre serveur n’utilisant pas l’une des baies.</p>
<p>L’objectif de cette configuration était de fournir un quorum permettant à une des parties du cluster de continuer à fonctionner même en cas de perte complète d’une baie (ou d’une salle d’hébergement) ou en cas de perte du réseau privé entre les noeuds.</p>
<p>Si vous êtes encore en version 10GR2 ou 11GR1 vous trouverez des infos sur ce paramétrage <a href="http://www.oracle.com/technetwork/database/clusterware/overview/thirdvoteonnfs-129371.pdf" target="_blank">ici</a></p>
<p>En version 11GR2 (11.2.0.2 en l&#8217;occurrence) où les voting disks peuvent être stockés dans ASM les choses se compliquent un peu pour mettre en place ce troisième voting disk :</p>
<p>On dispose d’un cluster RAC à deux nœuds utilisant deux baies de stockage, un diskgroup ‘OCRCONFIG1’ composé de quatre disques (deux sur chaque baie) est utilisé pour le stockage des OCR et voting disks.</p>
<p>Un partage nfs /votedisk est monté sur chacun des serveurs du cluster :</p>
<pre>nfs-server:/votedisk /votedisk nfs rw,bg,hard,intr,rsize=32768,wsize=32768,tcp,noac,vers=3,timeo=600 0 0</pre>
<p>La configuration des voting disks est pour l’instant la suivante :</p>
<pre>[root@rac1 bin]# ./crsctl query css votedisk

##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   77d5d112ed054f97bf7049422ae169ff (ORCL:OCRCONFIG1) [OCRCONFIG1]
 2. ONLINE   4a72763dc7c94f5fbf4acbe0d51b4f69 (ORCL:OCRCONFIG2) [OCRCONFIG1]
 3. ONLINE   45936edfe3174f9fbff3e99794dab38a (ORCL:OCRCONFIG3) [OCRCONFIG1]
Located 3 voting disk(s).</pre>
<p>On a trois voting disks, chacun sur un disque, deux dans une salle  (OCRCONFIG1 et OCRCONFIG3) et 1 dans l’autre (OCRCONFIG2)</p>
<p>Création du futur voting disk sur le partage nfs :</p>
<pre>dd if=/dev/zero of=/votedisk/vote3 bs=1M count=500</pre>
<p>Démarrer ensuite l’assistant asmca</p>
<p>Dans l’onglet ‘Groupe de disques’ sélectionner le groupe de disques  OCRCONFIG1 et sélectionner l’option ‘Ajouter des disques</p>
<p><img class="size-full wp-image-464 alignleft" title="votingnfs1" src="http://blogorak.estsurinternet.com/wp-content/uploads/2012/01/votingnfs1.jpg" alt="votingnfs1" width="529" height="329" /></p>
<p>Cliquer ensuite sur le bouton ‘Modifier le chemin de repérage des disques’</p>
<p><img class="alignleft size-full wp-image-467" title="votingnfs5" src="http://blogorak.estsurinternet.com/wp-content/uploads/2012/01/votingnfs5.jpg" alt="votingnfs5" width="233" height="25" /></p>
<p><img class="alignleft size-full wp-image-465" title="votingnfs3" src="http://blogorak.estsurinternet.com/wp-content/uploads/2012/01/votingnfs3.jpg" alt="votingnfs3" width="420" height="140" /></p>
<p>Ajouter au(x) chemin(s) existant(s) l’emplacement du voting disk sur le partage NFS</p>
<p>Notre disque candidat apparait ensuite :</p>
<p><img class="alignleft size-full wp-image-466" title="votingnfs4" src="http://blogorak.estsurinternet.com/wp-content/uploads/2012/01/votingnfs4.jpg" alt="votingnfs4" width="530" height="379" /></p>
<p>Le sélectionner et cocher la case ‘Quorum’ (dernière colonne) pour indiquer qu’il s’agit d’un disque jouant le rôle de quorum.</p>
<p><img class="alignleft size-full wp-image-468" title="votingnfs6" src="http://blogorak.estsurinternet.com/wp-content/uploads/2012/01/votingnfs6.jpg" alt="votingnfs6" width="528" height="377" /></p>
<p>C’est fait !</p>
<p>Nous voici maintenant avec les disques suivants :</p>
<pre>[root@rac1 bin]# ./crsctl query css votedisk
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   77d5d112ed054f97bf7049422ae169ff (ORCL:OCRCONFIG1) [OCRCONFIG1]
 2. ONLINE   4a72763dc7c94f5fbf4acbe0d51b4f69 (ORCL:OCRCONFIG2) [OCRCONFIG1]
 3. ONLINE   1912723de8bf4f9abf7c79052b008606 (/votedisk/vote3) [OCRCONFIG1]</pre>
<p>Le disque OCRCONFIG1 est en salle 1, le disque OCRCONFIG2 en salle 2, le troisième /votedisk/vote3 joue donc le rôle de quorum.</p>
<p>Remarque : évidemment, le serveur hébergeant ce disque n’est situé ni dans l’une ni dans l’autre des salles, et utilise également un stockage indépendant, sinon ça ne sert pas à grand-chose …</p>
<p><strong>Attention </strong>: il y a quelques effets de bord à cette configuration, en particulier lorsque le device NFS n’est pas accessible, cf la partie ‘Known issue’ du <a href="http://www.oracle.com/technetwork/database/clusterware/overview/grid-infra-thirdvoteonnfs-131158.pdf" target="_blank">white paper Oracle</a>.</div>
]]></content:encoded>
			<wfw:commentRss>http://blogorak.estsurinternet.com/oracle-asm/oracle-11gr2-rac-3%c2%b0-voting-disk-et-nfs/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Restauration d&#8217;un OCR dans ASM (11GR2)</title>
		<link>http://blogorak.estsurinternet.com/oracle-asm/restauration-dun-ocr-dans-asm-11gr2/</link>
		<comments>http://blogorak.estsurinternet.com/oracle-asm/restauration-dun-ocr-dans-asm-11gr2/#comments</comments>
		<pubDate>Mon, 23 May 2011 10:10:51 +0000</pubDate>
		<dc:creator>alban</dc:creator>
		
		<category><![CDATA[ASM]]></category>

		<category><![CDATA[Cluster RAC]]></category>

		<guid isPermaLink="false">http://blogorak.estsurinternet.com/?p=459</guid>
		<description><![CDATA[
Contrairement au versions précédentes, pour la 11GR2, on a la possibilité de stocker l’OCR et les Voting Disks dans un diskgroup ASM.
Après avoir installé un cluster utilisant cette nouvelle fonctionnalité, et faisant quelques tests de recette qui comprennent notamment la restauration de l’OCR, je me suis demandé comment pouvait on restaurer l’OCR quand le cluster [...]]]></description>
			<content:encoded><![CDATA[<div class="article-content">
<p>Contrairement au versions précédentes, pour la 11GR2, on a la possibilité de stocker l’OCR et les Voting Disks dans un diskgroup ASM.</p>
<p>Après avoir installé un cluster utilisant cette nouvelle fonctionnalité, et faisant quelques tests de recette qui comprennent notamment la restauration de l’OCR, je me suis demandé comment pouvait on restaurer l’OCR quand le cluster est arrêté et donc ASM où il est stocké ?</p>
<p>Attention, ce qui suit est valable uniquement pour la version <strong>11.2.0.1</strong>, en 11.2.0.2 les choses sont un petit peu différentes</p>
<p>1. Arrêter le  clusterware sur chaque noeud :</p>
<pre>crsctl stop cluster -all</pre>
<p>2. On vérifie que les deux clusterware sont bien arrêtés sur chaque noeud</p>
<p>3. Sur le noeud sur lequel est présent le backup de l’OCR démarrer manuellement les ressources <strong>css </strong>et <strong>asm</strong></p>
<pre>[root@rac1 bin]# ./crsctl start res ora.cssd -init
CRS-2672: Attempting to start 'ora.cssdmonitor' on 'rac1'
CRS-2676: Start of 'ora.cssdmonitor' on 'rac1' succeeded
CRS-2672: Attempting to start 'ora.cssd' on 'rac1'
CRS-2672: Attempting to start 'ora.diskmon' on 'rac1'
CRS-2676: Start of 'ora.diskmon' on 'rac1' succeeded
CRS-2676: Start of 'ora.cssd' on 'rac1' succeeded</pre>
<pre>[root@rac1 bin]# ./crsctl start res ora.asm -init
CRS-2672: Attempting to start 'ora.cluster_interconnect.haip' on 'rac1'
CRS-2672: Attempting to start 'ora.ctssd' on 'rac1'
CRS-2676: Start of 'ora.ctssd' on 'rac1' succeeded
CRS-2676: Start of 'ora.cluster_interconnect.haip' on 'rac1' succeeded
CRS-2672: Attempting to start 'ora.asm' on 'rac1'
CRS-2676: Start of 'ora.asm' on 'rac1' succeeded</pre>
<p>4. Restaurer l&#8217;OCR depuis le backup qui nous intéresse</p>
<pre>[root@rac1 bin]# ./ocrconfig -showbackup

rac1     2010/12/22 12:53:13     /app/product/11.2.0/grid/cdata/rac-cluster/backup00.ocr

rac1     2010/12/22 08:53:11     /app/product/11.2.0/grid/cdata/rac-cluster/backup01.ocr

rac1     2010/12/22 04:53:11     /app/product/11.2.0/grid/cdata/rac-cluster/backup02.ocr

rac1     2010/12/21 20:53:10     /app/product/11.2.0/grid/cdata/rac-cluster/day.ocr

rac1     2010/12/21 20:53:10     /app/product/11.2.0/grid/cdata/rac-cluster/week.ocr

rac1     2011/03/03 14:54:21     /app/product/11.2.0/grid/cdata/rac-cluster/backup_20110303_145421.ocr

[root@rac1 bin]# ./ocrconfig -restore /app/product/11.2.0/grid/cdata/rac-cluster/backup_20110303_145421.ocr</pre>
<p>5. Démarrer manuellement les ressources manquantes du cluster evmd et crsd.</p>
<pre> [root@rac1 bin]# ./crsctl start res ora.evmd –init
CRS-2672: Attempting to start 'ora.evmd' on 'rac1'
CRS-2676: Start of 'ora.evmd' on 'rac1' succeeded
[root@rac1 bin]# ./crsctl start res ora.crsd –init
CRS-2672: Attempting to start 'ora.crsd' on 'rac1'
CRS-2676: Start of 'ora.crsd' on 'rac1' succeeded</pre>
<p>6. Démarrer le clusterware sur les autres noeuds : crsctl start cluster –all</p>
<pre>[root@rac1 bin]# ./crsctl start cluster –all
CRS-2672: Tentative de drmarrage de 'ora.cssdmonitor' sur 'rac2'
CRS-2676: 'ora.cssdmonitor' a été démarré sur 'rac2'
CRS-2672: Tentative de démarrage de 'ora.cssd' sur 'rac2'
CRS-2672: Tentative de démarrage de 'ora.diskmon' sur 'rac2'
CRS-2676: 'ora.diskmon' a été démarré sur 'rac2'
CRS-2676: 'ora.cssd' a été démarré sur 'rac2'
CRS-2672: Tentative de démarrage de 'ora.ctssd' sur 'rac2'
CRS-2672: Tentative de démarrage de 'ora.cluster_interconnect.haip' sur 'rac2'
CRS-2676: 'ora.ctssd' a été démarré sur 'rac2'
CRS-2672: Tentative de démarrage de 'ora.evmd' sur 'rac2'
CRS-2676: 'ora.evmd' a été démarré sur 'rac2'
CRS-2676: 'ora.cluster_interconnect.haip' a été démarré sur 'rac2'
CRS-2672: Tentative de démarrage de 'ora.asm' sur 'rac2'
CRS-2676: 'ora.asm' a été démarré sur 'rac2'
CRS-2672: Tentative de démarrage de 'ora.crsd' sur 'rac2'
CRS-2676: 'ora.crsd' a été démarré sur 'rac2'
CRS-4690: Oracle Clusterware is already running on 'rac1'
CRS-4000: Command Start failed, or completed with errors</pre>
<p>7. Vérification</p>
<pre> [root@rac1 bin]# ./crs_stat –t
Name           Type           Target    State     Host
ora.DGDATA.dg  ora....up.type ONLINE    ONLINE    rac1
ora.DGFRA.dg   ora....up.type ONLINE    ONLINE    rac1
ora....ER.lsnr ora....er.type ONLINE    ONLINE    rac1
ora....N1.lsnr ora....er.type ONLINE    ONLINE    rac1
ora....TING.dg ora....up.type ONLINE    ONLINE    rac1
ora.asm        ora.asm.type   ONLINE    ONLINE    rac1
ora.cvu        ora.cvu.type   ONLINE    ONLINE    rac1
ora.gsd        ora.gsd.type   OFFLINE   OFFLINE
ora....network ora....rk.type ONLINE    ONLINE    rac1
ora.oc4j       ora.oc4j.type  ONLINE    ONLINE    rac1
ora.ons        ora.ons.type   ONLINE    ONLINE    rac1
ora....SM1.asm application    ONLINE    ONLINE    rac1
ora....C1.lsnr application    ONLINE    ONLINE    rac1
ora.rac1.gsd   application    OFFLINE   OFFLINE
ora.rac1.ons   application    ONLINE    ONLINE    rac1
ora.rac1.vip   ora....t1.type ONLINE    ONLINE    rac1
ora....SM2.asm application    ONLINE    ONLINE    rac2
ora....C2.lsnr application    ONLINE    ONLINE    rac2
ora.rac2.gsd   application    OFFLINE   OFFLINE
ora.rac2.ons   application    ONLINE    ONLINE    rac2
ora.rac2.vip   ora....t1.type ONLINE    ONLINE    rac2
ora....ry.acfs ora....fs.type ONLINE    ONLINE    rac1
ora.scan1.vip  ora....ip.type ONLINE    ONLINE    rac1
ora.setra.db   ora....se.type ONLINE    ONLINE    rac1</pre>
<p>Un peu plus compliqué que dans les versions précédentes, mais ASM oblige &#8230;.</p></div>
]]></content:encoded>
			<wfw:commentRss>http://blogorak.estsurinternet.com/oracle-asm/restauration-dun-ocr-dans-asm-11gr2/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Migration couche RAC 10G vers 11G</title>
		<link>http://blogorak.estsurinternet.com/oracle-asm/migration-couche-rac-10g-vers-11g/</link>
		<comments>http://blogorak.estsurinternet.com/oracle-asm/migration-couche-rac-10g-vers-11g/#comments</comments>
		<pubDate>Mon, 23 May 2011 10:08:56 +0000</pubDate>
		<dc:creator>alban</dc:creator>
		
		<category><![CDATA[ASM]]></category>

		<category><![CDATA[Cluster RAC]]></category>

		<guid isPermaLink="false">http://blogorak.estsurinternet.com/?p=457</guid>
		<description><![CDATA[
Migration crs 10G vers 11GR2
Les clusters RAC installés ces dernières années en 10g vont devoir être migrés un jour ou l&#8217;autre fatalement.
Les éditeurs mettant souvent du temps à valider leurs soft avec la version 11GR2,
on peut prendre de l&#8217;avance en ne migrant que les couche CRS et ASM en 11GR2 et en laissant les bases [...]]]></description>
			<content:encoded><![CDATA[<div class="article-content">
<p>Migration crs 10G vers 11GR2</p>
<p>Les clusters RAC installés ces dernières années en 10g vont devoir être migrés un jour ou l&#8217;autre fatalement.</p>
<p>Les éditeurs mettant souvent du temps à valider leurs soft avec la version 11GR2,<br />
on peut prendre de l&#8217;avance en ne migrant que les couche CRS et ASM en 11GR2 et en laissant les bases en 10G.</p>
<p>Si vous êtes sur OEL4, vérifier ou upgrader votre OS au minimum en 4.7</p>
<p>Appliquer les pré-requis pour la version 11GR2 sur votre système (note Metalink 880942.1 pour OEL4 et 880989.1 pour OEL5).</p>
<p>Un petit coup de cluster verify permet d&#8217;en avoir le coeur net.</p>
<pre>runcluvfy.sh stage -pre crsinst -n node1,node2 -verbose</pre>
<p>Une fois les binaires du grid 11GR2 copiés, on va utiliser la fonctionnalité &#8220;Mettre à niveau Oracle Grid Infrastructure&#8221; de l&#8217;installer.<br />
Il n&#8217;est pas nécéssaire d&#8217;arrêter le crs, bien que ça marche quand même si c&#8217;est le cas.<br />
On peut sinon passer le script clusterware/upgrade/preupdate.sh qui arrête le crs.</p>
<p>On peut donc théoriquement faire l&#8217;upgrade d&#8217;un noeud après l&#8217;autre, sans coupure de production.</p>
<p>Si vous utilisez ASM, alors arrêtez vos bases et vos instances ASM, l&#8217;installeur vous le demandera de toute façon.</p>
<p>Si les pré-requis ont été respecté et l&#8217;adresse scan convenablement renseignée, l&#8217;installation se déroule comme une installation 11GR2 standard.</p>
<p>Au lieu de lancer le fameux root.sh, on va lancer le rootupgrade.sh qui va arrêter le crs (s&#8217;il est démarré), effectuer les mises à jour nécéssaires et relancer la couche cluster.</p>
<pre>[root@rac1 tmp]# /app/11.2.0/grid/rootupgrade.sh
Running Oracle 11g root.sh script...
The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /app/11.2.0/grid
Enter the full pathname of the local bin directory: [/usr/local/bin]:
The file "dbhome" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]: y
   Copying dbhome to /usr/local/bin ...
The file "oraenv" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]: y
   Copying oraenv to /usr/local/bin ...
The file "coraenv" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]: y
   Copying coraenv to /usr/local/bin ...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
2011-03-29 15:23:53: Parsing the host name
2011-03-29 15:23:53: Checking for super user privileges
2011-03-29 15:23:53: User has super user privileges
Using configuration parameter file: /app/11.2.0/grid/crs/install/crsconfig_params
Creating trace directory
Failure 1 contacting CSS daemon
Command return code of 6 (1536) from command: /app/oracle/product/10.2.0/crs/bin/crsctl check cssd
Cannot communicate with EVM
Cannot communicate with CRS
Command return code of 1 (256) from command: /app/oracle/product/10.2.0/crs/bin/crsctl check crsd
LOCAL ADD MODE
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
  root wallet
  root wallet cert
  root cert export
  peer wallet
  profile reader wallet
  pa wallet
  peer wallet keys
  pa wallet keys
  peer cert request
  pa cert request
  peer cert
  pa cert
  peer root cert TP
  profile reader root cert TP
  pa root cert TP
  peer pa cert TP
  pa peer cert TP
  profile reader pa cert TP
  profile reader peer cert TP
  peer user cert
  pa user cert
Adding daemon to inittab
CRS-4123: Oracle High Availability Services has been started.
ohasd is starting
ADVM/ACFS is not supported on Redhat 4
CRS-2672: Tentative de dÃ©marrage de 'ora.mdnsd' sur 'rac1'
CRS-2676: 'ora.mdnsd' a Ã©tÃ© dÃ©marrÃ© sur 'rac1'
CRS-2672: Tentative de dÃ©marrage de 'ora.gipcd' sur 'rac1'
CRS-2676: 'ora.gipcd' a Ã©tÃ© dÃ©marrÃ© sur 'rac1'
CRS-2672: Tentative de dÃ©marrage de 'ora.gpnpd' sur 'rac1'
CRS-2676: 'ora.gpnpd' a Ã©tÃ© dÃ©marrÃ© sur 'rac1'
CRS-2672: Tentative de dÃ©marrage de 'ora.cssdmonitor' sur 'rac1'
CRS-2676: 'ora.cssdmonitor' a Ã©tÃ© dÃ©marrÃ© sur 'rac1'
CRS-2672: Tentative de dÃ©marrage de 'ora.cssd' sur 'rac1'
CRS-2672: Tentative de dÃ©marrage de 'ora.diskmon' sur 'rac1'
CRS-2676: 'ora.diskmon' a Ã©tÃ© dÃ©marrÃ© sur 'rac1'
CRS-2676: 'ora.cssd' a Ã©tÃ© dÃ©marrÃ© sur 'rac1'
CRS-2672: Tentative de dÃ©marrage de 'ora.ctssd' sur 'rac1'
CRS-2676: 'ora.ctssd' a Ã©tÃ© dÃ©marrÃ© sur 'rac1'
CRS-2672: Tentative de dÃ©marrage de 'ora.crsd' sur 'rac1'
CRS-2676: 'ora.crsd' a Ã©tÃ© dÃ©marrÃ© sur 'rac1'
CRS-2672: Tentative de dÃ©marrage de 'ora.evmd' sur 'rac1'
CRS-2676: 'ora.evmd' a Ã©tÃ© dÃ©marrÃ© sur 'rac1'
clscfg: EXISTING configuration version 3 detected.
clscfg: version 3 is 10G Release 2.
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
rac1     2011/03/29 15:27:32     /app/11.2.0/grid/cdata/rac1/backup_20110329_152732.olr
Configure Oracle Grid Infrastructure for a Cluster ... succeeded
Updating inventory properties for clusterware
DÃ©marrage d'Oracle Universal Installer...
VÃ©rification de l'espace de swap : il doit Ãªtre supÃ©rieur Ã  500 Mo.   RÃ©el 1567 Mo    SuccÃ¨s
The inventory pointer is located at /etc/oraInst.loc
The inventory is located at /app/oracle/oraInventory
'UpdateNodeList' a rÃ©ussi.
DÃ©marrage d'Oracle Universal Installer...
VÃ©rification de l'espace de swap : il doit Ãªtre supÃ©rieur Ã  500 Mo.   RÃ©el 1567 Mo    SuccÃ¨s
The inventory pointer is located at /etc/oraInst.loc
The inventory is located at /app/oracle/oraInventory
'UpdateNodeList' a rÃ©ussi.</pre>
<p>Tout est redémarré sur ce noeud, il ne reste plus qu&#8217;à migrer ASM.</p>
<p>Pour cela on lance l&#8217;assistant asmca à partir du home grid.</p>
<p>L&#8217;assistant va vous proposer de mettre à niveau votre version d&#8217;ASM, et va arrêter successivement toutes les instances pour finir par les redémarrer dans la nouvelle version.</p>
<p>On verra apparaitre les ressources correspondantes aux diskgroups au fur et à mesure.</p>
<p>Vous avez maitenant un beau cluster en 11GR2 avec des bases en 10G.</p>
<p>Une bonne partie des actions à réaliser pouvant se faire en amont (pré requis, copie des binaires etc..) et sans arrêt de service, on peut donc s&#8217;en tirer avec des arrêts de production relativement courts.</p>
<p>PS : évidemment un retour arrière est à prévoir (et à tester :-))</p></div>
]]></content:encoded>
			<wfw:commentRss>http://blogorak.estsurinternet.com/oracle-asm/migration-couche-rac-10g-vers-11g/feed/</wfw:commentRss>
		</item>
		<item>
		<title>solution erreur ORA-02304</title>
		<link>http://blogorak.estsurinternet.com/scripts-sql-et-plsql-oracle/solution-erreur-ora-02304/</link>
		<comments>http://blogorak.estsurinternet.com/scripts-sql-et-plsql-oracle/solution-erreur-ora-02304/#comments</comments>
		<pubDate>Wed, 13 Apr 2011 14:56:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Musée des erreurs]]></category>

		<category><![CDATA[scripts et trucs]]></category>

		<guid isPermaLink="false">http://blogorak.estsurinternet.com/?p=453</guid>
		<description><![CDATA[Si vous obtenez
IMP-00003: ORACLE error 2304 encountered
ORA-02304: invalid object identifier literal
IMP-00017: following statement failed with ORACLE error 2304:
&#8220;CREATE TYPE &#8220;SYS_PLSQL_1823160_17_2&#8243; TIMESTAMP &#8216;2011-04-13:08: &#8230;
lors d&#8217;un import cela est du au fait  que les identifiants de type sont unique dans la base et que le type que vous creez lors de l&#8217;import existe deja dans un autre [...]]]></description>
			<content:encoded><![CDATA[<p>Si vous obtenez</p>
<p>IMP-00003: ORACLE error 2304 encountered<br />
ORA-02304: invalid object identifier literal<br />
IMP-00017: following statement failed with ORACLE error 2304:<br />
&#8220;CREATE TYPE &#8220;SYS_PLSQL_1823160_17_2&#8243; TIMESTAMP &#8216;2011-04-13:08: &#8230;</p>
<p>lors d&#8217;un import cela est du au fait  que les identifiants de type sont unique dans la base et que le type que vous creez lors de l&#8217;import existe deja dans un autre schema.</p>
<p>3 solutions :</p>
<p>- la mauvaise (eclle qu&#8217;on vous conseille partout comme si vous aviez le choix de creer des schemas ou d&#8217;en supprimer en production comme bon vous semble&#8230;) : créer tous les TYPEs dans un schema dédié par ex; : &#8216;MES_TYPES&#8217;  ainsi ils deviennent transverrses et il n&#8217;y a plus de probleme de doublons d&#8217;IDs.</p>
<p>- SI vous utilisez IMPORT :  mettre l&#8217;option TOID_NOVALIDATE de l&#8217;import. ATTENTION ! ce n&#8217;est pas &#8216;=Y &#8216; la valeur mais &#8216;NOM_SCHEMA.NOM_TYPE&#8217;, &#8216;NOM_SCHEMA.NOM_TYPE&#8217;,<br />
Si vous en avez 2000 &#8230;;-((</p>
<p>- Si vs utilisez DATAPUMP impdb : appliquez l&#8217;option   &#8220;<em> transform</em>=<em>OID</em>:y &#8220;</p>
]]></content:encoded>
			<wfw:commentRss>http://blogorak.estsurinternet.com/scripts-sql-et-plsql-oracle/solution-erreur-ora-02304/feed/</wfw:commentRss>
		</item>
		<item>
		<title>comptes oracle , lock et passwords</title>
		<link>http://blogorak.estsurinternet.com/securite-oracle-role-droits-privileges-vpd-oracle/comptes-oracle-lock-et-passwords/</link>
		<comments>http://blogorak.estsurinternet.com/securite-oracle-role-droits-privileges-vpd-oracle/comptes-oracle-lock-et-passwords/#comments</comments>
		<pubDate>Fri, 11 Mar 2011 14:37:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Sécurité Oracle]]></category>

		<guid isPermaLink="false">http://blogorak.estsurinternet.com/?p=451</guid>
		<description><![CDATA[Quelques infos en vrac:
Infos générales sur le compte

SQL&#62; select * from dba_users
where username='TOTO';
USERNAME 	USER_ID 	PASSWORD 	ACCOUNT_STATUS 	LOCK_DATE 	EXPIRY_DA 	DEFAULT_TABLESPACE 	TEMPORARY_TABLESPACE 	CREATED 	PROFILE 	INITIAL_RSRC_CONSUMER_GROUP 	EXTERNAL_NAME
TOTO 		5394 		EBD64F4E40B74042 	LOCKED 	24-FEB-11 	USERS 		TEMP						21-FEB-11 	DEFAULT 	DEFAULT_CONSUMER_GROUP

On voit notamment :
profil : DEFAUT
lockable apres 20 essai et LE PASSWORD crypté !
Infos plus détaillées (si on se souvient du USERID Oracle (USER# [...]]]></description>
			<content:encoded><![CDATA[<p>Quelques infos en vrac:</p>
<p>Infos générales sur le compte</p>
<blockquote>
<pre><cite>SQL&gt; select * from dba_users
where username='TOTO';</cite></pre>
<pre><cite>USERNAME 	USER_ID 	PASSWORD 	ACCOUNT_STATUS 	LOCK_DATE 	EXPIRY_DA 	DEFAULT_TABLESPACE 	TEMPORARY_TABLESPACE 	CREATED 	PROFILE 	INITIAL_RSRC_CONSUMER_GROUP 	EXTERNAL_NAME
TOTO </cite>		5394 		EBD64F4E40B74042 	LOCKED 	24-FEB-11 	USERS 		TEMP						21-FEB-11 	DEFAULT 	DEFAULT_CONSUMER_GROUP</pre>
</blockquote>
<p>On voit notamment :</p>
<p>profil : DEFAUT<br />
lockable apres 20 essai et LE PASSWORD crypté !</p>
<p>Infos plus détaillées (si on se souvient du USERID Oracle (USER# ici) vu précédemment :</p>
<pre><cite>SQL&gt; select * from sys.user$
</cite>where user#=5394</pre>
<pre><cite>USER# 	NAME 	TYPE# 	PASSWORD 	DATATS# 	TEMPTS# 	CTIME 	PTIME 	EXPTIME 	LTIME 	RESOURCE$ 	AUDIT$ 	DEFROLE 	DEFGRP# 	DEFGRP_SEQ# 	ASTATUS 	LCOUNT 	DEFSCHCLASS 	EXT_USERNAME 	SPARE1 	SPARE2 	SPARE3 	SPARE4 	SPARE5 	SPARE6
</cite>5394 	TOTO 	1 	EBD64F4E40B74042 	4 	250 	21-FEB-11 	03-MAR-11 	  	24-FEB-11 	0 	  	1 	  	  	8 	20 	DEFAULT_CONSUMER_GROUP 	  	0</pre>
<p>Avec :</p>
<p>CTIME : date de création<br />
PTIME : date de modification<br />
LTIME: date du lock<br />
EXPTIME : date d&#8217;expiration<br />
LCOUNT :<br />
ASTATUS : statut du compte. En gros ouvert, verrouillé ou expiré.</p>
<p>Plus d&#8217;infos sur la colonne ASTATUS de USER$ :</p>
<p><cite>SQL&gt; SELECT * FROM SYS.USER_ASTATUS_MAP;</cite></p>
<p><cite> STATUS# STATUS<br />
&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
0 OPEN<br />
1 EXPIRED<br />
2 EXPIRED(GRACE)<br />
4 LOCKED(TIMED)<br />
8 LOCKED<br />
5 EXPIRED &amp; LOCKED(TIMED)<br />
6 EXPIRED(GRACE) &amp; LOCKED(TIMED)<br />
9 EXPIRED &amp; LOCKED<br />
10 EXPIRED(GRACE) &amp; LOCKED</cite></p>
<p>details du profile  (qui n&#8217;apparaissent pas tous dans la console) :</p>
<p>failed_login_attempts - This is the number of failed login attempts before locking the Oracle user account. The default is three failed attempts.<br />
password_grace_time - This is the grace period after the password_life_time limit is exceeded.<br />
password_life_time - This is how long an existing password is valid. The default here forces a password change every 60 days.<br />
password_lock_time – This specifies how long to lock the account after the failed login attempts is met. Most DBA’s set this value to UNLIMITED.<br />
password_reuse_max – This is the number of times that you may re-user a passwords and is intended to prevent repeating password cycles (north, south, east, west).<br />
password_reuse_time – This parameter specifies a time limit before a previous password can be re-entered. To allow unlimited use of previously used passwords, set password_reuse_time to UNLIMITED.<br />
password_verify_function - This allows you to specify the name of a custom password verification function.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogorak.estsurinternet.com/securite-oracle-role-droits-privileges-vpd-oracle/comptes-oracle-lock-et-passwords/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Passer une base RAC en archivelog.</title>
		<link>http://blogorak.estsurinternet.com/administration-oracle-dba/passer-une-base-rac-en-archivelog/</link>
		<comments>http://blogorak.estsurinternet.com/administration-oracle-dba/passer-une-base-rac-en-archivelog/#comments</comments>
		<pubDate>Mon, 13 Dec 2010 14:25:35 +0000</pubDate>
		<dc:creator>alban</dc:creator>
		
		<category><![CDATA[Administration Oracle]]></category>

		<category><![CDATA[Cluster RAC]]></category>

		<guid isPermaLink="false">http://blogorak.estsurinternet.com/?p=430</guid>
		<description><![CDATA[Pour passer une base clusterisée en mode archivelog, rien de plus simple.
Se connecter sur l&#8217;instance du premier nœud et arrêter l&#8217;instance :
[oracle@rac1 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Mon Dec 13 14:24:30 2010
Copyright (c) 1982, 2009, Oracle.  All rights reserved.
Connecte a :
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, [...]]]></description>
			<content:encoded><![CDATA[<p>Pour passer une base clusterisée en mode archivelog, rien de plus simple.</p>
<p>Se connecter sur l&#8217;instance du premier nœud et arrêter l&#8217;instance :</p>
<p><em>[oracle@rac1 ~]$ sqlplus / as sysdba<br />
SQL*Plus: Release 11.2.0.1.0 Production on Mon Dec 13 14:24:30 2010<br />
Copyright (c) 1982, 2009, Oracle.  All rights reserved.<br />
Connecte a :<br />
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production<br />
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,<br />
Data Mining and Real Application Testing options<br />
SQL&gt; archive log list<br />
mode Database log              mode No Archive<br />
Archivage automatique             Desactive<br />
Destination de l&#8217;archive             USE_DB_RECOVERY_FILE_DEST<br />
Sequence de journal en ligne la plus ancienne     57<br />
Sequence de journal courante            59<br />
SQL&gt;<br />
</em></p>
<p>On voit bien que la base n&#8217;est pas en mode archivelog et que la destination des archives est positionnée par défaut dans la Flash Recovery Area.</p>
<p>Normalement on arrête les instances sur tous les nœuds et on passe la base en archivelog.</p>
<p>Que se passe t il si on oublie d&#8217;arrêter la deuxième instance du cluster??</p>
<p>On va donc oublier d&#8217;arrêter l&#8217;instance sur le noeud 2 avant de modifier la base.</p>
<p>On fait la manip sur le noeud1.</p>
<p><em>SQL&gt; shutdown immediate<br />
Base de donnees fermee.<br />
Base de donnees demontee.<br />
Instance ORACLE arretee.<br />
SQL&gt; startup mount<br />
Instance ORACLE lancee.<br />
Total System Global Area  477073408 bytes<br />
Fixed Size                  1337324 bytes<br />
Variable Size             209717268 bytes<br />
Database Buffers          260046848 bytes<br />
Redo Buffers                5971968 bytes<br />
Base de donnees montee.<br />
SQL&gt;<br />
SQL&gt; alter database archivelog;<br />
Base de donnees modifiee.</em></p>
<p><em>SQL&gt; alter database open;<br />
Base de donnees modifiee.</em></p>
<p>On génère quelques archives :</p>
<p><em>SQL&gt; alter system switch logfile;<br />
Systeme modifie.</em></p>
<p>Le cluster gère le cas et arrête lui même l&#8217;instance &#8220;oubliée&#8221; sans mettre un seul message d&#8217;erreur!</p>
<p>On est donc forcée de la redémarrer à la main et elle prend obligatoirement la modification.</p>
<p><em>SQL&gt; alter system archive log current;<br />
Systeme modifie.</em></p>
<p>Si on vérifie :</p>
<p>SQL&gt; select name, THREAD#, SEQUENCE#, ARCHIVED from v$archived_log;</p>
<p>+DGFRA/racdb/archivelog/2010_12_13/thread_1_seq_63.265.737650775<br />
1         63 YES</p>
<p>NAME<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
THREAD#  SEQUENCE# ARC<br />
&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;- &#8212;<br />
+DGFRA/racdb/archivelog/2010_12_13/thread_2_seq_4.266.737650777<br />
2          4 YES</p>
<p>La base archive bien les deux threads correspondants aux deux nœuds.</p>
<p>Albanlepunk</p>
]]></content:encoded>
			<wfw:commentRss>http://blogorak.estsurinternet.com/administration-oracle-dba/passer-une-base-rac-en-archivelog/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Le paramètre caché _allow_resetlogs_corruption</title>
		<link>http://blogorak.estsurinternet.com/administration-oracle-dba/le-parametre-cache-_allow_resetlogs_corruption/</link>
		<comments>http://blogorak.estsurinternet.com/administration-oracle-dba/le-parametre-cache-_allow_resetlogs_corruption/#comments</comments>
		<pubDate>Mon, 13 Dec 2010 13:17:13 +0000</pubDate>
		<dc:creator>alban</dc:creator>
		
		<category><![CDATA[Administration Oracle]]></category>

		<category><![CDATA[Divers]]></category>

		<category><![CDATA[Rman]]></category>

		<category><![CDATA[scripts et trucs]]></category>

		<guid isPermaLink="false">http://blogorak.estsurinternet.com/?p=421</guid>
		<description><![CDATA[Dans cet article nous allons voir un exemple de récupération de données après restauration et quand la base ne veut quand même pas s&#8217;ouvrir.
Par exemple un disque lâche sur le serveur et on perd le datafile présent dessus, pour restaurer convenablement ce datafile, il nous faut les archives générées entre le dernier backup et le [...]]]></description>
			<content:encoded><![CDATA[<p>Dans cet article nous allons voir un exemple de récupération de données après restauration et quand la base ne veut quand même pas s&#8217;ouvrir.</p>
<p>Par exemple un disque lâche sur le serveur et on perd le datafile présent dessus, pour restaurer convenablement ce datafile, il nous faut les archives générées entre le dernier backup et le crash mais il nous manque les archives en question. On ne peut donc plus ouvrir la base et manque de chance, ce datafile contient des tables super importantes.</p>
<p>On sait pertinemment que l&#8217;on va perdre des données mais on aimerait en perdre le moins possible quitte à utiliser des moyens &#8220;spéciaux&#8221; pour cela.</p>
<p>A cause de l&#8217;intégrité faussée de la base, on ne peut plus l&#8217;ouvrir normallement.</p>
<p>Le paramètre caché qui permet de démarrer la base soit en mode  désynchronisée c&#8217;est à dire avec au moins un de ses entêtes de datafiles incorrect soit parce qu&#8217;on a  endommagé un ou plusieurs redo logs ou encore parce qu&#8217;il nous manque une archive ou deux pour restaurer un datafile est <strong>_allow_resetlogs_corruption</strong>.</p>
<p>Dans le cas ou votre datafile contiendrait des données type index ou que l&#8217;on peut facilement recréer, le mieux serait toujours de dropper le tablespace, puis de le recréer / recharger mais dans le cas ou les données ne sont pas facilement reconstructibles quoi faire?</p>
<p>L&#8217;idée à suivre pourrait être la suivante :</p>
<p>Restaurer le datafile ou la base à partir du dernier backup.</p>
<p>Jouer les archives jusqu&#8217;au dernier numéro de séquence correct (pour cela regarder dans rman : list backup of archivelog all).</p>
<p>Arrêter et redémarrer l&#8217;instance avec le paramètre _allow_resetlogs_corruption = TRUE.</p>
<p>Exporter les données souhaitées.</p>
<p>Restaurer la base à partir du dernier backup.</p>
<p>Mettre le datafile offline.</p>
<p>Dropper et recréer le tablespace.</p>
<p>Réimporter les données &#8220;récupérées&#8221;. Vous risquez néanmoins d&#8217;avoir des décalages applicatifs selon les cas, vous n&#8217;êtes donc peut être pas exempt de correction des données.</p>
<p>Re backuper la base correctement.</p>
<p>Dans notre cas, la base refuse de s&#8217;ouvrir après une restauration RMAN.</p>
<p>la restauration until logseq s&#8217;est bien passée, le recover database aussi. Il n&#8217;y a qu&#8217;au moment d&#8217;ouvrir la base en open resetlogs que la base réclame &#8220;une récupération de données après défaillance matérielle&#8221;.</p>
<p>Ceci à cause d&#8217;un datafile dont la mise offline ne s&#8217;était pas déroulé correctement.</p>
<p>J&#8217;ai donc remis ce datafile online, redémarré avec le paramètre _allow_resetlogs_corruption à TRUE qui a permis de corriger l&#8217;entête du fichier.</p>
<p>Puis on arrête la base et on la redémarre normalement.</p>
<p><strong>BEMOL</strong> <strong>&amp; RESTRICTION</strong> : Oracle ne maintient les bases qui ont été démarrées avec ce paramètre, elles sont potentiellement corrompues. C&#8217;est donc en dernier ressort et dans le cas désespérés qu&#8217;il faut l&#8217;utiliser et tout de suite après exporter les données et les réimporter dans une belle base toute neuve.</p>
<p>Alban le punk</p>
]]></content:encoded>
			<wfw:commentRss>http://blogorak.estsurinternet.com/administration-oracle-dba/le-parametre-cache-_allow_resetlogs_corruption/feed/</wfw:commentRss>
		</item>
		<item>
		<title>clean up - delete Enterprise manager ( EM ) console Alerts</title>
		<link>http://blogorak.estsurinternet.com/administration-oracle-dba/clean-up-clear-enterprsies-manager-em-console-alerts/</link>
		<comments>http://blogorak.estsurinternet.com/administration-oracle-dba/clean-up-clear-enterprsies-manager-em-console-alerts/#comments</comments>
		<pubDate>Thu, 14 Oct 2010 13:30:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Administration Oracle]]></category>

		<guid isPermaLink="false">http://blogorak.estsurinternet.com/?p=411</guid>
		<description><![CDATA[The GRID console , though a very useful tool, has the very bad habit to maintain the display of irrelevant ALERTS on its main / Home page.
To get rid of these informations is not obvious nor , of course, documented by Oracle.
SYSMAN account includes 3 relevant objects related to Alerts :
MGMT_SECURITY , actually a View, [...]]]></description>
			<content:encoded><![CDATA[<p>The GRID console , though a very useful tool, has the very bad habit to maintain the display of irrelevant ALERTS on its main / Home page.<br />
To get rid of these informations is not obvious nor , of course, documented by Oracle.</p>
<p>SYSMAN account includes 3 relevant objects related to Alerts :<br />
MGMT_SECURITY , actually a View, based on the TABLE SYSMAN.MGMT_VIOLATIONS<br />
MGMT_CURRENT_SECURITY , actually a View, based on the TABLE SYSMAN.MGMT_CURRENT_VIOLATIONS</p>
<p>Here is its description :</p>
<pre><cite>Column Name	ID	Data Type	Null?

TARGET_GUID	1	RAW (16)	N
METRIC_GUID	2	RAW (16)	N
KEY_VALUE	3	VARCHAR2 (256 Byte)	N
COLLECTION_TIMESTAMP	4	DATE	N
SEVERITY_CODE	5	NUMBER	N
SEVERITY_TYPE	6	NUMBER	N
SEVERITY_DURATION	7	NUMBER	Y
SEVERITY_GUID	8	RAW (16)	Y
ANNOTATED_FLAG	9	NUMBER	Y
NOTIFICATION_STATUS	10	NUMBER	Y
MESSAGE	11	VARCHAR2 (4000 Byte)	Y
MESSAGE_NLSID	12	VARCHAR2 (64 Byte)	Y
MESSAGE_PARAMS	13	VARCHAR2 (4000 Byte)	Y
ACTION_MESSAGE	14	VARCHAR2 (4000 Byte)	Y
ACTION_NLSID	15	VARCHAR2 (64 Byte)	Y
ACTION_MESSAGE_PARAMS	16	VARCHAR2 (4000 Byte)	Y
ADVISORY_ID	17	VARCHAR2 (64 Byte)	Y
LOAD_TIMESTAMP	18	DATE	Y
USER_NAME	19	VARCHAR2 (64 Byte)	Y</cite>and</pre>
<p>DELETE_CURRENT_SEVERITY a procedure that  belongs to SYSMAN.EM_SEVERITY package.<br />
Here is its description :</p>
<pre><cite>PROCEDURE delete_current_severity (
p_target_guid IN RAW,
p_metric_guid IN RAW,
p_key_value   IN VARCHAR2);</cite></pre>
<p>Note : A trigger deltes Rows from MGMT_CURRENT_SSEVERITY AFTER DELETE from MGMT_SEVERITY !!?</p>
<p>A full description of the parameters  can be obtained via the Dictionnary :</p>
<p><cite>SQL&gt; select column_name, comments<br />
from  dba_col_comments<br />
where table_name=&#8217;MGMT_SEVERITY&#8217;</cite></p>
<pre>COLUMN_NAME	COMMENTS

ADVISORY_ID	Advisory ID of the severity
LOAD_TIMESTAMP	Date and time when the severity was loaded
USER_NAME	Name of the user to load the severity
TARGET_GUID	 The target guid of the severity
METRIC_GUID	 The metric guid of the severity
KEY_VALUE	 The key value of the severity
COLLECTION_TIMESTAMP	 The timestamp at which the severity occurred
SEVERITY_CODE	The severity codes for error, warnin, critical etc.
    These codes are backwards compatible with EM 9i and EM 10gR1.
      15 - CLEAR
      18 - INFO
      20 - WARNING
      25 - CRITICAL
     115 - AGENT UNREACHABLE CLEART
     125 - AGENT UNREACHABLE START
     215 - BLACKOUT END
     225 - BLACKOUT START
     315 - METRIC ERROR END
     325 - METRIC ERROR START
    Codes 115 and above are applicable only for response/status metric
SEVERITY_TYPE	 The severity type allows an application that is selecting
      from this table to filter the rows returned by the type of
      severity.  Values in this column are:
           0 - METRIC THRESHOLD ALERT
           1 - AVAILABILITY
SEVERITY_DURATION	The delta time, in hours, from when the severity was logged
    until it was cleared.
SEVERITY_GUID	 The unique id of the severity. Defaults to SYS_GUID()
ANNOTATED_FLAG	A flag to indicate whether the severity is annotated or not.
NOTIFICATION_STATUS	The column used by the notification sub system to determine
    notification status of the severity.
MESSAGE	The message of the severity.  The messages usually contain
    details about what triggered this severity.
MESSAGE_NLSID	The NLS ID of the severity message.
MESSAGE_PARAMS	URL encoded parameters separated by "&amp;" to be used to
    format the severity message.
ACTION_MESSAGE	Suggested action message in english for this severity
ACTION_NLSID	The NLS ID of the action message.
ACTION_MESSAGE_PARAMS	URL encoded parameters for translating action message

Pour avoir des infos sur les alertes :

<cite>SELECT distinct s.target_guid, s.metric_guid,t.target_name,t.target_type,
    m.metric_name,   s.collection_timestamp, s.key_value
       FROM mgmt_targets t ,mgmt_current_severity s, mgmt_metrics m
            where s.target_guid = t.target_guid
            and m.metric_guid = s.metric_guid
            and t.target_type='oracle_database' -- interested only in database resultes (not hosts, application server,...)
            and s.collection_timestamp &lt; to_timestamp('01/07/2010','DD/MM/YYYY') -- my deadline
            and t.target_name like 'my_database%'</cite></pre>
<p>To clean up, use something like (be careful could delete more rows than you expoect (i have to check that later on&#8230;)):</p>
<p><cite>delete from mgmt_severity<br />
WHERE (target_guid,metric_guid) IN<br />
(SELECT s.target_guid,s.metric_guid<br />
FROM mgmt_targets t ,mgmt_severity s<br />
where s.target_guid = t.target_guid<br />
and t.target_type=&#8217;oracle_database&#8217;<br />
and s.collection_timestamp &lt; to_timestamp(&#8217;25/06/2010&#8242;,&#8217;DD/MM/YYYY&#8217;)<br />
and t.target_name like &#8216;pprtr%&#8217;)</cite></p>
]]></content:encoded>
			<wfw:commentRss>http://blogorak.estsurinternet.com/administration-oracle-dba/clean-up-clear-enterprsies-manager-em-console-alerts/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ORA-01031: insufficient privileges sur SYS AS SYSDBA remote</title>
		<link>http://blogorak.estsurinternet.com/scripts-sql-et-plsql-oracle/ora-o3113-insufficient-privilege-sur-sys-as-sysdba/</link>
		<comments>http://blogorak.estsurinternet.com/scripts-sql-et-plsql-oracle/ora-o3113-insufficient-privilege-sur-sys-as-sysdba/#comments</comments>
		<pubDate>Thu, 05 Aug 2010 15:40:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Musée des erreurs]]></category>

		<category><![CDATA[scripts et trucs]]></category>

		<guid isPermaLink="false">http://blogorak.estsurinternet.com/?p=401</guid>
		<description><![CDATA[(user SYS : remote connection failure or remote authentication failure)
Il est possible avec Oracle de se connecter SYSDBA à distance&#8230;mais pas toujours  :
SQL&#62; connect sys/monpassword@base_distante as sysdba
ERROR:
ORA-01031: insufficient privileges
Warning: You are no longer connected to ORACLE.

Il faut 3 conditions pour pouvoir faire une authentification a distance (remote authentication) :

un fichier de mot de passe [...]]]></description>
			<content:encoded><![CDATA[<p>(user SYS : remote connection failure or remote authentication failure)</p>
<p>Il est possible avec Oracle de se connecter SYSDBA à distance&#8230;mais pas toujours <img src='http://blogorak.estsurinternet.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> :</p>
<p><cite>SQL&gt; connect sys/monpassword@base_distante as sysdba<br />
ERROR:<br />
ORA-01031: insufficient privileges<br />
Warning: You are no longer connected to ORACLE.<br />
</cite></p>
<p>Il faut 3 conditions pour pouvoir faire une authentification a distance (remote authentication) :</p>
<ul>
<li>un fichier de mot de passe (password file)</li>
<li>l&#8217;autorisation de s&#8217;authentifier ( REMOTE_OS_ATHENT=TRUE)</li>
<li>la déclaration du password file ( REMOTE_LOGIN_PASSWORDFILE = EXCLUSIVE &#8230;ou SHARED )</li>
</ul>
<p>Attention : cette authentification à distance d&#8217;un user très privilégié, en fait le + privilégié  (équivallent à SYS) est fortement déconseillée pour des raisons de sécurité.</p>
<p>Le password file d&#8217;Oracle est créé avec un utilitaire : orapwd</p>
<p>A sa création le user SYS est par défaut ajouté dans le fichier, une fois que le fichier existe on peut y rajouter d&#8217;autres utilisateurs que SYS en utilisant la commande GRANT SYSDBA</p>
<p>&#8211; exemple minimal</p>
<p><cite>$&gt; orapwd password=mypassword<br />
&#8211; par défaut le fichier créé est  &lt;$ORACLE_HOME&gt;/dbs/orapwd&lt;$ORACLE_SID&gt;<br />
&#8211; et plus tard on rajoute un user<br />
SQL&gt; GRANT SYSDBA TO SCOTT;</cite></p>
<p>Attention !!!!!!!!!!!!!!!!!! si on créé un fichier ailleurs (avec le parametre &#8216;file=&#8217; la commande orapwd s&#8217;execute correctyement &#8230;et Oracle sera incapable de retrouver le fichier au démarrage !!!!!!!!!! ou si on ne redémarre pas on aura tjs l&#8217;erreur ORA-03113<br />
Pas de FILE ici donc un nom par defaut si echoue on n&#8217;a aucune erreur !!!</p>
<p>On peut éventuellement s&#8217;en apercevoir si on fait un GRANT SYSDBA :<br />
<cite>SQL&gt; grant sysdba to sys;<br />
grant sysdba to sys<br />
*<br />
ERROR at line 1:<br />
ORA-01994: GRANT failed: password file missing or disabled</cite><br />
<strong>Syntaxe complete de orapwd :</strong></p>
<p>Usage: orapwd file=&lt;fname&gt; password=&lt;password&gt; entries=&lt;users&gt; force=&lt;y/n&gt; nosysdba=&lt;y/n&gt;</p>
<p>where<br />
file - name of password file (mand),le nom et l&#8217;emplacement du fichier, c&#8217;est faux ce n&#8217;est pas obligatoire, au contraire  !<br />
password - password for SYS (mand),<br />
entries - maximum number of distinct DBA, nb max de DBA dans le fichier<br />
force - whether to overwrite existing file (opt), écrase le fichier existant<br />
nosysdba - whether to shut out the SYSDBA logon (opt for Database Vault only).,</p>
<p>Il est possible de vérifier les users enregistrés dans le password file grace a la vue v$pwfile_users :<br />
<cite><br />
SQL&gt; select * from v$pwfile_users;<br />
USERNAME                       SYSDB SYSOP<br />
SYS                            TRUE  TRUE</cite></p>
]]></content:encoded>
			<wfw:commentRss>http://blogorak.estsurinternet.com/scripts-sql-et-plsql-oracle/ora-o3113-insufficient-privilege-sur-sys-as-sysdba/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Solution erreur ORA-01157 , ORA-01110 : datafile perdu , corrompu ou effacé</title>
		<link>http://blogorak.estsurinternet.com/administration-oracle-dba/solution-erreur-ora-01157-ora-01110-datafile-perdu-corrompu-ou-efface/</link>
		<comments>http://blogorak.estsurinternet.com/administration-oracle-dba/solution-erreur-ora-01157-ora-01110-datafile-perdu-corrompu-ou-efface/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 13:46:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Administration Oracle]]></category>

		<category><![CDATA[Musée des erreurs]]></category>

		<category><![CDATA[Rman]]></category>

		<category><![CDATA[Sécurité Oracle]]></category>

		<guid isPermaLink="false">http://blogorak.estsurinternet.com/?p=399</guid>
		<description><![CDATA[En 6 clics
(oui je sais c’est un peu long)
L’hypothese est toujours qu’on ait une suavegarde RMAN en place qui tienne la route ( voir mon article : Sauvegarde Oracle 11g avec RMAN en 5 clics ,  pour + d’infos)
Avec la console OEM :
Cliquer sur l’onglet ‘Availability’, puis le lien ‘perform recovery’, choisir ‘recovery scope [...]]]></description>
			<content:encoded><![CDATA[<p><strong>En 6 clics</strong></p>
<p>(oui je sais c’est un peu long)<br />
L’hypothese est toujours qu’on ait une suavegarde RMAN en place qui tienne la route ( voir mon article : Sauvegarde Oracle 11g avec RMAN en 5 clics ,  pour + d’infos)<br />
Avec la console OEM :<br />
Cliquer sur l’onglet ‘Availability’, puis le lien ‘perform recovery’, choisir ‘recovery scope = datafile’ , clic ‘recover’, clic ‘Next’, clic ‘Next’ et ‘Submit’.<br />
C’est fini ;-(</p>
<p><strong>En 2 commandes</strong></p>
<p>On va voir ici comment récupérer un fichier perdu…sans savoir lequel ni connaitre RMAN !<br />
En fait 2 commandes suffisent : ADVISE FAILURE et REPAIR FAILURE. C’est tout bonnement miraculeux ca s’appelle Data Recovery Advisor !</p>
<p>Supposons qu’on ait donc perdu un datafile.<br />
Au bout d’un moment (si, si) Oracle va finir par s’en apercevoir et on aura une erreur ORA-1157.<br />
Oracle ERROR at line 1:<br />
ORA-01157: cannot identify/lock data file 6 - see DBWR trace file<br />
ORA-01110: data file 6: ‘/tmp/dd.dbf’ DATAFILE</p>
<p>Les étapes de restauration sont très simples grace à DATA RECOVERY ADVISOR disponible avec Oracle 11g.<br />
Concrètement ce Data recovery advisor consiste en qq commandes que l’on pourra lancer sous RMAN.</p>
<p>3 commandes utiles :</p>
<p>RMAN&gt; LIST FAILURE : liste les pbs en cours détectés (fichiers manquents, corrompus, etc…)</p>
<p>RMAN&gt; ADVISE FAILURE : propose des solution de recovery et produit un script associé</p>
<p>RMAN&gt; REPAIR FAILURE : execute le script de récupération</p>
<p>Voici un exemple concret :</p>
<p>Connexion a RMAN</p>
<p>$&gt; rman target sys@portab2-a-dd:1521/DD1.dd.com<br />
connected to target database: DD1 (DBID=1767735647, not open)<br />
RMAN&gt;</p>
<p>Recherche de problemes éventuels :</p>
<p>RMAN&gt; list failure;<br />
using target database control file instead of recovery catalog<br />
List of Database Failures<br />
=========================<br />
Failure ID Priority Status    Time Detected Summary<br />
———- ——– ——— ————- ——-<br />
1242       HIGH     OPEN      23-JUL-10     One or more non-system datafiles are missing</p>
<p>Ou si l’on souhaite avoir des infos plus détaillées sur le problème on utilise l’ID qui nous intéresse , ici 1242</p>
<p>RMAN&gt; list failure 1242 detail;</p>
<p>List of Database Failures<br />
=========================<br />
Failure ID Priority Status    Time Detected Summary<br />
———- ——– ——— ————- ——-<br />
1242       HIGH     OPEN      23-JUL-10     One or more non-system datafiles are missing<br />
Impact: See impact for individual child failures<br />
List of child failures for parent failure ID 1242<br />
Failure ID Priority Status    Time Detected Summary<br />
———- ——– ——— ————- ——-<br />
1245       HIGH     OPEN      23-JUL-10     Datafile 6: ‘/tmp/dd.dbf’ is missing<br />
Impact: Some objects in tablespace DD might be unavailable</p>
<p>En suite la partie Assistance / conseil proprement dite (ADvisor) :</p>
<p>RMAN&gt; advise failure;</p>
<p>analyzing automatic repair options; this may take some time<br />
allocated channel: ORA_DISK_1<br />
channel ORA_DISK_1: SID=155 device type=DISK<br />
analyzing automatic repair options complete</p>
<p>Mandatory Manual Actions<br />
========================<br />
no manual actions available<br />
Optional Manual Actions<br />
=======================<br />
1. If file /tmp/dd.dbf was unintentionally renamed or moved, restore it<br />
Automated Repair Options<br />
========================<br />
Option Repair Description<br />
—— ——————<br />
1      Restore and recover datafile 6<br />
Strategy: The repair includes complete media recovery with no data loss<br />
Repair script: /oracle/diag/rdbms/dd1/DD1/hm/reco_1841908370.hm</p>
<p>On peut dès lors récupérer le fichier de données effacé en une étape :</p>
<p>RMAN&gt; REPAIR FAILURE</p>
<p>Ou si l’on veut mieux maitriser ce que l’on fait, visualiser le script et lancer les étapes de restauration et recovery manuellement :</p>
<p>Vérification du script généré :</p>
<p>$&gt; more /oracle/diag/rdbms/dd1/DD1/hm/reco_1841908370.hm<br />
# restore and recover datafile<br />
restore datafile 6;<br />
recover datafile 6;</p>
<p>Restauration (récupération) du fichier perdu à partir des Backups Sets de la sauvegarde RMAN :</p>
<p>RMAN&gt; restore datafile 6;</p>
<p>Starting restore at 23-JUL-10<br />
using channel ORA_DISK_1<br />
channel ORA_DISK_1: starting datafile backup set restore<br />
channel ORA_DISK_1: specifying datafile(s) to restore from backup set<br />
channel ORA_DISK_1: restoring datafile 00006 to /tmp/dd.dbf<br />
channel ORA_DISK_1: reading from backup piece /oracle/flash_recovery_area/DD1/DD1/backupset/2010_07_22/o1_mf_nnnd1_BACUP_INCR_DEL_BAC_0_64jlhkvc_.bkp<br />
channel ORA_DISK_1: piece handle=/oracle/flash_recovery_area/DD1/DD1/backupset/2010_07_22/o1_mf_nnnd1_BACUP_INCR_DEL_BAC_0_64jlhkvc_.bkp tag=BACUP_INCR_DEL_BAC_072210033828<br />
channel ORA_DISK_1: restored backup piece 1<br />
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01<br />
Finished restore at 23-JUL-10</p>
<p>Récupération de données supplémentaires et synchronisation des fichiers si nécessaire :</p>
<p>RMAN&gt; recover datafile 6;</p>
<p>Starting recover at 23-JUL-10</p>
<p>using channel ORA_DISK_1<br />
starting media recovery<br />
media recovery complete, elapsed time: 00:00:01<br />
Finished recover at 23-JUL-10</p>
]]></content:encoded>
			<wfw:commentRss>http://blogorak.estsurinternet.com/administration-oracle-dba/solution-erreur-ora-01157-ora-01110-datafile-perdu-corrompu-ou-efface/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

