<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-19916968</id><updated>2011-12-11T00:59:33.988-08:00</updated><category term='Oracle-validated'/><category term='Virtualisation'/><category term='Xen'/><category term='Oracle VM Manager'/><category term='OCFS2'/><category term='yum'/><category term='Template'/><category term='Oracle 10.2'/><category term='paravirtualisation'/><category term='Linux'/><category term='Dataguard'/><category term='OEL'/><category term='Oracle 11g'/><category term='refresh'/><category term='Rman'/><category term='VIRT-INSTALL'/><category term='Cluster'/><category term='rpm'/><category term='OracleVM'/><title type='text'>DB-ORACLE PASSION</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://bkomlan.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://bkomlan.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Komlan</name><uri>http://www.blogger.com/profile/13838924023943732608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>28</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-19916968.post-8790492935691972511</id><published>2009-09-07T02:01:00.000-07:00</published><updated>2009-09-07T02:18:16.073-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dataguard'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle 11g'/><category scheme='http://www.blogger.com/atom/ns#' term='Rman'/><title type='text'></title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;font-size:78%;" &gt;CREATION D'UNE ACTIVE DATA GUARD&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:78%;" &gt;(UNE PROCEDURE COMPACTE) &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;I - Introduction&lt;/span&gt;&lt;br /&gt;Comme il est indiqué dans le titre de cet article, les tests dont nous vous livrons le compte-rendu, ne sont possibles que sur Oracle Database 11g. Nous avons utilisé la release 11.1.0.6.&lt;br /&gt;Ce sont les nombreuses améliorations apportées par Oracle avec Oracle Database 11g qui ont facilité et simplifié la tâche et permis de rendre la procédure (et en particulier le script rman de création de la standby) aussi compacte.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;II - Pré-requis&lt;/span&gt;&lt;br /&gt;i) Les bases de données de production (primaire) et standby doivent s'exécuter dans la même release d'Oracle Database 11g, Enterprise Edition&lt;br /&gt;ii) L'option Oracle Active Data Guard doit être installée (Elle est payante et pas présente dans la vue v$option)&lt;br /&gt;iii) La base de données primaire doit être en mode archive log.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;III - Configuration de tests&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;                                            BD primaire             BD standby&lt;br /&gt;Serveur                           bund01                      bund02&lt;br /&gt;Base de données         prod                              stdby&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;IV - Les étapes&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Etape 1 : Activer l'option "force logging" sur la base de données primaire&lt;/span&gt;&lt;br /&gt;SQL&gt; alter database force logging ;&lt;br /&gt;Database altered.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Etape 2 : S'assurer que la base de données primaire utilise un fichier spfile&lt;/span&gt;&lt;br /&gt;SQL&gt; show parameter spfile&lt;br /&gt;NAME                                 TYPE        VALUE&lt;br /&gt;------------------------------------ ----------- ------------------------------&lt;br /&gt;spfile                               string      +DATA/prod/spfileprod.ora&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Etape 3 : Créer des standby redo logs sur la base de données primaire avec des numéros de groupes dans la continuité du dernier numéro de groupe des redo logs&lt;/span&gt;&lt;br /&gt;SQL&gt; col member for a40&lt;br /&gt;SQL&gt; select GROUP#, MEMBER from v$logfile ;&lt;br /&gt;  GROUP# MEMBER&lt;br /&gt;---------- ------------------------------------------------------------&lt;br /&gt;       3 +DATA/prod/onlinelog/group_3.266.696684409&lt;br /&gt;       3 +DATA/prod/onlinelog/group_3.267.696684415&lt;br /&gt;       2 +DATA/prod/onlinelog/group_2.264.696684397&lt;br /&gt;       2 +DATA/prod/onlinelog/group_2.265.696684403&lt;br /&gt;       1 +DATA/prod/onlinelog/group_1.262.696684385&lt;br /&gt;       1 +DATA/prod/onlinelog/group_1.263.696684391&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;SQL&gt; alter database add standby logfile group 4 ('+DATA/prod/sby_log01_01.rdo','+DATA/sby_log01_02.rdo') size 50M;&lt;/span&gt;&lt;br /&gt;Database altered.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;SQL&gt; alter database add standby logfile group 5 ('+DATA/prod/sby_log02_01.rdo','+DATA/sby_log02_02.rdo') size 50M;&lt;/span&gt;&lt;br /&gt;Database altered.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;SQL&gt; alter database add standby logfile group 6 ('+DATA/prod/sby_log03_01.rdo','+DATA/sby_log03_02.rdo') size 50M;&lt;/span&gt;&lt;br /&gt;Database altered.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Attention&lt;/span&gt; : il est possible de placer les standby redo logs directement dans le répertoire +DATA. Cependant cela entraîne des conflits comme le montrent les messages suivants que nous avons expérimentés :&lt;br /&gt;&lt;span style="font-size:78%;"&gt;RMAN-05536: auxiliary logfile name +DATA/sby_log01_01.rdo conflicts with a file used by the target database&lt;br /&gt;RMAN-05536: auxiliary logfile name +DATA/sby_log01_02.rdo conflicts with a file used by the target database&lt;br /&gt;RMAN-05536: auxiliary logfile name +DATA/sby_log02_01.rdo conflicts with a file used by the target database&lt;br /&gt;RMAN-05536: auxiliary logfile name +DATA/sby_log02_02.rdo conflicts with a file used by the target database&lt;br /&gt;RMAN-05536: auxiliary logfile name +DATA/sby_log03_01.rdo conflicts with a file used by the target database&lt;br /&gt;RMAN-05536: auxiliary logfile name +DATA/sby_log03_02.rdo conflicts with a file used by the target database&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Etape 4 : Mettre à jour le fichier tnsnames du serveur primaire &lt;/span&gt;&lt;br /&gt;Il s'agit d'ajouter les lignes suivantes :&lt;br /&gt;STDBY =&lt;br /&gt;(DESCRIPTION =&lt;br /&gt;  (ADDRESS = (PROTOCOL = TCP)(HOST = bund02 )(PORT = 1521))&lt;br /&gt;  (CONNECT_DATA =&lt;br /&gt;    (SID = stdby)&lt;br /&gt;  )&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Etape 5 : Copier le fichier de mots de passe de la base de données primaire dans le répertoire $ORACLE_HOME/dbs de la standby en lui donnant le nom orapwstdby.&lt;/span&gt;&lt;br /&gt;[oracle@bund01 dbs]$ scp -P22 orapwprod oracle@bund02:/u01/app/oracle/product/11.1.0/db_1/dbs/orapwstdby&lt;br /&gt;The authenticity of host 'bund02 (192.168.1.130)' can't be established.&lt;br /&gt;RSA key fingerprint is a3:55:7e:58:c4:66:9d:2f:77:f3:20:2b:c9:75:f5:c7.&lt;br /&gt;Are you sure you want to continue connecting (yes/no)? yes&lt;br /&gt;Warning: Permanently added 'bund02,192.168.1.130' (RSA) to the list of known hosts.&lt;br /&gt;oracle@bund02's password:&lt;br /&gt;orapwprod&lt;br /&gt;[oracle@bund01 dbs]$&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Etape 6 : Mettre à jour les fichiers listener.ora et tnsnames.ora du serveur standby &lt;/span&gt;&lt;br /&gt;Il faut leur ajouter les lignes suivantes.&lt;br /&gt;Listener.ora&lt;br /&gt;SID_LIST_LISTENER =&lt;br /&gt;(SID_LIST =&lt;br /&gt;  (SID_DESC =&lt;br /&gt;    (global_dbname = stdby)&lt;br /&gt;    (oracle_home = /u01/app/oracle/product/11.1.0/db_1)&lt;br /&gt;    (sid_name = stdby)&lt;br /&gt;  )&lt;br /&gt;  (SID_DESC =&lt;br /&gt;    (SID_NAME = PLSExtProc)&lt;br /&gt;    (ORACLE_HOME = /u01/app/oracle/product/11.1.0/db_1)&lt;br /&gt;    (PROGRAM = extproc)&lt;br /&gt;  )&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;tnsnames.ora&lt;br /&gt;STDBY =&lt;br /&gt;(DESCRIPTION =&lt;br /&gt;  (ADDRESS = (PROTOCOL = TCP)(HOST = bund02.knmc.local )(PORT = 1521))&lt;br /&gt;  (CONNECT_DATA =&lt;br /&gt;    (SERVER = DEDICATED)&lt;br /&gt;    (SERVICE_NAME = stdby)&lt;br /&gt;  )&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;PROD =&lt;br /&gt;(DESCRIPTION =&lt;br /&gt;  (ADDRESS = (PROTOCOL = TCP)(HOST = bund01.knmc.local )(PORT = 1521))&lt;br /&gt;  (CONNECT_DATA =&lt;br /&gt;    (SERVICE_NAME = prod)&lt;br /&gt;  )&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Etape 7 : Créer le fichier initstdby.ora sur le serveur standby (bund02)&lt;/span&gt;&lt;br /&gt;Le fichier doit être stocké dans le répertoire $ORACLE_HOME/dbs et ne contient qu'une seule ligne avec le paramètre db_name. Il faut bien noter que le db_name de la standby est le même que pour la primaire.&lt;br /&gt;db_name=prod&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Etape 8 : Sur la standby, créer les répertoires et sous-répertoires devant contenir les fichiers de trace d'audit&lt;/span&gt;&lt;br /&gt;Ces créations doivent être faites dans le répertoire $ORACLE_BASE/admin. Les répertoires et sous-répertoires sont : $ORACLE_BASE/admin/stdby, $ORACLE_BASE/admin/stdby/adump&lt;br /&gt;&lt;br /&gt;[oracle@bund02 admin]$ mkdir –p stdby/adump&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Etape 9 : Sur la primaire, créer le fichier rman de création de la standby.&lt;/span&gt;&lt;br /&gt;[oracle@bund01 db_1]$ cat create_stdby.rman&lt;br /&gt;connect target sys/oracleMdp@prod&lt;br /&gt;connect auxiliary sys/ oracleMdp @stdby&lt;br /&gt;run {&lt;br /&gt;allocate channel p1 type disk ;&lt;br /&gt;allocate auxiliary channel s1 type disk ;&lt;br /&gt;duplicate target database for standby from active database&lt;br /&gt;   spfile&lt;br /&gt;      parameter_value_convert 'prod','stdby'&lt;br /&gt;      set db_unique_name='stdby'&lt;br /&gt;      set db_file_name_convert='/prod/','/stdby/'&lt;br /&gt;      set log_file_name_convert='/prod/','/stdby/'&lt;br /&gt;      set control_files='+DATA/stdby/control01.ctl','+DATA/stdby/control02.ctl'&lt;br /&gt;      set log_archive_max_processes='5'&lt;br /&gt;      set fal_client='stdby'&lt;br /&gt;      set fal_server='prod'&lt;br /&gt;      set standby_file_management='AUTO'&lt;br /&gt;      set log_archive_config='dg_config=(prod,stdby)'&lt;br /&gt;      set log_archive_dest_2='service=prod lgwr async valid_for=(online_logfiles, primary_role) db_unique_name=stdby'&lt;br /&gt;      set log_archive_dest_state_2='enable'&lt;br /&gt;      set log_archive_format='stdby_%t_%s_%r.arc'&lt;br /&gt; ;&lt;br /&gt; sql channel p1 "alter system set log_archive_config=' 'dg_config=(prod,stdby' '";&lt;br /&gt; sql channel p1 "alter system set log_archive_dest_2=' 'service=stdby lgwr async valid_for=(online_logfiles, primary_role) db_unique_name=prod' '";&lt;br /&gt; sql channel p1 "alter system set log_archive_max_processes=5";&lt;br /&gt; sql channel p1 "alter system set fal_client=''prod' '" ;&lt;br /&gt; sql channel p1 "alter system set fal_server=''stdby' '";&lt;br /&gt; sql channel p1 "alter system set standby_file_management=AUTO";&lt;br /&gt; sql channel p1 "alter system set log_archive_dest_state_2=enable"&lt;br /&gt; sql channel p1 "alter system archive log current" ;&lt;br /&gt; sql channel s1 "alter database recover managed standby database using current logfile disconnect" ;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Etape 10 : Sur le serveur standby, mettre à jour les variables d'environnements et démarrer la standby avec l'option nomount&lt;/span&gt;&lt;br /&gt;[oracle@bund02 db_1]$ export ORACLE_SID=stdby&lt;br /&gt;[oracle@bund02 db_1]$ export ORACLE_HOME=/u01/app/oracle/product/11.1.0/db_1&lt;br /&gt;[oracle@bund02 db_1]$ sqlplus / as sysdba&lt;br /&gt;SQL&gt; startup nomount&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Etape 11 : Sur le serveur primaire, exécuter le script rman &lt;/span&gt;&lt;br /&gt;[oracle@bund01 db_1]$ rman cmdfile=create_stdby.rman log=create_stdby.log&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Notes &lt;/span&gt;&lt;br /&gt;i) Le script de création effectue les actions suivantes :&lt;br /&gt;- Arrêter la base standby et la re-démarrer avec le fichier spfile nouvellement créé&lt;br /&gt;- Créer un fichier standby controlfile sur le serveur primaire et la copier sur le serveur standby&lt;br /&gt;- Créer une base de données clone sur le serveur standby à l'aide d'Oracle RMAN cloning&lt;br /&gt;- Convertir la base de données clonée en base de données standby physique.&lt;br /&gt;&lt;br /&gt;ii) Le processus de creation de la standby physique peut prendre un certain temps, fonction de la taille de la base de données primaire.&lt;br /&gt;iii) le fichier de log se termine par un message d'erreur que l'on peut ignorer&lt;br /&gt;&lt;span style="font-size:78%;"&gt;sql statement: alter system archive log current&lt;br /&gt;&lt;br /&gt;released channel: p1&lt;br /&gt;RMAN-00571: ===========================================================&lt;br /&gt;RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============&lt;br /&gt;RMAN-00571: ===========================================================&lt;br /&gt;RMAN-03002: failure of sql command at 09/06/2009 03:11:04&lt;br /&gt;RMAN-06033: channel s1 not allocated&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Recovery Manager complete.&lt;br /&gt;&lt;br /&gt;iv) Pour une raison que nous n'avons  pas pu déterminer, la standby n'est pas mise en mode "récupération managée".&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Etape 12 : Paramétrer Active Data Guard sur le serveur standby&lt;/span&gt;&lt;br /&gt;Voir notre précédent post.&lt;br /&gt;&lt;br /&gt;Et voilà la simplification que les nombreuses améliorations apportées par Oracle 11g dans Oracle Data Guard ont rendu possible. Mais il y a une autre simplification tout aussi importante. Elle concerne l'utilisation de Dataguard pour le rafraîchissement des environnements de pré-production, de tests et de développement. Cette simplification est portée par une nouvelle fonctionnalité qui porte le nom de snapshot standby. Nous traiterons ce sujet dans notre prochain post.&lt;br /&gt;A bientôt donc …&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19916968-8790492935691972511?l=bkomlan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bkomlan.blogspot.com/feeds/8790492935691972511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19916968&amp;postID=8790492935691972511' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/8790492935691972511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/8790492935691972511'/><link rel='alternate' type='text/html' href='http://bkomlan.blogspot.com/2009/09/creation-dune-active-data-guard-une.html' title=''/><author><name>Komlan</name><uri>http://www.blogger.com/profile/13838924023943732608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19916968.post-570536381327200827</id><published>2009-09-07T01:54:00.000-07:00</published><updated>2009-09-07T01:59:12.053-07:00</updated><title type='text'></title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;font-size:78%;" &gt;ACTIVE DATA GUARD&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:78%;" &gt;VERIFICATION ET PARAMETRAGE DE L'ACTIVE DATA GUARD SOUS ORACLE DATABASE 11G&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;Jusqu'à la version 10.2 d'Oracle, les bases de données standby physiques ne pouvaient fonctionner que dans deux modes exclusifs :&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;- Ouverture en lecture seule pour permettre que les utilisateurs puissent exécuter des requêtes d'intérrogation et ainsi décharger en partie la base de données de production.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;- Ouverture en récupération managée pour permettre l'application des données de redo que la standby reçoit de la base de données de production.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;L'inconvénient majeur de ce fonctionnement en deux modes exclusifs l'un de l'autre est que lorsque la standby physique est en lecture seule, les fichiers de log sont accumulés pour n'être appliqués qu'une fois que la standby est remise dans le mode "récupération managée".&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;C'est, entre autres, pour cette raison qu'Oracle a introduit l'Active Dataguard en 11g. Cette nouvelle fonctionnalité permet aux utilisateurs d'avoir un accès en lecture seule aux bases de données standby physiques pendant que le transport des logs et leur application continuent sur ces mêmes bases de données.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;"Active Data Guard" est mentionnée comme une nouvelle option payante dans les brochures du produit Oracle Database 11g.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Et on pourrait s'attendre à la retrouver dans la vue v$option lorsque cette option est activée. Or il n'en est rien. Il se pose dès lors la question de savoir comment vérifier la présence de cette option et comment la paramétrer/activer.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;C'est l'objet du présent article.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;Vérification d'Active Data Guard&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;La vérification de la présence de l'option "Active Data Guard" se fait sur la standby database à l'aide de la requête ci-dessous.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; SELECT 'Active Data Guard is Enabled' ADG&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;  2  FROM v$MANAGED_STANDBY A, V$DATABASE B&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;  3  WHERE A.PROCESS LIKE 'MRP%' AND B.OPEN_MODE='READ ONLY';&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;ADG&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;----------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Active Data Guard is Enabled&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Si cette requite affiche comme réponse "Active Data Guard Enabled" (comme c'est le cas ci-dessus) alors on peut en conclure qu'Active Data Guard est "activée.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Si par contre la réponse est "no rows selected" comme ci-dessous, alors l'option n'est pas activée et il faudra la paramétrer.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; SELECT 'Active Data Guard is Enabled' ADG&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;  2  FROM v$MANAGED_STANDBY A, V$DATABASE B&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;  3  WHERE A.PROCESS LIKE 'MRP%' AND B.OPEN_MODE='READ ONLY';&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;no rows selected&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;Paramétrage d'Active Data guard&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Plusieurs étapes sont nécessaires pour paramétrer Active Data Guard.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;1°) Vérifier si la standby est en récupération managée&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; select process, status from v$managed_standby ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;PROCESS   STATUS&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;--------- ------------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;ARCH      CONNECTED&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;ARCH      CONNECTED&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;ARCH      CONNECTED&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;ARCH      CONNECTED&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;ARCH      CONNECTED&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;MRP0      APPLYING_LOG&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;6 rows selected.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;2°) Si c'est le cas comme dans l'exemple ci-dessus (la présence du processus MRP0 l'atteste), arrêter la récupération managée et vérifier l'effectivité de l'arrêt.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; alter database recover managed standby database cancel ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Database altered.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; select process, status from v$managed_standby ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;PROCESS   STATUS&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;--------- ------------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;ARCH      CONNECTED&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;ARCH      CONNECTED&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;ARCH      CLOSING&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;ARCH      CONNECTED&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;ARCH      CONNECTED&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;RFS       IDLE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;RFS       IDLE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;RFS       IDLE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;8 rows selected.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;3°) Ouvrir la standby avec la commande alter et l'option open&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; alter database open&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Note : Une solution alternative consiste à arrêter la standby et à la re-démarrer comme une bd classique&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; shutdown&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;ORA-01109: database not open&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Database dismounted.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;ORACLE instance shut down.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; startup&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;ORACLE instance started.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Total System Global Area  857903104 bytes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Fixed Size                  1303272 bytes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Variable Size             486542616 bytes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Database Buffers          364904448 bytes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Redo Buffers                5152768 bytes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Database mounted.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Database opened.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;4°) Re-démarrer la récupération managée avec l'option "using current logfile".&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; alter database recover managed standby database using current logfile disconnect ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Database altered.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;5°) vérifier que la récupération managée a démarré et que l'Active Dataguard est "activée"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; select process, status from v$managed_standby ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;PROCESS   STATUS&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;--------- ------------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;ARCH      CONNECTED&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;ARCH      CONNECTED&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;ARCH      CONNECTED&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;ARCH      CONNECTED&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;ARCH      CONNECTED&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;MRP0      APPLYING_LOG&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;6 rows selected.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; SELECT 'Active Data Guard is Enabled' ADG&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;  2  FROM v$MANAGED_STANDBY A, V$DATABASE B&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;  3  WHERE A.PROCESS LIKE 'MRP%' AND B.OPEN_MODE='READ ONLY';&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;ADG&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;----------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Active Data Guard is Enabled&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Voilà comment gérer la nouvelle fonctionnalité "Active Data Guard"  dans Oracle Database 11g.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Nous verrons dans notre prochain post, une procédure compacte (simplifiée) de mise en place d'une configuration "Active Data Guard".&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;A bientôt donc !&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19916968-570536381327200827?l=bkomlan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bkomlan.blogspot.com/feeds/570536381327200827/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19916968&amp;postID=570536381327200827' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/570536381327200827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/570536381327200827'/><link rel='alternate' type='text/html' href='http://bkomlan.blogspot.com/2009/09/verification-et-parametrage-de-lactive.html' title=''/><author><name>Komlan</name><uri>http://www.blogger.com/profile/13838924023943732608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19916968.post-1371741802900043613</id><published>2009-09-06T10:48:00.001-07:00</published><updated>2009-09-06T10:55:13.611-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dataguard'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle 10.2'/><category scheme='http://www.blogger.com/atom/ns#' term='refresh'/><title type='text'></title><content type='html'>&lt;div style="text-align: center; font-weight: bold;"&gt;&lt;span style="font-size:78%;"&gt;DATAGUARD ET RAFRAICHISSEMENT DES ENVIRONNEMENTS&lt;br /&gt;(3E PARTIE)&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;Cet article a été rédigé en collaboration avec M. Akli IMARAZENE, Consultant et DBA.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;V - Les étapes de la deuxième phase &lt;/span&gt;&lt;br /&gt;Il s'agit de réintégrer la base de pré-production et de tests dans son rôle de standby database.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:78%;" &gt;Etape 1 : Re-démarrer la database activée avec les options mount et force et procéder à son flashback jusqu'au restore point&lt;/span&gt;&lt;br /&gt;SQL&gt; startup mount force&lt;br /&gt;SQL&gt; archive log list ;&lt;br /&gt;SQL&gt; flashback database to restore point bf_app_test ;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:78%;" &gt;&lt;span&gt;Etape 2 : Convertir la database activée en physical standby database et la re-démarrer avec les options mount et force&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;SQL&gt; alter database convert to physical standby ;&lt;br /&gt;SQL&gt; startup mount force&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:78%;" &gt;Etape 3 : Lancer la récupération managée sur la standby&lt;/span&gt;&lt;br /&gt;SQL&gt; alter database recover managed standby database disconnect ;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:78%;" &gt;&lt;span&gt;Etape 4 : Activer le transport des logs archivés depuis la primary vers la standby et noter le numéro de séquence courante sur la primary&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Sur la primary&lt;br /&gt;SQL&gt; alter database set log_archive_dest_state_2=enable scope=both ;&lt;br /&gt;SQL&gt; select database_role, open_mode from v$database ;&lt;br /&gt;SQL&gt; alter system switch logfile ;&lt;br /&gt;SQL&gt; archive log list ;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:78%;" &gt;&lt;span&gt;Etape 5 : Vérifier que les logs archivés sont bien appliqués sur la standby&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;SQL&gt; select database_role, open_mode from v$database ;&lt;br /&gt;SQL&gt; archive log list ;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:78%;" &gt;&lt;span&gt;Etape 6 : Vérifier l'application des logs archivés en temps réel dans le fichier d'alertes de la standby database&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;$ tail –f /u01/app/oracle/product/10.2.0/db_1/dbs/alertstbyprod.log&lt;br /&gt;&lt;br /&gt;Dans l'un de nos prochains posts, nous verrons comment Oracle a permis de simplifier davantage cette même procédure dans Oracle Database 11g avec la nouvelle fonctionnalité snapshot standby.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Webographie&lt;/span&gt;&lt;br /&gt;Oracle Data Guard Concepts and Administration 10g Release 2 (10.2) – Chapter 12.6 : Using a Physical Standby Database for Read/Write Testing and Reporting&lt;br /&gt;&lt;br /&gt;Fin ./.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19916968-1371741802900043613?l=bkomlan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bkomlan.blogspot.com/feeds/1371741802900043613/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19916968&amp;postID=1371741802900043613' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/1371741802900043613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/1371741802900043613'/><link rel='alternate' type='text/html' href='http://bkomlan.blogspot.com/2009/09/dataguard-et-rafraichissement-des_3056.html' title=''/><author><name>Komlan</name><uri>http://www.blogger.com/profile/13838924023943732608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19916968.post-2297812633078318268</id><published>2009-09-06T10:35:00.000-07:00</published><updated>2009-09-06T10:46:51.567-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dataguard'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle 10.2'/><category scheme='http://www.blogger.com/atom/ns#' term='refresh'/><title type='text'></title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;font-size:78%;" &gt;DATAGUARD ET RAFRAICHISSEMENT DES ENVIRONNEMENTS&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:78%;" &gt;(2E PARTIE)&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;Cet article a été rédigé en collaboration avec M. Akli IMARAZENE, Consultant et DBA.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;IV - Les étapes de la première phase&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:78%;" &gt;Etape 1 : S'assurer que la primary et la standby databases sont synchronisées&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;i) Sur la primary&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;$ export ORACLE_SID=iprod&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;$ export ORACLE_BASE=/u01/app/oracle&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;$ export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;$ sqlplus / as sysdba&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; archive log list&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; select database_role, open_mode from v$database ;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;ii) Sur la standby&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;$ export ORACLE_SID=stbyprod&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;$ export ORACLE_BASE=/u01/app/oracle&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;$ export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;$ sqlplus / as sysdba&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; archive log list&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; select database_role, open_mode from v$database ;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Les lignes "Current log sequence" des commandes "archive log list" doivent afficher le même numéro de séquence sur les deux bases de données.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:78%;" &gt;Etape 2 : S'assurer que la standby database applique bien les redo logs&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;i) Sur la primary&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; alter system switch logfile ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; archive log list&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;ii) Sur la standby&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; archive log list&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Les lignes "Current log sequence" des commandes "archive log list" doivent afficher le même numéro de séquence sur les deux bases de données.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:78%;" &gt;Etape 3 : Activer la flashback database sur  la standby database &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Sur la standby&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; alter system set db_recovery_file_dest_size=5G scope=both ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; alter system set db_recovery_file_dest='/u01/app/oracle/flashback' scope=both ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; show parameter db_recovery&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; shutdown immediate ; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; startup mount ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; alter database flashback on&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:78%;" &gt;Etape 4 : Arrêter l'application des redos sur la standby database et y créer un restore point&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; alter database recover managed standby database cancel ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; create restore point bf_app_test guarantee flashback database ;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:78%;" &gt;Etape 5 : Archiver le log courant sur la primary database afin d'avoir les archived logs jusqu'au SCN du restore point et différer le transport des redo logs vers la standby database&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; alter system archive log current ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; archive log list ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; show parameter log_archive_dest_state_2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; alter system set log_archive_dest_state_2=DEFER ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; show parameter log_archive_dest_state_2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:78%;" &gt;Etape 6 : Activer la physical standby database (la transformer en base de données classique), mettre son mode de protection en "maximize performance" et l'ouvrir&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; alter database activate standby database ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; startup mount force ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; alter database set standby database to maximize performance ; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; alter database open ;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;A partir de maintenant, les équipes de tests et de développement peuvent disposer de la base de données pour leurs tests de la journée.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;A suivre …&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19916968-2297812633078318268?l=bkomlan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bkomlan.blogspot.com/feeds/2297812633078318268/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19916968&amp;postID=2297812633078318268' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/2297812633078318268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/2297812633078318268'/><link rel='alternate' type='text/html' href='http://bkomlan.blogspot.com/2009/09/dataguard-et-rafraichissement-des_06.html' title=''/><author><name>Komlan</name><uri>http://www.blogger.com/profile/13838924023943732608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19916968.post-725762081379385861</id><published>2009-09-06T10:28:00.000-07:00</published><updated>2009-09-06T10:34:57.022-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dataguard'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle 10.2'/><category scheme='http://www.blogger.com/atom/ns#' term='refresh'/><title type='text'></title><content type='html'>&lt;div style="text-align: center; font-weight: bold;"&gt;&lt;span style="font-size:78%;"&gt;DATAGUARD ET RAFRAICHISSEMENT DES ENVIRONNEMENTS&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;(1ERE PARTIE)&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;Cet article a été rédigé en collaboration avec M. Akli IMARAZENE, Consultant et DBA.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;br /&gt;I - Introduction&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Une configuration Dataguard a deux fonctions principales : &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;- Assurer la protection des données de l'entreprise ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;- Concourir  à la haute disponibilité de la base de données de production par la capacité de la base de secours (standby) à participer à une permutation de rôles avec la base de production (primary) lors de maintenances planifiées ou suite à une panne de la base de données de production.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Il y une troisième fonction beaucoup moins connue que l'on peut faire jouer à une configuration Dataguard : celle de servir au rafraîchissement des bases de données de pré-production, de tests et/ou de développement.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Il y a quelques jours, un ami et collègue m'expliquait toutes les difficultés qu'il a eues à faire accepter par ses collègues DBAs et sa hiérarchie la mise en œuvre d'une configuration Dataguard pour assurer le rafraîchissement d'une base de données de tests malgré l'argument incontestable que constitue l'extraordinaire gain en temps que cela allait procurer au quotidien.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;La réaction des collègues et de la hiérarchie de mon collègue est d'autant plus surprenante que la maîtrise de la mise en œuvre d'une configuration Dataguard n'est pas une tâche insurmontable et que de toutes les manières la mise en œuvre sera précédée de tests approfondis devant déboucher sur une procédure écrite qui servira de base à un transfert de compétences à tous les DBAs de l'équipe.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Dans cet article, nous nous fixons comme objectif de décrire dans ses grandes lignes une procédure de rafraîchissement d'une base de données de tests à l'aide d'une configuration Dataguard.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Nous supposons que le lecteur maîtrise la mise en place d'une configuration Dataguard car ceci ne sera pas traité dans le présent article.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Nous commencerons par présenter la configuration Dataguard qui servira de base à nos propos ; ensuite nous décrirons les différentes étapes à franchir pour aboutir au résultat escompté.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;II - Présentation de la configuration Dataguard&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Notre configuration comprend une base de données de production dite primary database et une base de données de tests (la base de données qui a besoin d'être rafraîchie tous les matins) qui va jouer le rôle de base de données secours, dite standby database.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Primary Database&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;db_name : prod&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;instance_name : iprod&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;db_unique_name : uprod&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Standby Database&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;db_name : prod&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;instance_name : stbyprod&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;db_unique_name : usprod&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;III - Principe d'utilisation d'une configuration Dataguard pour le rafraîchissement&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Durant toutes les nuits, la standby database joue son rôle de base secours. Il reçoit les archive logs générés sur la primary database et les applique au fil de l'eau.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Tous les matins, le DBA en charge de la gestion de cette configuration exécute les actions suivantes :&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;- Activer la fonctionnalité flashback database sur la standby database ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;- Arrêter l'application des données de redo sur la standby database ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;- Créer un restore point sur la standby database ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;- Archiver le redo log courant sur la primary database ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;- Différer le transport des redo logs vers la standby database ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;- Transformer la standby database en base de données classique pouvant être utilisée pour des tests avec des opérations de lecture/écriture et enfin l'ouvre et la met à la disposition des équipes de tests.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Tous les soirs, le même DBA lance le rafraîchissement de la base de tests après avoir procédé à un flashback pour annuler toutes les mises à jour faites par les équipes de tests et après l'avoir réintégré dans son rôle de standby database. Les actions menées sont, dans l'ordre :&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;- Procéder au flashback de la base de données de tests jusqu'au restore point ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;- Convertir la base de données de tests en physical standby database et le mettre en mode récupération manager;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;- Activer le transport des logs archivées vers la standby database où ils seront appliqués&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;A suivre …&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19916968-725762081379385861?l=bkomlan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bkomlan.blogspot.com/feeds/725762081379385861/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19916968&amp;postID=725762081379385861' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/725762081379385861'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/725762081379385861'/><link rel='alternate' type='text/html' href='http://bkomlan.blogspot.com/2009/09/dataguard-et-rafraichissement-des.html' title=''/><author><name>Komlan</name><uri>http://www.blogger.com/profile/13838924023943732608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19916968.post-2347989477186057802</id><published>2009-09-03T11:47:00.000-07:00</published><updated>2009-09-03T11:54:52.217-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OracleVM'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle VM Manager'/><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;font-size:100%;" &gt;Installation d'une machine virtuelle à l'aide d'Oracle VM Manager&lt;br /&gt;(A partir de l'image iso du dvd OEL disponible via http)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;Dans ce bref post, nous nous contentons de livrer la trame (les grandes lignes et les remarques) de l'installation d'une machine virtuelle à l'aide d'Oracle VM Manager à partir de l'image iso du DVD d'Oracle Enterprise Linux rendu disponible via un partage http.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;I - Installation et démarrage du serveur apache&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;# yum install httpd&lt;br /&gt;# service httpd start&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;II - Création d'un point de montage dans l'arborescence du daemon httpd et montage de l'image iso sur Oracle VM Server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;# cd /var/www/html&lt;br /&gt;# mkdir oelr5u3&lt;br /&gt;# mount –o ro,loop /OVS/tmp/Enterprise-R5-U3-Server-i386-dvd.iso  oelr5u3&lt;br /&gt;# ls –l oelr5u3&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;III - Arrêt du firewall sur Oracle VM Server et vérification de l'accessibilité de l'image iso depuis le navigateur d'une autre machine du réseau LAN&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;# service iptables stop&lt;br /&gt;# service iptables status&lt;br /&gt;Vérification à partir d'un navigateur d'un poste local du LAN http://192.168.10.100/oelr5u3&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;IV - Création de la machine virtuelle à l'aide d'Oracle VM Manager&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;Pour une description synthétique de la création d'une nouvelle machine virtuelle à partir du support d'installation, nous invitons le lecteur à consulter le chapitre 6 "managing Virtual machines", sous-chapitre "Creating a new virtual machine from installation media" (Oracle VM Manager user's guide Release 2.1) à l'adresse http://download.oracle.com/docs/cd/E11081_01/doc/doc.21/e10901/vm.htm.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;V - Remarques &lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;i) Pendant la phase d'installation des binaires, Le clavier azerty (français) était très mal pris en charge par la console vnc. Il fallait une très grande gymnastique et une bonne dose de devinette pour trouver les bonnes touches. Les caractères 2 et 3 étaient tout simplement introuvables. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;ii) Lors de l'installation, le système sera re-démarré plusieurs fois et à chaque fois, la console vnc se ferme automatiquement ; il faut la rouvrir.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;iii) Une fois l'installation terminée le clavier français était mieux pris en charge. Par contre la connexion par putty prend beaucoup de temps (plusieurs minutes).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Mais la souris est toujours mal pris en charge par la console vnc.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;iv) La création d'une machine virtuelle à l'aide d'Oracle VM Manager ne semble pas faire bon ménage avec la présence d'un deuxième repository monté et rendu disponible via ocfs2. Oracle VM Manager constatant que le deuxième repository dispose de plus d'espace, tente d'y stocker les fichiers de la nouvelle machine en cours de création. Mais pour une raison que nous n'avons pas réussi à déterminer, le serveur physique hébergeant Oracle VM Server redémarre automatique. Ceci constitue à notre avis un bug reproductible puisqu'il s'est produit plusieurs fois lors de nos tests.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;En guise de conclusion provisoire sur Oracle VM&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;Nous arrivons aux termes de notre première série d'articles consacrés à la mise en œuvre de la technologie Oracle VM qui est au cœur du concept de déploiement rapide d'applications d'infrastructures. Les enjeux sont énormes : outre la consolidation des serveurs, le gain de temps dans le déploiement des bases de données peut être important. Nous reviendrons certainement sur le sujet dès qu'il y aura des nouveautés importantes.&lt;br /&gt;Dans nos prochains post, nous traiterons de l'utilisation d'une configuration Dataguard pour le rafraîchissement des bases de données de pré-production, de tests et de développement.&lt;br /&gt;A très bientôt donc.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19916968-2347989477186057802?l=bkomlan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bkomlan.blogspot.com/feeds/2347989477186057802/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19916968&amp;postID=2347989477186057802' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/2347989477186057802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/2347989477186057802'/><link rel='alternate' type='text/html' href='http://bkomlan.blogspot.com/2009/09/installation-dune-machine-virtuelle.html' title=''/><author><name>Komlan</name><uri>http://www.blogger.com/profile/13838924023943732608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19916968.post-184449120762750707</id><published>2009-09-03T08:17:00.001-07:00</published><updated>2009-09-03T08:43:14.521-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OracleVM'/><category scheme='http://www.blogger.com/atom/ns#' term='VIRT-INSTALL'/><title type='text'></title><content type='html'>&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;Installation d'une machine virtuelle à l'aide de l'utilitaire virt-install&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; (A partir de l'image iso du dvd OEL)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;Nous continuons notre exploration de la technologie Oracle VM. Dans le présent article, nous verrons comment installer une machine virtuelle motorisée par Oracle Enterprise Linux 5 Update 3.&lt;br /&gt;Nous utilisons pour ce faire, le fichier image du dvd d'Oracle Enterprise Linux et l'outil virt-install. Ensuite nous ferons prendre en charge la machine nouvellement créée par Oracle VM Manager.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;Etape 1 : télécharger OEL 5 Update 3 dans son format dvd et le mettre à disposition sur Oracle VM Server&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;i) Téléchargement du fichier image&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;Il faut se rendre sur le site d'Oracle e-delivery (http://edelivery.oracle.com/EPD/GetUserInfo/get_form?caller=LinuxWelcome). Le fichier image iso du dvd d'OEL5.3 recherché est compressé dans un fichier archive.&lt;br /&gt;L'archive a les caractéristiques suivantes :&lt;br /&gt;- Nom : V15414-01zip&lt;br /&gt;- Libellé : Enterprise Linux Release 5 Update 3 for x86 (32 Bit) - DVD&lt;br /&gt;- Taille : 2.7 Go&lt;br /&gt;Après l'avoir téléchargé, déplaçons l'archive dans un répertoire dédié créé pour les besoins de notre test et dézippons-la.&lt;br /&gt;# mkdir /OVS/tmp&lt;br /&gt;# mv /root/V15414-01zip /OVS/tmp/&lt;br /&gt;# cd /OVS/tmp&lt;br /&gt;# unzip V15414-01zip&lt;br /&gt;Il en résulte le fichier image proprement dit (Enterprise-R5-U3-Server-i386-dvd.iso). Pour économiser de la place disque, nous pouvons supprimer l'archive&lt;br /&gt;# rm –f V15414-01zip&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;ii) Montage du fichier image sur un point de montage dédié (/tmp/oel5u3)&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;Créons ensuite un point de montage pour le fichier image et montons&lt;br /&gt;# mount -o rw,loop /OVS/tmp/Enterprise-R5-U3-Server-i386-dvd.iso /tmp/oel5u3/&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;Etape 2 : Configurer le serveur NFS sur Oracle VM Server&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;La configuration que nous présentons ci-dessous est assez simple (juste ce qu'il faut). Le lecteur souhaiter approfondir la configuration d'un serveur NFS en prenant en compte en compte la problématique sécurité pourra consulter l'article détaillé publié par Gregory R. Kriehn à l'adresse http://optics.csufresno.edu/~kriehn/fedora/fedora_files/f7/howto/nfs.html.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;i) Mettre à jour le fichier /etc/exports en y insérant le répertoire à partager et les adresses IP des machines autorisées à y accéder.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size:85%;"&gt;# cat /etc/exports&lt;br /&gt;/tmp/oel5u3  192.168.10.100(rw,no_root_squash) 192.168.10.110(rw,no_root_squash)  192.168.10.10(rw,no_root_squash)&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;ii) Metrre à jour le fichier /etc/hosts.allow en y insérant les adresses IP des machines autorisées à bénéficier des services NFS en face des différents processus daemons participant aux services NFS&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;# cat /etc/hosts.allow&lt;br /&gt;lockd:192.168.10.100,192.168.10.110,192.168.10.10&lt;br /&gt;mountd:192.168.10.100,192.168.10.110,192.168.10.10&lt;br /&gt;rpcbind:192.168.10.100,192.168.10.110,192.168.10.10&lt;br /&gt;rquotad:192.168.10.100,192.168.10.110,192.168.10.10&lt;br /&gt;statd:192.168.10.100,192.168.10.110,192.168.10.10&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify; font-style: italic;"&gt;&lt;span style="font-size:85%;"&gt;iii) Arrêter le firewall et re-démarrer les services portmap, nfslock et nfs afin de faire prendre en compte les modifications effectuées&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;[root@ovs01 ~]# service iptables stop&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Flushing firewall rules:                                   [  OK  ]&lt;br /&gt;Setting chains to policy ACCEPT: filter                    [  OK  ]&lt;br /&gt;Unloading iptables modules:                                [  OK  ]&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;[root@ovs01 ~]# service nfslock restart&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Stopping NFS locking:                                      [  OK  ]&lt;br /&gt;Stopping NFS statd:                                        [  OK  ]&lt;br /&gt;Starting NFS statd:                                        [  OK  ]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;[root@ovs01 ~]# service portmap restart&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Stopping portmap:                                          [  OK  ]&lt;br /&gt;Starting portmap:                                          [  OK  ]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;[root@ovs01 ~]# service nfs restart&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Shutting down NFS mountd:                                  [  OK  ]&lt;br /&gt;Shutting down NFS daemon:                                  [  OK  ]&lt;br /&gt;Shutting down NFS quotas:                                  [  OK  ]&lt;br /&gt;Shutting down NFS services:                                [  OK  ]&lt;br /&gt;Starting NFS services:                                     [  OK  ]&lt;br /&gt;Starting NFS quotas:                                       [  OK  ]&lt;br /&gt;Starting NFS daemon:                                       [  OK  ]&lt;br /&gt;Starting NFS mountd:                                       [  OK  ]&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;iv) Vérifier que le répertoire /tmp/oel5u3 est bien mis à disposition par le serveur NFS (une seule des deux commandes aurait suffi)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;[root@ovs01 ~]#  exportfs&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;/tmp/oel5u3  192.168.10.100&lt;br /&gt;/tmp/oel5u3  192.168.10.110&lt;br /&gt;/tmp/oel5u3  192.168.10.10&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;[root@ovs01 ~]# showmount -e&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Export list for ovs01.knmc.local:&lt;br /&gt;/tmp/oel5u3 192.168.10.110,192.168.10.10,192.168.10.100&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;Etape 3 : Exécuter l'utilitaire virt-install&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;Compte tenu du nombre de paramètres, nous avons préféré saisir la commande correspondante dans un fichier (create_vm.sh) que nous avons rendu exécutable.&lt;br /&gt;[root@ovs01 ~]#  cat create_vm.sh&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:78%;"&gt;virt-install \&lt;br /&gt;--name vm01 \&lt;br /&gt;--ram=1024 \&lt;br /&gt;--file=/OVS/running_pool/vm01/system.img \&lt;br /&gt;--file-size=10 \&lt;br /&gt;--location=nfs:192.168.10.100:/tmp/oel5u3 \&lt;br /&gt;--keymap=fr &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Récapitulons les paramètres&lt;br /&gt;Nom de la machine virtuelle à créer : vm01&lt;br /&gt;Taille de la mémoire physique : 1024 Mo&lt;br /&gt;Nom du fichier disque à allouer à la machine : =/OVS/running_pool/vm01/system.img&lt;br /&gt;Taille du fichier disque à allouer : 10 Go&lt;br /&gt;Emplacement où les binaires d'Oracle Enterprise Linux 5.3 sont mis à disposition : répertoire /tmp/oel5u3 du serveur NFS ayant comme adresse IP 192.168.10.100&lt;br /&gt;Clavier utilisé : clavier de type français (azerty).&lt;br /&gt;&lt;br /&gt;[root@ovs01 tmp]# ./create_vm.sh&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Would you like to enable graphics support? (yes or no) &lt;/span&gt;yes&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Starting install...&lt;br /&gt;libvir: Xen Daemon error : GET operation failed:&lt;br /&gt;&lt;br /&gt;VNC Viewer Free Edition 4.1.2 for X - built Jan 21 2009 14:35:26&lt;br /&gt;Copyright (C) 2002-2005 RealVNC Ltd.&lt;br /&gt;See http://www.realvnc.com for information on VNC.&lt;br /&gt;&lt;br /&gt;Wed Aug 26 05:28:29 2009&lt;br /&gt;CConn:       connected to host localhost port 5901&lt;br /&gt;CConnection: Server supports RFB protocol version 3.8&lt;br /&gt;CConnection: Using RFB protocol version 3.8&lt;br /&gt;TXImage:     Using default colormap and visual, TrueColor, depth 16.&lt;br /&gt;CConn:       Using pixel format depth 6 (8bpp) rgb222&lt;br /&gt;CConn:       Using ZRLE encoding&lt;br /&gt;&lt;br /&gt;Wed Aug 26 05:29:17 2009&lt;br /&gt;CConn:       Throughput 14285 kbit/s - changing to hextile encoding&lt;br /&gt;CConn:       Throughput 14285 kbit/s - changing to full colour&lt;br /&gt;CConn:       Using pixel format depth 16 (16bpp) little-endian rgb565&lt;br /&gt;CConn:       Using hextile encoding&lt;br /&gt;&lt;br /&gt;Wed Aug 26 05:33:47 2009&lt;br /&gt;CConn:       Throughput 20000 kbit/s - changing to raw encoding&lt;br /&gt;CConn:       Using raw encoding&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;Précisions importantes relatives à l'exécution de virt-install&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;i) Lors de l'exécution de l'utilitaire virt-install le message d'erreur suivant est affiché. Mais on peut l'ignorer :&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;libvir: Xen Daemon error : GET operation failed:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;ii) Le re-démarrage suivant de la machine virtuelle nouvellement créée peut afficher les messages suivants que l'on peut également ignorer : &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;libvir: xen Daemon error: internal error domain information incomplete, missing kernel&lt;br /&gt;Entity: line25: parser error : Opening and ending tag mismatch: os line 5 and domain&lt;br /&gt;&lt;br /&gt;Entity: line26: parser error : Premature end of data in tag domain line 1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;iii) L'exécution de virt-install inclut la phase d'installation d'Oracle Enterprise Linux qui ne comporte aucune difficulté particulière. Pour faire simple, nous avons choisi d'utiliser le serveur DHCP pour faire affecter une adresse IP à la nouvelle machine. Nous avons constaté qu'il en résultait que la nouvelle machine avait comme hostname new-host-20. Le curseur sur la nouvelle machine n'était pas très précis. En réalité, il y avait deux curseurs dans les fenêtres vnc.&lt;br /&gt;Pour changer le hostname de la machine, on peut utiliser l'un des deux méthodes suivantes :&lt;br /&gt;- Modifier les fichiers /etc/sysconfig/network et /etc/hosts et re-démarrer la machine &lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;(# service network restart)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;- Modifier le fichier /etc/hosts et rediriger la commande echo "&lt;nouveau nom=""&gt;&lt;nouveau&gt;" dans le fichier /proc/sys/kernel/hostname ; par exemple&lt;br /&gt;# echo "vm01" &gt; /proc/sys/kernel/hostname&lt;/nouveau&gt;&lt;/span&gt;&lt;br /&gt;&lt;nouveau nom=""&gt;&lt;/nouveau&gt;&lt;/div&gt;&lt;nouveau nom=""&gt;&lt;br /&gt;&lt;/nouveau&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;nouveau nom=""&gt;&lt;span style="font-style: italic;"&gt;iv) Contrairement au fichier disque (system.img) qui est stocké dans le répertoire /OVS/running_pool/vm01, le fichier de configuration de la nouvelle machine virtuelle créée à l'aide de virt-install est localisé dans le répertoire /etc/xen et a pour nom vm01 (le même nom que la machine).&lt;/span&gt;&lt;/nouveau&gt;&lt;br /&gt;&lt;nouveau nom=""&gt;&lt;span style="font-style: italic;"&gt;v) Il peut s'avérer nécessaire de re-démarrer la nouvelle machine une ou deux fois avant que le clavier français ne devienne vraiment opérationnel.&lt;/span&gt;&lt;/nouveau&gt;&lt;br /&gt;&lt;nouveau nom=""&gt;&lt;span style="font-style: italic;"&gt;vi) Oracle VM Manager ne prend pas en charge par défaut la nouvelle machine. Une procédure complémentaire est nécessaire pour cela. C'est l'objet de l'étape suivante.&lt;/span&gt;&lt;/nouveau&gt;&lt;/span&gt;&lt;br /&gt;&lt;nouveau nom=""&gt;&lt;/nouveau&gt;&lt;/div&gt;&lt;nouveau nom=""&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;Etape 4 : Eteindre la nouvelle machine et l'importer dans Oracle VM Manager&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;i) Arrêter la nouvelle machine après avoir noté son domain-id&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;[root@ovs01 vm01]# xm list&lt;/span&gt;&lt;br /&gt;&lt;/nouveau&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:78%;"&gt;&lt;nouveau nom=""&gt;Name                                        ID   Mem VCPUs      State   Time(s)&lt;/nouveau&gt;&lt;br /&gt;&lt;nouveau nom=""&gt;Domain-0                                     0   585     4     r-----    624.1&lt;/nouveau&gt;&lt;br /&gt;&lt;nouveau nom=""&gt;OVM_EL5U3_X86_OVM_MANAGER_PVM                1  2048     2     -b----    355.4&lt;/nouveau&gt;&lt;br /&gt;&lt;nouveau nom=""&gt;vm01                                         2  1024     1     -b----    415.0&lt;/nouveau&gt;&lt;/span&gt;&lt;br /&gt;&lt;nouveau nom=""&gt;&lt;/nouveau&gt;&lt;/div&gt;&lt;nouveau nom=""&gt;&lt;span style="font-size:85%;"&gt;[root@ovs01 vm01]# xm shutdown –w 2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Domain 2 terminated&lt;br /&gt;All domains terminated&lt;br /&gt;[root@ovs01 vm01]#&lt;/span&gt;&lt;br /&gt;&lt;/nouveau&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;nouveau nom=""&gt;&lt;span style="font-style: italic;"&gt;ii) Copier le fichier de configuration de la machine dans le répertoire /OVS/running_pool/vm01 en renommant la copie en vm.cfg.&lt;/span&gt;&lt;/nouveau&gt;&lt;/span&gt;&lt;br /&gt;&lt;nouveau nom=""&gt;&lt;/nouveau&gt;&lt;/div&gt;&lt;nouveau nom=""&gt;&lt;span style="font-size:85%;"&gt;# cp –p /etc/xen/vm01  /OVS/running_pool/vm01/vm.cfg&lt;/span&gt;&lt;br /&gt;&lt;/nouveau&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;&lt;nouveau nom=""&gt;iii) Importer la nouvelle machine dans Oracle VM Manager en utilisant le menu Resources et le sous-menu "Virtual Machine Images"&lt;/nouveau&gt;&lt;/span&gt;&lt;br /&gt;&lt;nouveau nom=""&gt;&lt;/nouveau&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;nouveau style="font-style: italic;" nom=""&gt;iv) Approuver/valider la machine virtuelle ainsi importée.&lt;/nouveau&gt;&lt;/span&gt;&lt;br /&gt;&lt;nouveau nom=""&gt;&lt;/nouveau&gt;&lt;/div&gt;&lt;nouveau nom=""&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;Conclusion&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/nouveau&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;nouveau nom=""&gt;Nous venons de vous montrer comment utiliser l'utilitaire virt-install pour créer une machine virtuelle sur un serveur Oracle VM Server à partir du fichier image dvd des binaires d'Oracle Enterprise Linux 5.3. Nous regrettons que cet utilitaire gère autrement le fichier de configuration de la machine virtuelle créée. Cependant il n'y a pas de difficulté particulière à l'importer dans Oracle VM Manager.&lt;/nouveau&gt;&lt;br /&gt;&lt;nouveau nom=""&gt;Dans notre prochain post, nous verrons comment créer une machine virtuelle toujours à partir d'un fichier image d'Oracle Enterprise Linux mais directement à l'aide d'Oracle VM Manager, ce qui nous éviterait d'avoir à l'importer ensuite dans Oracle VM Manager.&lt;/nouveau&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19916968-184449120762750707?l=bkomlan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bkomlan.blogspot.com/feeds/184449120762750707/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19916968&amp;postID=184449120762750707' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/184449120762750707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/184449120762750707'/><link rel='alternate' type='text/html' href='http://bkomlan.blogspot.com/2009/09/normal-0-21-microsoftinternetexplorer4.html' title=''/><author><name>Komlan</name><uri>http://www.blogger.com/profile/13838924023943732608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19916968.post-1919654721115609274</id><published>2009-08-24T06:19:00.000-07:00</published><updated>2009-08-24T06:29:27.859-07:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;font-size:100%;" &gt;Installation d'une machine virtuelle&lt;br /&gt;(A partir d'un template intégrant OEL5.2 et Oracle database 11g)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Comme promis dans mon avant-dernier post, je vous décris ci-après mes tests.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;Rappels&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;Nom du bundle à télécharger : V15511.zip&lt;br /&gt;Nom du template : OVM_EL5U2_X86_ORACLE11G_PVM.tgz&lt;br /&gt;Avertissement :&lt;br /&gt;Une fois dézippé, le bundle du template fait un peu plus de 31 Go&lt;br /&gt;Et il faut disposer d'un espace disque égal à au moins deux fois la taille du bundle sur Oracle VM Server du fait de la nécessité d'avoir sur Oracle VM Server le template et la machine virtuelle à créer à partir du template au  moins jusqu'à la fin de la création de la machine virtuelle.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;1°) Installer le template sur Oracle VM Server&lt;/span&gt;&lt;br /&gt;i) Télécharger le bundle et le placer dans le répertoire /OVS/seed_pool d'Oracle VM Server&lt;br /&gt;ii) Dézipper le bundle&lt;br /&gt;# cd /OVS/seed_pool&lt;br /&gt;# unzip V15511.zip&lt;br /&gt;On obtient l'archive du template : OVM_EL5U2_X86_ORACLE11G_PVM.tgz&lt;br /&gt;iii) Supprimer le fichier du bundle pour économiser de l'espace disque&lt;br /&gt;# cd /OVS/seed_pool&lt;br /&gt;# rm –f V15511.zip&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;iv) Extraire le contenu de l'archive du bundle&lt;br /&gt;# cd /OVS/seed_pool&lt;br /&gt;# tar –xvzf OVM_EL5U2_X86_ORACLE11G_PVM.tgz&lt;br /&gt;Il en résulte le sous-répertoire OVM_EL5U2_X86_ORACLE11G_PVM dans le répertoire /OVS/seed_pool. Ce sous-répertoire contient tous les fichiers du template.&lt;br /&gt;v) vérifier que le template est bien en place&lt;br /&gt;[root@ovs01 ~]# cd /OVS/seed_pool/OVM_EL5U2_X86_ORACLE11G_PVM/&lt;br /&gt;[root@ovs01 OVM_EL5U2_X86_ORACLE11G_PVM]# ls -l&lt;br /&gt;total 31930697&lt;br /&gt;-rw-r--r-- 1 root root 26214401024 Jan 19  2009 oracle11g_x86_asm.img&lt;br /&gt;-rw-r--r-- 1 root root         474 Feb  2  2009 README&lt;br /&gt;-rw-r--r-- 1 root root  6482630656 Feb  2  2009 System.img&lt;br /&gt;-rw-r--r-- 1 root root         437 Aug 21 17:30 vm.cfg&lt;br /&gt;-rw-rw-rw- 1 root root         353 Aug 21 17:24 vm.cfg.orig&lt;br /&gt;[root@ovs01 OVM_EL5U2_X86_ORACLE11G_PVM]#&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;2°) Se connecter à Oracle VM manager et importer le template&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;i) Avec son navigateur préféré, se connecter à Oracle VM manager à partir de son poste de travail de travail Windows XP par exemple. L'URL ressemble à ceci : https://192.168.10.100:4443/OVS&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;ii) Importer dans Oracle VM Manager le template installé sur Oracle VM Server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Onglet Resources -&gt;  sous-onglet "Virtual Machine Template" -&gt; bouton Import.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Le wizard d'import démarre avec son premier écran&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Sélectionner le bouton radio "Select from Server Pool (Discover and Register)" puis cliquer sur Next.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Renseigner les différents champs qui s'afficher sur l'écran suivant (certaines valeurs sont à sélectionner dans une courte liste déroulante) :&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Server Pool Name : seed_pool&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Virtual Machine Template name : OVM_EL5U2_X86_ORACLE11G_PVM&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Operating System : Oracle Enterprise Linux 5&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Virtual Machine System Username : root&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Virtual Machine System Username password : ovsroot&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Cliquer sur le bouton Next après avoir vérifié tous les renseignements fournis.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;L'écran de confirmation s'affiche. Cliquer sur le bouton Confirm.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Au bout d'un instant, le template apparaît sur une ligne dans le tableau de l'écran "Virtual Machine Template".&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;3°) Approuver/valider le nouveau template importé&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Onglet "Virtual machine template"&lt;br /&gt;Sélectionner (en cliquant sur le bouton radio correspondant) le template nouvellement importé.&lt;br /&gt;Cliquer sur le bouton Approve. L'écran "View Virtual Machine Template" s'affiche. Cliquer de nouveau sur le bouton Approve de ce dernier écran.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;4°) Créer la nouvelle machine à partir du template importé et validé.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;Nous allons appeler la nouvelle machine (à créer) BUND01.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Onglet "Virtual Machines" -&gt; Bouton "Create Virtual Machine".&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Le wizard de création de la machine virtuelle démarre avec son premier écran.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Sélectionner le bouton radio "Create virtual machine based on virtual machine template" puis cliquer sur Next.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Sélectionner seed_pool pour Server Pool et auto pour Preferred Server ; puis cliquer sur Next.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Sur l'écran source, sélectionner le template OVM_EL5U2_X86_ORACLE11G_PVM ; puis cliquer sur Next.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;L'écran "Machine Information" s'affiche. Renseigner les différents champs sans cocher la case à cocher "Enable High Availability") :&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Virtual Machine name : BUN01&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Console password : MdPC0ns0le (ceci n'est qu'un exemple)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Ajouter deux interfaces réseau à la machine en cliquant deux fois sur le bouton Add. Puis cliquer sur le bouton Next.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;L'écran de confirmation s'affiche. Cliquer sur le bouton Confirm.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;L'écran "Virtual machines" s'affiche avec dans le tableau des machines, une nouvelle ligne correspondant à la nouvelle machine virtuelle en cours de création. Dans la colonne Status on voit s'afficher Creating.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;La création de la machine virtuelle peut prendre plusieurs dizaines de minutes. Il est conseillé de cliquer de temps en temps sur le bouton Refresh.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Une fois créée, la machine virtuelle passe à l'état "Powered Off".&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;En cas de problème, cliquer sur le lien Show de la colonne Details sur la ligne correspondant à la machine et puis sur le chiffre sous forme de lien présent en face du libellé Log dans la zone de d'informations qui s'affiche.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;5°) Démarrer la machine virtuelle et finaliser sa configuration&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;Cliquer sur l'onglet "Virtual Machines".&lt;br /&gt;Sélectionner la machine BUND01 en cliquant sur le bouton radio de la colonne select de la ligne lui correspondant.&lt;br /&gt;Cliquer sur le sous-onglet "Power On". Le status de la machine passe de "Powered Off" à Initializing. Au bout de quelques secondes il passe à Running.&lt;br /&gt;Dès que le status passe à Running, cliquer sur le sous-onglet Console et se connecter à la console de la machine. Démarrer alors l'interview de configuration. Il ressemble à ce qui suit (extraits) :&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:78%;"&gt;Regenerating pu2date uuid&lt;br /&gt;Setting Oracle validated configuration parameters&lt;br /&gt;Configuring network&lt;br /&gt;Use DHCP ? y/n [n] (Commentaire : saisir n ou appuyer sur la touché &lt;entrée&gt;)&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;Static IP : 192.168.10.120 (Commentaire : ceci n'est qu'un exemple ; saisissez l'addresse de votre réseau local que vous souhaitez affecter à la nouvelle machine).&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;Netmask : 255.255.255.0&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;Default gateway IP : 192.168.10.1&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;DNS server IP : 192.168.10.1&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;Hostname : bund01&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;….&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;Orcale database Configuration&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;This will configure on-boot properties of Oracle Database&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;The following will determine …&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;Do you want relink binaries ? y/n [n]  n &lt;entrée&gt; (ou &lt;entrée&gt;)&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;Specify the http port that will be used for Oracle Application Express [8080] : &lt;entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;Specify a port that will be used for the database listener [1521] : &lt;entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;Specify a password to be used for database accounts. Note that the same password will be used for SYS, SYSTEM and ADMIN for APEX. Oracle recommends the use of different passwords for each database account. This can be done after initial configuration : MdP0db&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;Confirm the password : MdP0db&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;Do you want Oracle Database to be started on boot (y/n) [y] : &lt;entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;Running orainstRoot.sh and root.sh …&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;Changing permissions of /u01/app/OraInventory to 770.&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;Changing groupname of /u01/app/OraInventory to dba&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;The execution of the script is complete.&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;Running Oracle 11g root;sh script …&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;The following environment variables are set as :&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;ORACLE_OWNER: oracle&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;ORACLE_HOME: /u01/app/oracle/product/11.1.0/db_1&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;Enter the full pathname of the local bin directory : [/usr/local/bin] : &lt;entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;Creating /etc/oratab file …&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;Entries will be added …&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;Starting CSS.&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;Waiting for CSS available&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;ASM instance started&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;Total System Global Area …&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;Fixed Size …&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;Variable Size …&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;ASM Cache …&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;Oracle instance started&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;Total System Global Area…&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;Fixed Size …&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;Variable Size …&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;Database buffers …&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;Redo buffers …&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;Database mounted.&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;Database opened.&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;Configuration completed successfully&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;To access the Oracle Application Express go to http://bund01:8080/apex&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;Press any key to continue …&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;Enterprise Linux Enterprise Linux Sever release 5.2 (Carthage)&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;Kernel 2.6.18-92.1.22.0.1.el5xen on i686&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;bund01 login : oracle&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;Password : oracle&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/span&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/div&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;Annexe : Utilisation de la mémoire physique&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Prenez garde à l'utilisation de la mémoire physique de votre serveur de tests, le serveur physique.&lt;br /&gt;Si comme moi vous avez Oracle VM manager installé en machine sur le serveur physique pilotant Oracle VM Server, vous aurez probablement besoin de revoir à la baisse la mémoire affectée par défaut à la machine virtuelle que vous souhaitez installer. La valeur par défaut est de 2048 Mo.&lt;br /&gt;Sinon la création va échouer avec le message suivant :&lt;br /&gt;"failed:&lt;/span&gt;&lt;ovsexception: selected="" to="" run="" ovs="" running_pool="" 30_bund01="" no="" server="" with="" enough=""&gt;&lt;span style="font-size:85%;"&gt; StackTrace: File "/opt/ovs-agent-2.2/OVSSiteVM.py", line 79, in start_vm raise exception"&lt;br /&gt;Une solution consiste à reconfigurer à la baisse la mémoire allouée à la machine virtuelle en cours de création. Procéder comme suit :&lt;br /&gt;1°) Eteindre la machine virtuelle&lt;br /&gt;Onglet "Virtual Machines"&lt;br /&gt;Sélectionner la machine à éteindre&lt;br /&gt;Cliquer sur le sous-onglet "Power Off"&lt;br /&gt;Cliquer sur le bouton Refresh&lt;br /&gt;&lt;br /&gt;2°) Reconfigurer la mémoire/RAM de la machine&lt;br /&gt;Sélectionner la machine à reconfigurer&lt;br /&gt;Cliquer sur le sous-onglet Configurer&lt;br /&gt;Et modifier les champs suivants&lt;br /&gt;Maximum Memory Size (MB): 1024&lt;br /&gt;Memory Size (MB) : 1024&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;Renommage de la base&lt;/span&gt;&lt;br /&gt;&lt;/ovsexception:&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;div style="text-align: justify;"&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;ovsexception: selected="" to="" run="" ovs="" running_pool="" 30_bund01="" no="" server="" with="" enough=""&gt;&lt;span style="font-size:85%;"&gt;La base de données Oracle et l'instance de base de données créées portent le nom orcl.&lt;/span&gt;&lt;/ovsexception:&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;ovsexception: selected="" to="" run="" ovs="" running_pool="" 30_bund01="" no="" server="" with="" enough=""&gt;&lt;span style="font-size:85%;"&gt;Les DBAs pourraient avoir besoin de changer ce nom.&lt;/span&gt;&lt;/ovsexception:&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;ovsexception: selected="" to="" run="" ovs="" running_pool="" 30_bund01="" no="" server="" with="" enough=""&gt;&lt;span style="font-size:85%;"&gt;Pour faire simple et court, je vous conseille l'article de Burleson Consulting&lt;/span&gt;&lt;/ovsexception:&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;ovsexception: selected="" to="" run="" ovs="" running_pool="" 30_bund01="" no="" server="" with="" enough=""&gt;&lt;span style="font-size:85%;"&gt;How to rename an Oracle database ORACLE_SID? A new method for a database rename instance (Oracle Tips by Burleson ConsultingApril 21, 2008 - http://www.dba-oracle.com/t_rename_database_oracle_sid.htm&lt;/span&gt;&lt;/ovsexception:&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;ovsexception: selected="" to="" run="" ovs="" running_pool="" 30_bund01="" no="" server="" with="" enough=""&gt;&lt;/ovsexception:&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;ovsexception: selected="" to="" run="" ovs="" running_pool="" 30_bund01="" no="" server="" with="" enough=""&gt;&lt;span style="font-size:85%;"&gt;Pour les puristes, il restera encore à modifier les chemins vers les fichiers temporaires et de données de la base de données pour y faire apparaître le nouveau nom de la base de données (par exemple test) à la place de orcl). Il faudra tenir compte du fait que tous ces fichiers sont dans un diskgroup ASM.&lt;/span&gt;&lt;/ovsexception:&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;ovsexception: selected="" to="" run="" ovs="" running_pool="" 30_bund01="" no="" server="" with="" enough=""&gt;&lt;/ovsexception:&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/div&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;ovsexception: selected="" to="" run="" ovs="" running_pool="" 30_bund01="" no="" server="" with="" enough=""&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;En guise de conclusion&lt;/span&gt;&lt;br /&gt;&lt;/ovsexception:&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;ovsexception: selected="" to="" run="" ovs="" running_pool="" 30_bund01="" no="" server="" with="" enough=""&gt;Outre l'intérêt grandissant que présente la virtualisation dans les data-centers, Oracle, par sa technologie Oracle VM fondée sur le produit Xen s'efforce d'intégrer son système open source Oracle Enterprise Linux alias Unbrekable Linux et son produit phare Oracle Database. Une vraie petite révolution est peut-être en marche.&lt;/ovsexception:&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;ovsexception: selected="" to="" run="" ovs="" running_pool="" 30_bund01="" no="" server="" with="" enough=""&gt;Pour l'instant les centres de formation, les plate-formes de développement et/ou de tests peuvent déjà en tirer beaucoup de bénéfice dans leur travail au quotidien.&lt;/ovsexception:&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;ovsexception: selected="" to="" run="" ovs="" running_pool="" 30_bund01="" no="" server="" with="" enough=""&gt;Il va sans dire que les consultants architectes et DBA faisant de la veille technique et qui souhaiteraient faire des tests chez eux y trouveront leur compte.&lt;/ovsexception:&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;ovsexception: selected="" to="" run="" ovs="" running_pool="" 30_bund01="" no="" server="" with="" enough=""&gt;Gageons que les ingénieurs systèmes et les spécialistes en technique de virtualisation se l'approprieront rapidement dans l'intérêt de tous les interlocuteurs IT dans l'entreprise.&lt;/ovsexception:&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/span&gt;&lt;br /&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;entrée&gt;&lt;ovsexception: selected="" to="" run="" ovs="" running_pool="" 30_bund01="" no="" server="" with="" enough=""&gt;&lt;/ovsexception:&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/entrée&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19916968-1919654721115609274?l=bkomlan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bkomlan.blogspot.com/feeds/1919654721115609274/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19916968&amp;postID=1919654721115609274' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/1919654721115609274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/1919654721115609274'/><link rel='alternate' type='text/html' href='http://bkomlan.blogspot.com/2009/08/installation-dune-machine-virtuelle.html' title=''/><author><name>Komlan</name><uri>http://www.blogger.com/profile/13838924023943732608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19916968.post-7501506530094818353</id><published>2009-08-24T05:16:00.000-07:00</published><updated>2009-08-24T05:42:41.723-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OracleVM'/><category scheme='http://www.blogger.com/atom/ns#' term='Cluster'/><category scheme='http://www.blogger.com/atom/ns#' term='OCFS2'/><category scheme='http://www.blogger.com/atom/ns#' term='OEL'/><category scheme='http://www.blogger.com/atom/ns#' term='Virtualisation'/><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;font-size:100%;" &gt;Ajout d'un nouveau repository à Oracle VM Server&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;Avant d'aborder l'installation/création d'une machine virtuelle Oracle VM à partir d'un template intégrant OEL et Oracle database 11g. Faisons un petit détour sur une problématique que vous rencontrerez probablement dans votre aventure Oracle VM.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Compte tenu des volumes occupés par les templates et les images de machines virtuelles, vous risquez de vous retrouver très rapidement à court d'espace sur Oracle VM Server (/OVS) si vous avez affecté un disque de votre serveur à Oracle VM Server et avez installé Oracle VM manager sous forme de machine virtuelle sur le même serveur. Il devient donc indispensable d'ajouter de l'espace supplémentaire (par exemple un autre disque) à Oracle VM Server) avant de pouvoir continuer de mener ses tests. Dans la terminologie d'Oracle VM on dit que l'on ajoute un repository supplémentaire à Oracle VM Server.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Nous vous proposons ci-après l'une des solutions les plus simples.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;1°) Partitionner le disque&lt;/span&gt; à utiliser pour le nouveau repository en y créant une seule partition qui occupe tout le disque (appellons-la sdd1) et y installer un système de fichier de type ocfs2.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt; &lt;span style="font-size:85%;"&gt;[root@ovs01 OVM_EL5U3_X86_OVM_MANAGER_PVM]# mkfs.ocfs2 /dev/sdd1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;mkfs.ocfs2 1.2.7&lt;br /&gt;Filesystem label=&lt;br /&gt;Block size=4096 (bits=12)&lt;br /&gt;Cluster size=4096 (bits=12)&lt;br /&gt;Volume size=73344819200 (17906450 clusters) (17906450 blocks)&lt;br /&gt;556 cluster groups (tail covers 4370 clusters, rest cover 32256 clusters)&lt;br /&gt;Journal size=268435456&lt;br /&gt;Initial number of node slots: 4&lt;br /&gt;Creating bitmaps: done&lt;br /&gt;Initializing superblock: done&lt;br /&gt;Writing system files: done&lt;br /&gt;Writing superblock: done&lt;br /&gt;Writing backup superblock: 4 block(s)&lt;br /&gt;Formatting Journals: done&lt;br /&gt;Writing lost+found: done&lt;br /&gt;mkfs.ocfs2 successful&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;2°) Transformer le serveur physique d'Oracle VM Server en un cluster à un nœud&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;i) Créer le fichier /etc/ocfs2/cluster.conf sur Oracle VM Server &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;S'assurer préalablement qu'il n'existe pas déjà.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Sur mon serveur il a fallu créer le répertoire :etc/ocfs2 et le fichier cluster.conf ; les tabulations sont indispensables.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;L'adresse IP indiqué dans le fichier est celle de notre Oracle VM Server.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;# cat /etc/ocfs2/cluster.conf&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;cluster:&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;              node_count = 1&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;            name = ocfs2&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-size:85%;"&gt;node:&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;              ip_port = 7777&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;            ip_address = 192.168.10.100 &lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;            number = 1&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;            name = ovs01&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;            cluster = ocfs2&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;ii) Mettre en ligne le nouveau cluster&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;[root@ovs01 OVM_EL5U3_X86_OVM_MANAGER_PVM]# /etc/init.d/o2cb online ocfs2&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Starting O2CB cluster ocfs2: OK&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;[root@ovs01 OVM_EL5U3_X86_OVM_MANAGER_PVM]#&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;3°) Créer le nouveau repository&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; [root@ovs01 ovs]# /usr/lib/ovs/ovs-makerepo /dev/sdd1 0 "Repo #2 on disk sdd"&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Initializing NEW repository /dev/sdd1&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;SUCCESS: Mounted /OVS/86B221DA65CE4F469C4A39B0777A5A45&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Updating local repository list.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;ovs-makerepo complete&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;4°) Procéder aux vérifications nécessaires&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;[root@ovs01 ~]# cat /etc/ovs/repositories&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;# This configuration file was generated by ovs-makerepo&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;# DO NOT EDIT&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;86B221DA65CE4F469C4A39B0777A5A45 /dev/sdd1&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;[root@ovs01 ~]# df -h&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Filesystem            Size  Used Avail Use% Mounted on&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;/dev/sdc2             3.0G  1.6G  1.2G  58% /&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;/dev/sdc3              65G   46G   19G  72% /OVS&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;/dev/sdc1              99M   36M   58M  39% /boot&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;tmpfs                 293M     0  293M   0% /dev/shm&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;/dev/sdd1              69G   34G   35G  49% /OVS/86B221DA65CE4F469C4A39B0777A5A45&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;[root@ovs01 ~]#&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;Et le tour est joué. Vos soucis de manque d'espace sont momentanément réglés.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19916968-7501506530094818353?l=bkomlan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bkomlan.blogspot.com/feeds/7501506530094818353/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19916968&amp;postID=7501506530094818353' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/7501506530094818353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/7501506530094818353'/><link rel='alternate' type='text/html' href='http://bkomlan.blogspot.com/2009/08/ajout-dun-nouveau-repository-oracle-vm.html' title=''/><author><name>Komlan</name><uri>http://www.blogger.com/profile/13838924023943732608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19916968.post-3609005719363074436</id><published>2009-08-20T13:41:00.000-07:00</published><updated>2009-08-20T13:43:50.103-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Template'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle VM Manager'/><category scheme='http://www.blogger.com/atom/ns#' term='Xen'/><category scheme='http://www.blogger.com/atom/ns#' term='paravirtualisation'/><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;font-size:85%;" &gt;DECOUVERTE ET APPROPRIATION D'ORACLE VM (2E PARTIE)&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;Ce post est consacré à l'installation d'Oracle VM manager sous forme de machine virtuelle sur la machine d'Oracle VM Server.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;L'installation d'Oracle VM Manager sur une machine virtuelle hébergée par Oracle VM Server présente un peu plus de difficultés en ce sens qu'il faut avoir à l'esprit quelques notions et repères importants. La principale difficulté réside en ceci qu'il y a des questions dont les réponses ne sont pas triviales. Pour que vous ne soyez pas obligés d'y consacrer trop de temps, je détaille ci-après mes suggestions. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Quatre ressources documentaires sont  à consulter avant de se lancer : &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;- Oracle VM Manager Template (An Oracle White Paper February 2009)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;http://oss.oracle.com/~wcoekaer/mgrwp.pdf&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;- README (le fichier accompagnant l'archive contenant le template d'Oracle VM Manager)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;- Creating and Using Oracle VM Templates: The Fastest Way to Deploy Any Enterprise Software&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;http://www.oracle.com/technologies/virtualization/docs/ovmtemplateoverview-whitepaper.pdf&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Je suggère d'utiliser le README comme mode opératoire. Il passe en revue les aspects les plus importants de l'installation dont les questions de l'interview de déployement,  les "know issues". Les questions ne sont pas toutes triviales&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Pour SMTP server (Outgoing mail server SMTP hostname), indiquer le nom de machine d'Oracle VM Server. Et pour E-mail Address for account 'admin', fournissez une adresse inexistante du genre admin@knmc.local où "knmc.local" est le nom de domaine fictif que vous allez utiliser pour vos tests de virtualisation.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Pour Orcale VM Server Pool name, indiquer "seed_pool" correspondant au nom d'un sous-répertoire de /OVS, créé lors du déployement d'Oracle VM Manager et prévu pour être le dépôt centralisé des templates/modèles que vous téléchargerez par la suite et importerez dans Oracle VM Manager. Ce choix facilite la gestion et l'importation ultérieures des templates.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Pour Oracle VM Server login user name, indiquer root. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Rappelons que deux comptes OS d'utilisateurs sont créés sur Oracle VM Manager lors de son déployement (voir le README)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Ne pas se laisser abuser par la remarque abrupte suivante du README : &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;"Note that Oracle VM Manager is critical for managing Oracle VM Server Pools. Do not pause, suspend or shutdown this virtual machine! Configuring HA is recommended for this virtual machine so that Oracle VM will automatically restart the Oracle VM Manager virtual machine if there is server crash."&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;i) Il n'est pas question de configurer HA dans votre environnement de tests (trop de pré-requis non satisfaits et de ce fait vous courez au devant de difficultés inutiles).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;ii) Vous ne serez pas obligés de laisser votre serveur allumé pendant des semaines. Il va sans dire qu'en l'éteignant, votre Oracle VM Manager aussi va s'arrêter. Après le re-démarrage de votre serveur physique de tests, il vous est possible de re-démarrer Oracle VM Manager par une séquence de commandes semblable à celle-ci&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;# cd /OVS/running_pool/OVM_EL5U3_X86_OVM_MANAGER_PVM&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;# xm create vm.cfg&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;iii) Pour verifier que Oracle VM Manager est de nouveau opérationnel, exécuter la commande suivante :&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;# xm list&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;La mise en place d'Oracle VM Manager comprend deux phases&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;1°) La phase de déployement&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;2°) La phase de configuration&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;La phase de déployement comporte l'interview de déployement et se termine par les messages suivants : &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;"The Oracle VM manager is deploying, i twill take a few minutes. Please connect to the virtual machine console to make sure Oracle VM Manager is deployed successfully. You can use any VNC viewer from da desktop machine via the command :&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;vncviewer ovs01.knmc.local:5900&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;After Oracle VM Manager has been successfully deployed, access the Oracle VM manager home page at :&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;http://192.168.1.110:8888/OVS (au cas où la connexion sécurisée n'a pas été activée)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;https://192.168.1.110:4443/OVS (au cas où la connexion sécurisée a été activée)"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Pour la phase de configuration, on peut lancer vncviewer directement depuis un terminal d'Oracle VM Server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Pendant cette phase, le package tightvnc-java est installé sur Oracle VM Manager, entre autres. Mais surtout cette phase se termine par le message d'erreur suivant qui ne semble avoir aucun impact négatif sur le fonctionnement d'Oracle VM Manager :&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;"Error : &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;OVM-2007 Master Oracle VM Agent (ovs01.knmc.local) is not active, and the operation cannot be performed&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;OVM-4014 Invalid Object.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Fail to configure Oracle VM Manager.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Please refer to /var/log/ovm-manager-template/reconfigMgr.log for further info.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Do you want to configure Oracle VM Manager again (Y|n) ? "&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Répondre n.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;A la suite de cette réponse, on voit s'afficher le prompt de connexion à Oracle VM Manager&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;"ovmm login :"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;En guise de vérification de bon fonctionnement d'Oracle VM server, nous avons créé manuellement et démarré une machine virtuelle à partir d'un template/modèle. Cependant il n'a pas été possible de s'y connecter à l'aide l'utilitaire xm (commande "xm console &lt;/span&gt;&lt;dom_id&gt;&lt;span style="font-size:85%;"&gt;") à partir d'un terminal d'Oracle VM Server. Rappelons tout de même que notre objectif est d'exploiter les facilités offertes par Oracle VM Manager.&lt;/span&gt;&lt;/dom_id&gt;&lt;br /&gt;&lt;dom_id&gt;&lt;span style="font-size:85%;"&gt;Nous en parlerons dans mon prochain post.&lt;/span&gt;&lt;/dom_id&gt;&lt;br /&gt;&lt;dom_id&gt;&lt;span style="font-size:85%;"&gt;En attendant, quelques suggestions de lecture complémentaire : &lt;/span&gt;&lt;/dom_id&gt;&lt;br /&gt;&lt;dom_id&gt;&lt;span style="font-size:85%;"&gt;- Oracle VM (by Julian Dyke – Independent Consultant) :&lt;/span&gt;&lt;/dom_id&gt;&lt;br /&gt;&lt;dom_id&gt;&lt;span style="font-size:85%;"&gt;http://www.juliandyke.com/Presentations/OracleVM.ppt&lt;/span&gt;&lt;/dom_id&gt;&lt;br /&gt;&lt;dom_id&gt;&lt;span style="font-size:85%;"&gt;- Managing virtual Machines – Oracle VM Manager User's Guide release 2.1 :&lt;/span&gt;&lt;/dom_id&gt;&lt;br /&gt;&lt;dom_id&gt;&lt;span style="font-size:85%;"&gt;http://download.oracle.com/docs/cd/E11081_01/doc/doc.21/e10901/vm.htm&lt;/span&gt;&lt;/dom_id&gt;&lt;br /&gt;&lt;dom_id&gt;&lt;span style="font-size:85%;"&gt;- Oracle VM Templates Readme&lt;/span&gt;&lt;/dom_id&gt;&lt;br /&gt;&lt;dom_id&gt;&lt;span style="font-size:85%;"&gt;http://download.oracle.com/otn_software/virtualization/README.templates&lt;/span&gt;&lt;/dom_id&gt;&lt;br /&gt;&lt;dom_id&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;Dans notre prochain post, nous verrons étape par étape comment installer une machine virtuelle à l'aide d'Oracle VM manager à partir du template OVM_EL5U1_X86_PVM_4GB et d'Oracle Database 11g X86 disk image.&lt;/span&gt;&lt;/dom_id&gt;&lt;br /&gt;&lt;dom_id&gt;&lt;/dom_id&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19916968-3609005719363074436?l=bkomlan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bkomlan.blogspot.com/feeds/3609005719363074436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19916968&amp;postID=3609005719363074436' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/3609005719363074436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/3609005719363074436'/><link rel='alternate' type='text/html' href='http://bkomlan.blogspot.com/2009/08/decouverte-et-appropriation-doracle-vm_20.html' title=''/><author><name>Komlan</name><uri>http://www.blogger.com/profile/13838924023943732608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19916968.post-1743246113679927823</id><published>2009-08-20T12:52:00.000-07:00</published><updated>2009-08-20T12:57:49.725-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OracleVM'/><category scheme='http://www.blogger.com/atom/ns#' term='Xen'/><category scheme='http://www.blogger.com/atom/ns#' term='Virtualisation'/><title type='text'></title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;DECOUVERTE ET APPROPRIATION D'ORACLE VM (1ERE PARTIE)&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Après avoir utilisé pendant plusieurs années les produits de VMware Server 1 et VMware Server 2 pour mes tests de veille techniques (RAC 10 avec OCFS, RAC 10g avec ASM, Dataguard 10g,  RAC 11g avec ASM, Openfiler etc), j'ai fini par me laisser convaincre par les actions et annonces d'Oracle dans le domaine de la virtualisation. C'est pourquoi j'ai décidé de faire d'Oracle VM un sujet de veille technique depuis ce printemps.&lt;br /&gt;&lt;br /&gt;Mon objectif dans les posts que je ferai concernant Oracle VM ne sera pas de vous livrer des procédures complètes. Bien des collègues DBAs le font déjà depuis 2007 et je donnerai quelques adresses d'articles intéressants dans mes posts. Mon objectif sera de fournir des repères, des pistes pour éviter certains pièges et enfin des références d'articles et de ressources qui permettront à ceux qui s'intéressent depuis peu au sujet, de commencer leur exploration sur des bases solides sans perdre du temps et sans s'égarer dans l'immensité d'internet.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;J'ai commencé mon aventure Oracle VM par la lecture de trois articles très intéressants de ArKzoYd, un DBA de chez Oracle qui est passé récemment chez Easyteam.&lt;br /&gt;&lt;br /&gt;- Installer Oracle VM sur votre ordinateur ou votre portable&lt;br /&gt;(http://blog.easyteam.fr/2009/07/12/oraclevm-4-laptop/)&lt;br /&gt;- Installer un serveur X sur le domaine 0 d'OracleVM&lt;br /&gt;(http://blog.easyteam.fr/2009/07/12/oraclevm-vm/&lt;br /&gt;- Créer une machine virtuelle manuellement sur Oracle VM&lt;br /&gt;(http://blog.easyteam.fr/2009/07/12/oraclevm-vm/&lt;br /&gt;&lt;br /&gt;Mon environnement de tests comprend :&lt;br /&gt;- Un serveur Dell PowerEdge 1800 avec deux processeurs Core-duo et 4 Go de RAM équipé de 3 trois disques SCSI de 73 Go et 1 disque SCSI de 300 Go. L'un des trois disques de 73 Go est consacré aux tests d'Orcale VM&lt;br /&gt;- Un poste de travail Dell OpiPlex de 3Go de RAM sous Windows XP et disposant d'un disque dur de 190 Go découpé en trois partitions de 40, 50 et 100 Go. La partition de 100Go étant libre pour les tests.&lt;br /&gt;&lt;br /&gt;Oracle VM est constitué de trois composants :&lt;br /&gt;- Oracle VM Server&lt;br /&gt;- Oracle VM Manager&lt;br /&gt;- Oracle VM Agent&lt;br /&gt;La première chose qui frappe lorsque l'on aborde le sujet d'Oracle VM c'est le fait qu'il faut à priori au moins deux machines pour sa mise en œuvre :&lt;br /&gt;- Une machine dédiée pour Oracle VM Server hébergeant également Oracle VM Agent&lt;br /&gt;- Une machine partagée pour y installer Oracle VM Manager.&lt;br /&gt;Mais très vite Oracle a dû comprendre que cela peut constituer un frein pour beaucoup de DBAs pour des raisons budgétaires ou des raisons de place. D'où leur heureuse initiative de mettre à disposition un template/modèle permettant d'installer Oracle VM Manager sous forme de machine virtualisée sur le serveur d'Oracle VM Server.&lt;br /&gt;&lt;br /&gt;L'installation d'Oracle VM Server ne présente pratiquement aucune difficulté. Cependant je vous suggère de lire préalablement, outre les deux premiers articlés cités ci-dessus et publiés par ArKzoYd,  le white paper de xtravirt intitulé "Installation Guide on How to install Oracle VM server and Manager 2.1.5" (http://xtravirt.com/xd10113 ,un enregistrement est nécessaire pour y accéder)&lt;br /&gt;Autres suggestions :&lt;br /&gt;- Installer un serveur X sur le domaine 0 d'OracleVM en suivant le mode opératoire fourni par ArKzoYd dans son article portant le titre évocateur et ne pas oublier de configurer son clavier azerty (en ajoutant la ligne  [Option "XkbLayout" "fr"] sans les crochets dans le fichier /etc/X11/xorg.conf).&lt;br /&gt;- Installer dans la foulée firefox sur le serveur (yum install firefox)&lt;br /&gt;- Affecter à Oracle VM Server une adresse libre de son réseau local  et déclarer comme gateway par défaut et DNS l'adresse IP de son routeur/box (livebox, freebox ou Neufbox, etc.). Cela facilite énormémemnt les choses par la suite.&lt;br /&gt;A suivre …&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19916968-1743246113679927823?l=bkomlan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bkomlan.blogspot.com/feeds/1743246113679927823/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19916968&amp;postID=1743246113679927823' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/1743246113679927823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/1743246113679927823'/><link rel='alternate' type='text/html' href='http://bkomlan.blogspot.com/2009/08/decouverte-et-appropriation-doracle-vm.html' title=''/><author><name>Komlan</name><uri>http://www.blogger.com/profile/13838924023943732608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19916968.post-2435868765027340210</id><published>2009-08-20T12:42:00.000-07:00</published><updated>2009-08-20T12:47:12.020-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle-validated'/><category scheme='http://www.blogger.com/atom/ns#' term='rpm'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='OEL'/><category scheme='http://www.blogger.com/atom/ns#' term='yum'/><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;"&gt;ORACLE PUBLIC YUM SERVER et ORACLE-VALIDATED RPM&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Lors de mes tests de cet été je suis tombé par hasard sur le serveur yum public qu'Oracle a mis en place afin de faciliter la vie aux personnes qui utilisent souvent sa distribution Unbreakable Linux et qui souhaiteraient pouvoir bénéficier des facilitées de Yum lors des mises à jour de leurs installations OEL même si elles n'ont pas pris d'abonnement de support (assuré par Oracle). En même temps je découvre aussi qu'Oracle a mis en place un package spécial qui aide, lors d'installation d'une distribution OEL ou Redhat pour la mise en place d'une base de données Oracle, à automatiser le téléchargement et l'installation de tous les packages RPM requis y compris les dépendances tout en assurant la configuration des paramètres  du noyau, la création du compte oracle et des groupes dba et oinstall. Le gain de temps devrait donc être appréciable.&lt;br /&gt;Dès lors il est tentant de tester ces deux mécanismes intéressants afin de pouvoir les utiliser sans souci chez les clients.&lt;br /&gt;Mes recherches sur le net ont cependant montré que les articles expliquant la mise en œuvre de ces deux mécanismes – en effet je recommande de les utiliser comme un couple inséparable – font des hypothèses qu'ils n'explicitent pas.&lt;br /&gt;Voilà pourquoi ce n-ième article sur le sujet a pour vocation d'être autosuffisant pour tout utilisateur connaissant un peu Linux (son installation et sa configuration) et surtout pour les DBAs.&lt;br /&gt;Le lecteur pourra consulter avec bénéfice les trois articles suivants que j'ai exploités pour faire mes tests qui ont été concluants :&lt;br /&gt;i) Prepare your Linux Server to install Oracle database using oracle-validated RPM - http://perumal.org/tag/rpm/&lt;br /&gt;ii) Public Yum Server - http://public-yum.oracle.com/&lt;br /&gt;iii) Installing the Oracle Validated rpm on el5  - http://blogs.oracle.com/AlejandroVargas/Installing-the-Oracle-Validated-rpm-on-EL5.pdf&lt;br /&gt;&lt;br /&gt;1) Vérifier si yum est présent sur son installation et si ce n'est pas le cas, il faut commencer par l'installer.&lt;br /&gt;[root@prod yum.repos.d]# rpm -qa | grep yum&lt;br /&gt;yum-security-1.1.16-13.el5&lt;br /&gt;yum-updatesd-0.9-2.el5&lt;br /&gt;yum-3.2.19-18.el5&lt;br /&gt;yum-metadata-parser-1.1.2-2.el5&lt;br /&gt;[root@prod yum.repos.d]# ls -l&lt;br /&gt;total 0&lt;br /&gt;&lt;br /&gt;2) Vérifier si un référentiel Yum est présent sur votre système.&lt;br /&gt;En général ce n'est pas le cas pour les systèmes Oracle Enterprise L'inux. Au cas où un serait présent mais ne correspondrait pas à la version de votre distribution, il faudrait le renommer.&lt;br /&gt;root@prod etc]# cd yum.repos.d&lt;br /&gt;[root@prod yum.repos.d]# ls&lt;br /&gt;[root@prod yum.repos.d]# ls -l&lt;br /&gt;total 0&lt;br /&gt;&lt;br /&gt;3) Télécharger le référentiel Yum correspondant à votre distribution et l'activer&lt;br /&gt;L'activation consiste à l'éditer avec son éditeur préféré et à remplacer "enabled=0" par "enabled=1"&lt;br /&gt;[root@prod yum.repos.d]# wget http://public-yum.oracle.com/public-yum-el5.repo&lt;br /&gt;--19:43:01--  http://public-yum.oracle.com/public-yum-el5.repo&lt;br /&gt;Résolution de public-yum.oracle.com... 141.146.44.34&lt;br /&gt;Connexion vers public-yum.oracle.com|141.146.44.34|:80...connecté.&lt;br /&gt;requête HTTP transmise, en attente de la réponse...200 OK&lt;br /&gt;Longueur: 1402 (1,4K) [text/plain]&lt;br /&gt;Saving to: `public-yum-el5.repo'&lt;br /&gt;&lt;br /&gt;100%[=======================================&gt;] 1.402       --.-K/s   in 0,002s&lt;br /&gt;&lt;br /&gt;19:43:22 (685 KB/s) - « public-yum-el5.repo » sauvegardé [1402/1402]&lt;br /&gt;&lt;br /&gt;[root@prod yum.repos.d]# ls&lt;br /&gt;public-yum-el5.repo&lt;br /&gt;[root@prod yum.repos.d]# vi public-yum-el5.repo&lt;br /&gt;[root@prod yum.repos.d]#&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;4) Télécharger le package oracle-validated correspondant à sa distribution à l'adresse http://oss.oracle.com/el5/oracle-validated et l'installer&lt;br /&gt;Les messages générés lors de mes tests sont fournis ci-dessous.&lt;br /&gt;[root@prod yum.repos.d]# cd /tmp&lt;br /&gt;[root@prod tmp]# wget http://oss.oracle.com/el5/oracle-validated/oracle-validated-1.0.0-18.el5.i386.rpm&lt;br /&gt;[root@prod tmp]# yum install ./oracle-validated-1.0.0-18.el5.i386.rpm&lt;br /&gt;Loaded plugins: security&lt;br /&gt;el5_u3_base                                              | 1.1 kB     00:00   &lt;br /&gt;primary.xml.gz                                           | 788 kB     00:08   &lt;br /&gt;el5_u3_base                                                    3442/3442&lt;br /&gt;Setting up Install Process&lt;br /&gt;Parsing package install arguments&lt;br /&gt;Examining ./oracle-validated-1.0.0-18.el5.i386.rpm: oracle-validated-1.0.0-18.el5.i386&lt;br /&gt;Marking ./oracle-validated-1.0.0-18.el5.i386.rpm to be installed&lt;br /&gt;Resolving Dependencies&lt;br /&gt;--&gt; Running transaction check&lt;br /&gt;---&gt; Package oracle-validated.i386 0:1.0.0-18.el5 set to be updated&lt;br /&gt;--&gt; Processing Dependency: compat-db for package: oracle-validated&lt;br /&gt;--&gt; Processing Dependency: compat-gcc-34 for package: oracle-validated&lt;br /&gt;--&gt; Processing Dependency: compat-gcc-34-c++ for package: oracle-validated&lt;br /&gt;--&gt; Processing Dependency: libXp for package: oracle-validated&lt;br /&gt;--&gt; Processing Dependency: libaio-devel for package: oracle-validated&lt;br /&gt;--&gt; Processing Dependency: sysstat for package: oracle-validated&lt;br /&gt;--&gt; Processing Dependency: unixODBC for package: oracle-validated&lt;br /&gt;--&gt; Processing Dependency: unixODBC-devel for package: oracle-validated&lt;br /&gt;--&gt; Running transaction check&lt;br /&gt;---&gt; Package compat-gcc-34.i386 0:3.4.6-4 set to be updated&lt;br /&gt;---&gt; Package libaio-devel.i386 0:0.3.106-3.2 set to be updated&lt;br /&gt;---&gt; Package compat-db.i386 0:4.2.52-5.1 set to be updated&lt;br /&gt;---&gt; Package unixODBC.i386 0:2.2.11-7.1 set to be updated&lt;br /&gt;---&gt; Package sysstat.i386 0:7.0.2-3.el5 set to be updated&lt;br /&gt;---&gt; Package unixODBC-devel.i386 0:2.2.11-7.1 set to be updated&lt;br /&gt;---&gt; Package libXp.i386 0:1.0.0-8.1.el5 set to be updated&lt;br /&gt;---&gt; Package compat-gcc-34-c++.i386 0:3.4.6-4 set to be updated&lt;br /&gt;--&gt; Finished Dependency Resolution&lt;br /&gt;&lt;br /&gt;Dependencies Resolved&lt;br /&gt;&lt;br /&gt;================================================================================&lt;br /&gt;Package                 Arch       Version             Repository         Size&lt;br /&gt;================================================================================&lt;br /&gt;Installing:&lt;br /&gt;oracle-validated        i386       1.0.0-18.el5        ./oracle-validated-1.0.0-18.el5.i386.rpm&lt;br /&gt;                                                                         15 k&lt;br /&gt;Installing for dependencies:&lt;br /&gt;compat-db               i386       4.2.52-5.1          el5_u3_base       1.7 M&lt;br /&gt;compat-gcc-34           i386       3.4.6-4             el5_u3_base       4.1 M&lt;br /&gt;compat-gcc-34-c++       i386       3.4.6-4             el5_u3_base        11 M&lt;br /&gt;libXp                   i386       1.0.0-8.1.el5       el5_u3_base        22 k&lt;br /&gt;libaio-devel            i386       0.3.106-3.2         el5_u3_base        11 k&lt;br /&gt;sysstat                 i386       7.0.2-3.el5         el5_u3_base       170 k&lt;br /&gt;unixODBC                i386       2.2.11-7.1          el5_u3_base       830 k&lt;br /&gt;unixODBC-devel          i386       2.2.11-7.1          el5_u3_base       743 k&lt;br /&gt;&lt;br /&gt;Transaction Summary&lt;br /&gt;================================================================================&lt;br /&gt;Install      9 Package(s)       &lt;br /&gt;Update       0 Package(s)       &lt;br /&gt;Remove       0 Package(s)       &lt;br /&gt;&lt;br /&gt;Total download size: 19 M&lt;br /&gt;Is this ok [y/N]: y&lt;br /&gt;Downloading Packages:&lt;br /&gt;(1/8): libaio-devel-0.3.106-3.2.i386.rpm                 |  11 kB     00:00   &lt;br /&gt;(2/8): libXp-1.0.0-8.1.el5.i386.rpm                      |  22 kB     00:00   &lt;br /&gt;(3/8): sysstat-7.0.2-3.el5.i386.rpm                      | 170 kB     00:01   &lt;br /&gt;(4/8): unixODBC-devel-2.2.11-7.1.i386.rpm                | 743 kB     00:12&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(5/8): unixODBC-2.2.11-7.1.i386.rpm                      | 830 kB     00:11   &lt;br /&gt;(6/8): compat-db-4.2.52-5.1.i386.rpm                     | 1.7 MB     00:19   &lt;br /&gt;(7/8): compat-gcc-34-3.4.6-4.i386.rpm                    | 4.1 MB     00:47   &lt;br /&gt;(8/8): compat-gcc-34-c++-3.4.6-4.i386.rpm                |  11 MB     02:25   &lt;br /&gt;--------------------------------------------------------------------------------&lt;br /&gt;Total                                            47 kB/s |  19 MB     06:43   &lt;br /&gt;Running rpm_check_debug&lt;br /&gt;Running Transaction Test&lt;br /&gt;Finished Transaction Test&lt;br /&gt;Transaction Test Succeeded&lt;br /&gt;Running Transaction&lt;br /&gt;Installing     : compat-gcc-34                                     [1/9]&lt;br /&gt;Installing     : unixODBC                                          [2/9]&lt;br /&gt;Installing     : compat-gcc-34-c++                                 [3/9]&lt;br /&gt;Installing     : libXp                                             [4/9]&lt;br /&gt;Installing     : compat-db                                         [5/9]&lt;br /&gt;Installing     : sysstat                                           [6/9]&lt;br /&gt;Installing     : unixODBC-devel                                    [7/9]&lt;br /&gt;Installing     : libaio-devel                                      [8/9]&lt;br /&gt;Installing     : oracle-validated                                  [9/9]&lt;br /&gt;&lt;br /&gt;Installed: oracle-validated.i386 0:1.0.0-18.el5&lt;br /&gt;Dependency Installed: compat-db.i386 0:4.2.52-5.1 compat-gcc-34.i386 0:3.4.6-4 compat-gcc-34-c++.i386 0:3.4.6-4 libXp.i386 0:1.0.0-8.1.el5 libaio-devel.i386 0:0.3.106-3.2 sysstat.i386 0:7.0.2-3.el5 unixODBC.i386 0:2.2.11-7.1 unixODBC-devel.i386 0:2.2.11-7.1&lt;br /&gt;Complete!&lt;br /&gt;[root@prod tmp]#&lt;br /&gt;&lt;br /&gt;5) Vérifier la liste des fichiers générés après cette installation de oracle-validated;&lt;br /&gt;Sur mon installation, voici les fichiers et répertoires nouveaux générés. On peut obtenir cette liste par une commande du type "find / -name "*oracle-validated*"&lt;br /&gt;/usr/bin/oracle-validated-verify&lt;br /&gt;/etc/sysconfig/oracle-validated&lt;br /&gt;/etc/sysconfig/oracle-validated/oracle-validated.conf&lt;br /&gt;/etc/sysconfig/oracle-validated/oracle-validated-verify&lt;br /&gt;/etc/sysconfig/oracle-validated/oracle-validated.params&lt;br /&gt;/var/log/oracle-validated&lt;br /&gt;&lt;br /&gt;6) Le contenu du fichier /var/log/oracle-validated/results/orakernel.log&lt;br /&gt;[root@prod results]# cat /var/log/oracle-validated/results/orakernel.log&lt;br /&gt;Creating oracle user passed&lt;br /&gt;&lt;br /&gt;Verifying  kernel parameters as per Oracle recommendations...&lt;br /&gt;fs.file-max             327679&lt;br /&gt;kernel.msgmni           2878&lt;br /&gt;kernel.msgmax   65536   8192&lt;br /&gt;kernel.msgmnb   65536   65536&lt;br /&gt;kernel.sem              250 32000 100 142&lt;br /&gt;kernel.shmmni           4096&lt;br /&gt;kernel.shmall   268435456       1073741824&lt;br /&gt;kernel.shmmax   4294967295      4294967295&lt;br /&gt;kernel.sysrq    0       1&lt;br /&gt;net.core.rmem_default           262144&lt;br /&gt;net.core.rmem_max               4194304&lt;br /&gt;net.core.wmem_default           262144&lt;br /&gt;net.core.wmem_max               262144&lt;br /&gt;fs.aio-max-nr           3145728&lt;br /&gt;net.ipv4.ip_local_port_range            1024 65000&lt;br /&gt;Setting kernel parameters as per oracle recommendations...&lt;br /&gt;Altered file /etc/sysctl.conf&lt;br /&gt;Original file backed up at /etc/sysctl.conf.orabackup&lt;br /&gt;Verifying &amp;amp; setting of kernel parameters passed&lt;br /&gt;&lt;br /&gt;Verifying oracle user OS limits as per Oracle recommendations...&lt;br /&gt;oracle  soft    nofile          131072&lt;br /&gt;oracle  hard    nofile          131072&lt;br /&gt;oracle  soft    nproc           131072&lt;br /&gt;oracle  hard    nproc           131072&lt;br /&gt;oracle  soft    core            unlimited&lt;br /&gt;oracle  hard    core            unlimited&lt;br /&gt;oracle  soft    memlock         3500000&lt;br /&gt;oracle  hard    memlock         3500000&lt;br /&gt;Setting oracle user OS limits as per Oracle recommendations...&lt;br /&gt;Altered file /etc/security/limits.conf&lt;br /&gt;Original file backed up at /etc/security/limits.conf.orabackup&lt;br /&gt;Verifying &amp;amp; setting of user limits passed&lt;br /&gt;&lt;br /&gt;Verifying kernel boot parameters as per Oracle recommendations...&lt;br /&gt;Setting kernel boot parameters as per Oracle recommendations...&lt;br /&gt;Boot parameters will be effected on next reboot&lt;br /&gt;Altered file /boot/grub/grub.conf&lt;br /&gt;Original file backed up at /boot/grub/grub.conf.orabackup&lt;br /&gt;Verifying &amp;amp; setting of boot parameters passed&lt;br /&gt;&lt;br /&gt;Verifying module parameters as per Oracle recommendations...&lt;br /&gt;Setting module parameters as per Oracle recommendations...&lt;br /&gt;Altered file /etc/modprobe.conf&lt;br /&gt;Original file backed up at /etc/modprobe.conf.orabackup&lt;br /&gt;e1000 settings modified to include FlowControl=1&lt;br /&gt;Aug  9 19:57:43 prod yum: Installed: compat-db-4.2.52-5.1.i386&lt;br /&gt;Aug  9 19:57:44 prod yum: Installed: sysstat-7.0.2-3.el5.i386&lt;br /&gt;Aug  9 19:57:45 prod yum: Installed: unixODBC-devel-2.2.11-7.1.i386&lt;br /&gt;Aug  9 19:57:45 prod yum: Installed: libaio-devel-0.3.106-3.2.i386&lt;br /&gt;Aug  9 19:57:54 prod kernel: e1000: eth0: e1000_watchdog_task: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX&lt;br /&gt;Verifying &amp;amp; setting of module parameters passed&lt;br /&gt;&lt;br /&gt;7) Le contenu du fichier /etc/sysconfig/oracle-validated/oracle-validated.params&lt;br /&gt;[root@prod results]# cat /etc/sysconfig/oracle-validated/oracle-validated.params&lt;br /&gt;# Oracle VC Parameter config file&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#Kernel parameters&lt;br /&gt;#category:arch:kernel:distribution:parameter:recommended-value&lt;br /&gt;kernel:*:*:*:fs.file-max:327679&lt;br /&gt;kernel:*:*:*:kernel.msgmni:2878&lt;br /&gt;kernel:*:*:*:kernel.msgmax:8192&lt;br /&gt;kernel:*:*:*:kernel.msgmnb:65536&lt;br /&gt;kernel:*:*:*:kernel.sem:250 32000 100 142&lt;br /&gt;kernel:*:*:*:kernel.shmmni:4096&lt;br /&gt;kernel:*:*:*:kernel.shmall:1073741824&lt;br /&gt;#shmmax value below will be overwritten based on architecture (Recommended:4GB for 32bit and 4TB for 64bit)&lt;br /&gt;kernel:*:*:*:kernel.shmmax:4294967295&lt;br /&gt;kernel:*:*:*:kernel.sysrq:1&lt;br /&gt;kernel:*:*:*:net.core.rmem_default:262144&lt;br /&gt;kernelcomment:For 11g recommended value for net.core.rmem_max is 4194304&lt;br /&gt;kernel:*:*:*:net.core.rmem_max:4194304&lt;br /&gt;kernelcomment:For 10g uncomment the following line, comment other entries for this parameter and re-run sysctl -p&lt;br /&gt;kernelcomment:net.core.rmem_max=2097152&lt;br /&gt;kernel:*:*:*:net.core.wmem_default:262144&lt;br /&gt;kernel:*:*:*:net.core.wmem_max:262144&lt;br /&gt;kernel:*:*:*:fs.aio-max-nr:3145728&lt;br /&gt;kernel:*:*:*:net.ipv4.ip_local_port_range:1024 65000&lt;br /&gt;kernel:*:*:Red Hat Enterprise Linux AS release 4:vm.lower_zone_protection:100&lt;br /&gt;kernel:*:*:Enterprise Linux Enterprise Linux AS release 4:vm.lower_zone_protection:100&lt;br /&gt;&lt;br /&gt;#Oracle OS User limits (domain=oracle/*)&lt;br /&gt;#category:arch:kernel:distribution:type:item:recommended-value&lt;br /&gt;user:*:*:*:soft:nofile:131072&lt;br /&gt;user:*:*:*:hard:nofile:131072&lt;br /&gt;user:*:*:*:soft:nproc:131072&lt;br /&gt;user:*:*:*:hard:nproc:131072&lt;br /&gt;user:*:*:*:soft:core:unlimited&lt;br /&gt;user:*:*:*:hard:core:unlimited&lt;br /&gt;user:i686:*:*:soft:memlock:3500000&lt;br /&gt;user:i686:*:*:hard:memlock:3500000&lt;br /&gt;user:x86_64:*:*:soft:memlock:50000000&lt;br /&gt;user:x86_64:*:*:hard:memlock:50000000&lt;br /&gt;usercomment:i686:Recommended stack hard limit 32MB for oracle installations&lt;br /&gt;usercomment:i686:oracle   hard   stack    32768&lt;br /&gt;&lt;br /&gt;#Kernel boot parameters&lt;br /&gt;#category:arch:processor:kernel:distribution:parameter:recommended-value&lt;br /&gt;boot:x86_64:AMD:*:*:numa:off&lt;br /&gt;&lt;br /&gt;#Kernel module parameters&lt;br /&gt;#listed for reference only&lt;br /&gt;#category:arch:processor:kernel:distribution:parameter:recommended-value&lt;br /&gt;#module:*:*:*:e1000:FlowControl=1&lt;br /&gt;[root@prod results]#&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;8) Nous vous conseillons enfin de procéder à des vérifications manuelles relatives aux packages RPM requis pour Oracle, aux paramètres du noyau Linux et à la création du compte Linux oracle et des groupes dba et oinstall. Le lecteur peut s'appuyer sur l'excellent article du site Oracle-base intitulé "Oracle 11g Release 1 RAC On Linux Using VMware Server 2" consultable à l'adresse http://www.oracle-base.com/articles/11g/OracleDB11gR1RACInstallationOnOEL5UsingVMwareServer2.php,  dans sa partie consacré aux pré-requis.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19916968-2435868765027340210?l=bkomlan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bkomlan.blogspot.com/feeds/2435868765027340210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19916968&amp;postID=2435868765027340210' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/2435868765027340210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/2435868765027340210'/><link rel='alternate' type='text/html' href='http://bkomlan.blogspot.com/2009/08/oracle-public-yum-server-et-oracle.html' title=''/><author><name>Komlan</name><uri>http://www.blogger.com/profile/13838924023943732608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19916968.post-4460473422394833925</id><published>2009-08-10T07:22:00.000-07:00</published><updated>2009-08-10T07:23:33.591-07:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight:bold;"&gt;LIVRES : Techniques de veille et e-réputation (Comment exploiter les outils Internet ?)&lt;/span&gt;&lt;br /&gt;Pour maintenir un très haut niveau de compétence technique dans son domaine, on est obligé de faire de la veille technique et d'être curieux des nouveautés qui apparaissent presque tous les jours dans son domaine de compétence technique et dans les domaines connexes.&lt;br /&gt;Or il est indiscutable que l'on ne peut plus faire une bonne veille technique en ignorant le réseau Internet, réseau par excellence du partage des connaissances et des savoirs un peu dans l'esprit des logiciels libres dont je suis un fervent partisan.&lt;br /&gt;Vous comprendrez alors dans ces conditions que l'on soit heureux lorsque l'on découvre par hasard un livre intéressant portant le titre évocateur "techniques de veille et e-réputation" avec en sous-titre "Comment exploiter les outils Internet ?"&lt;br /&gt;L'auteur est Jean-Noël Anderruthy, un professionnel de l'Internet grand public et d'entreprise depuis plus de 10 ans. Le livre est édité aux éditions Eni et constitue une véritable caverne renfermant de vrais petits trésors du domaine qui nous concerne. On y explique en détails comment maîtriser les flux RSS, les réseaux sociaux (Viadeo, Linked, Facebook, Twitter, etc.). J'y ai découvert un nouveau système de gestion de bookmark en ligne : Diigo (http://www.diigo.com). Je peux vous assurer que quand l'auteur dit que Diigo est le meilleur service de Bookmarking qui existe sur le marché, on peut difficilement le contredire après s'être familiarisé avec cet outil.&lt;br /&gt;Bref nous avons là un bel ouvrage que l'on peut offrir à toute personne intéressée par une maîtrise plus avancée d'Internet. En plus il ne coûte pas cher : environ 21 euros.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19916968-4460473422394833925?l=bkomlan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bkomlan.blogspot.com/feeds/4460473422394833925/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19916968&amp;postID=4460473422394833925' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/4460473422394833925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/4460473422394833925'/><link rel='alternate' type='text/html' href='http://bkomlan.blogspot.com/2009/08/livres-techniques-de-veille-et-e.html' title=''/><author><name>Komlan</name><uri>http://www.blogger.com/profile/13838924023943732608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19916968.post-8539521619519901745</id><published>2009-08-10T07:16:00.000-07:00</published><updated>2009-08-10T07:17:48.279-07:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight:bold;"&gt;LA CERTIFICATION REVISITEE&lt;/span&gt;&lt;br /&gt;Les certifications techniques (Oracle, Microsoft, IBM, etc) constituent l'un des sujets qui font l'objet d'une petite polémique sourde continue sur Internet.&lt;br /&gt;Je ne viens pas relancer ou alimenter cette polémique. Je souhaite partager avec le lecteur un point de vue pragmatique sur le sujet.&lt;br /&gt;Les certifications constituent pour moi une des formes les plus avancées de veille technique. Les périodes de certification Oracle sont des périodes harassantes de travail acharné qui débouchent sur la grande satisfaction du travail bien accompli. Ces périodes sont l'occasion de rédiger des dizaines voire des centaines de pages de compilation et de synthèse de toutes les nouvelles fonctionnalités d'une nouvelle version d'Oracle Database. De ce fait l'obtention de la certification n'est que la conséquence et la reconnaissance de tout ce travail qui est fait en amont.&lt;br /&gt;Ce travail permet d'être à l'aise face à la nouvelle version du produit de l'éditeur (ici il s'agit d'Oracle) et d'aborder la mise en œuvre de telle ou telle fonctionnalité avec sérénité en s'appuyant sur ses propres documents de synthèse ; ce qui vous évite d'avoir à consulter de nombreux documents techniques.&lt;br /&gt;Un autre aspect non négligeable est le fait que beaucoup de clients apprécient d'avoir des consultants qui ont leur certification, symbole de la reconnaissance des compétences du consultant par l'éditeur.&lt;br /&gt;Alors si vous avez hésité jusque-là, n'hésitez plus maintenant. Vous ne serez jamais perdant en préparant sérieusement et en obtenant votre certification technique. Je viens d'obtenir ma troisième certification en cinq ans, la certification OCP Oracle 11g.&lt;br /&gt;Le lecteur intéressé par les certifications Oracle Database peut me contacter. C'est avec beaucoup de plaisir que je partagerai avec lui ma petite expérience dans ce domaine.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19916968-8539521619519901745?l=bkomlan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bkomlan.blogspot.com/feeds/8539521619519901745/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19916968&amp;postID=8539521619519901745' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/8539521619519901745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/8539521619519901745'/><link rel='alternate' type='text/html' href='http://bkomlan.blogspot.com/2009/08/la-certification-revisitee-les_10.html' title=''/><author><name>Komlan</name><uri>http://www.blogger.com/profile/13838924023943732608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19916968.post-4627913898873958378</id><published>2009-08-10T07:15:00.000-07:00</published><updated>2009-08-10T07:16:26.912-07:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight:bold;"&gt;ET SI ON TENTAIT UN COME BACK ?&lt;/span&gt;&lt;br /&gt;Il est assez frustrant de ne pas pouvoir alimenter régulièrement son blog alors que l'on dispose de dizaines d'articles, synthèses et procédures pouvant servir à cette fin.&lt;br /&gt;Deux raisons principales à cet état des choses en ce qui concerne mon blog :&lt;br /&gt;- L'ambition de départ était démesurée. Les articles étaient très longs et exigeaient de ce fait beaucoup de temps pour leur rédaction et leur mise en ligne ;&lt;br /&gt;- Le manque de temps s'expliquant par une veille technique continue dans le cadre des activités professionnelles sans oublier les actions associatives.&lt;br /&gt;Je tente donc un come back prudent dans l'espoir de tenir le coup sur la durée avec des posts moins ambitieux mais beaucoup plus réguliers. Il sera surtout question de mes petites trouvailles sur Internet (articles techniques, outils, etc), d'introductions de mes synthèses de nouvelles fonctionnalités d'Oracle Database et parfois quelques articles complets traitant d'une procédure ou d'un mécanisme très intéressant d'Oracle Database). De petites incursions dans les logiciels libres seront parfois au rendez-vous.&lt;br /&gt;Alors on se motive et on prend son courage à deux mains.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19916968-4627913898873958378?l=bkomlan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bkomlan.blogspot.com/feeds/4627913898873958378/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19916968&amp;postID=4627913898873958378' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/4627913898873958378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/4627913898873958378'/><link rel='alternate' type='text/html' href='http://bkomlan.blogspot.com/2009/08/et-si-on-tentait-un-come-back-il-est.html' title=''/><author><name>Komlan</name><uri>http://www.blogger.com/profile/13838924023943732608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19916968.post-114493213057543642</id><published>2006-04-13T05:37:00.000-07:00</published><updated>2006-04-19T07:07:38.163-07:00</updated><title type='text'></title><content type='html'>&lt;strong&gt;2è PARTIE : GESTION DE L'ESPACE D'ANNULATION SOUS ORACLE9i&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;(SUITE ET FIN)&lt;br /&gt;&lt;/strong&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;III - MODE AUTOMATIQUE DE GESTION DE L'ESPACE D'ANNULATION&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;Une instance Oracle est dite opérationnelle en mode automatique de gestion de l'annulation lorsque l'administrateur utilise la méthode "undo tablespace" de gestion de l'espace d'annulation.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;III-1) Démarrage d'une instance en mode automatique de gestion d'annulation&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Le positionnement du paramètre d'initialisation UNDO_MANAGEMENT à la valeur AUTO fait que la commande STARTUP démarre l'instance en mode automatique de gestion des annulations (en anglais : Automatic Undo Management mode ou en bref AUM).&lt;br /&gt;Un undo tablespace dans lequel Oracle stockera les enregistrements d'annulation doit être disponible.&lt;br /&gt;Quand l'instance démarre, Oracle sélectionne automatiquement le premier undo tablespace disponible. Et s'il n'y en a pas de disponible, l'instance utilise le rollback segment SYSTEM et écrit un message d'alerte dans le fichier d'alertes pour avertir que le système s'exécute sans un undo tablespace. Ceci est fortement déconseillé dans les circonstances normales.&lt;br /&gt;Optionnellement, l'administrateur peut spécifier au démarrage qu'il souhaite que l'instance utilise un undo tablespace spécifique en positionnant le paramètre d'initialisation UNDO_TABLESPACE comme ci-après (ce qui suppose que le undo tablespace spécifié a été préalablement créé, sinon la commande startup échoue) :&lt;br /&gt;UNDO_TABLESPACE = undotbs_01&lt;br /&gt;Dans les versions ultérieures d'Oracle9i, si l'on crée une base de données sans demander la création d'un undo tablespace en même temps (clause UNDO TABLESPACE de la commande CREATE DATABASE), Oracle en crée automatiquement un, appelé SYS_UNDOTBS avec un fichier de données placé dans le répertoire $ORACLE_HOME/dbs et dont le nom est assigné par le système ; sa taille par défaut est de 100Mo.&lt;br /&gt;On peut créer plusieurs undo tablespaces par base de données. Mais un seul peut être actif à un moment donné par instance.&lt;br /&gt;A tout moment, l'administrateur peut basculer dynamique sur un undo tablespace différent en changeant en ligne le paramètre UNDO_TABLESPACE (commande ALTER SYSTEM). Cependant, s'il veut basculer entre les modes d'annulation automatique et manuel, il doit redémarrer la base de données.&lt;br /&gt;On peut effectuer des opérations DDL (create, alter, drop) sur les undo tablespaces ; cependant, on ne peut pas effectuer des opérations DDL sur les undo segments. Toute tentative de ce genre se solde par le message "ORA-30019: Illegal rollback Segment opération in Automatic Undo mode". Pour éviter l'affichage de tels messages, il suffit de mettre le paramètre UNDO_SUPPRESS_ERRORS à TRUE.&lt;br /&gt;Nous récapitulons dans les deux tableaux ci-dessous les principaux paramètres utilisés pour le mode automatique de gestion des annulations et ce qu'il faut en retenir.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;strong&gt;&lt;em&gt;Description des paramètres de gestion automatique d'annulation&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;table border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;PARAMETRE&lt;/td&gt;&lt;td&gt;DESCRIPTION ET COMMENTAIRES&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;UNDO_MANAGEMENT&lt;/td&gt;&lt;td&gt;Détermine si la gestion automatique des annulations (AUM) est activée dans la base de données. La valeur AUTO active l'AUM et la valeur MANUAL le désactive.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;UNDO_RETENTION&lt;/td&gt;&lt;td&gt;Définit la longueur minimale de temps pendant lequel Oracle retient les données d'annulation après leur génération et après l'achèvement de la transaction les ayant générées. Oracle fait le meilleur effort pour retenir les données d'annulation pendant le temps demandé mais il n'y a aucune garantie.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;UNDO_SUPPRESS_ERRORS&lt;/td&gt;&lt;td&gt;Permet de contrôler l'affichage de messages d'erreurs qui résulte de certaines commandes SQL quand la base de données est en mode automatique de gestion des annulations. Il faut être prudent lorsque l'on met ce paramètre à TRUE dans la mesure où il supprime tout message d'erreur émis lors de tentatives d'opérations manuelles quand on est en mode automatique.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;UNDO_TABLESPACE&lt;/td&gt;&lt;td&gt;Définit un ou plusieurs undo tablespaces qui seraient utilisés par Oracle pour la gestion automatique des annulations. Si ce paramètre est positionné et UNDO_MANAGEMENT est mis à AUTO quand on exécute la commande "CREATE DATABASE", alors on doit inclure tous les tablespaces listés dans ce paramètre dans la commande "CREATE DATABASE" ; sinon cette dernière échoue. On peut lister plusieurs tablespaces pour ce paramètre mais seul le dernier tablespace listé sera utilisé (Oracle ne permet l'utilisation que d'un undo tablespace à un moment donné).&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;strong&gt;&lt;em&gt;Spécificités des paramètres de gestion automatique d'annulation&lt;br /&gt;&lt;/em&gt;&lt;/strong&gt;&lt;table border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;PARAMETRE&lt;/td&gt;&lt;td&gt;VALEUR PAR DEFAUT&lt;/td&gt;&lt;td&gt;VALEURS VALIDES&lt;/td&gt;&lt;td&gt;DYNAMIQUE ?&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;UNDO_MANAGEMENT&lt;/td&gt;&lt;td&gt;MANUAL&lt;/td&gt;&lt;td&gt;AUTO, MANUAL&lt;/td&gt;&lt;td&gt;NON&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;UNDO_RETENTION&lt;/td&gt;&lt;td&gt;900 secondes&lt;/td&gt;&lt;td&gt;0 à la valeur maximale autorisée par 32 bits&lt;/td&gt;&lt;td&gt;OUI (immediat pour le système)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;UNDO_SUPPRESS_ERRORS&lt;/td&gt;&lt;td&gt;TRUE&lt;/td&gt;&lt;td&gt;TRUE, FALSE&lt;/td&gt;&lt;td&gt;Immediat pour le système ; autorisé pour la session&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;UNDO_TABLESPACE&lt;/td&gt;&lt;td&gt;On peut utiliser ce paramètre pour spécifier le nom du undo tablespace à utiliser par l'instance. Si ce paramètre n'est pas spécifié, alors Oracle choisira le premier undo tablespace disponible sys_undotbs, ou le rollback segment system si aucun aucun undo tablespace n'est disponible.&lt;/td&gt;&lt;td&gt;Nom de undo tablespace valide. Plusieurs undo tablespaces ne sont pas supportés bien qu'Oracle ne génère pas une erreur.&lt;/td&gt;&lt;td&gt;Immediat pour le système&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;III-2) Informations relatives aux undo segments&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;table border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;VUE/TABLE&lt;/td&gt;&lt;td&gt;DESCRIPTION&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;DBA_SEGMENTS&lt;/td&gt;&lt;td&gt;Vue stockant les informations relatives aux segments créés dans la base de données : leur taille, tablespace, type, paramètres de stockage, etc.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;DBA_ROLLBACK_SEGS&lt;/td&gt;&lt;td&gt;Vue stockant des informations relatives à tous les segments d'annulation : leur status, nom de tablespace, tailles, etc.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;V$ROLLNAME&lt;/td&gt;&lt;td&gt;Vue stockant les numéros et noms de tous les segments d'annulation en ligne.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;V$ROLLSTAT&lt;/td&gt;&lt;td&gt;Vue contenant les statistiques relatives aux annulations : taille de segment, valeur OPTIMAL, nombre de "morceaux depuis le démarrage de l'instance, nombre de transactions actives, extents, status, etc.&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;V$UNDOSTAT&lt;/td&gt;&lt;td&gt;Vue collectant des "photographies/instantanés" qui reflètent la performance du tablespace d'annulation comme aide à l'ajustement de sa taille pour supporter les exigences de charge du système qui évolue.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Quelques exemples de requêtes&lt;/strong&gt;&lt;br /&gt;- Les segments d’annulation de la base de données&lt;br /&gt;SQL&gt; select segment_name, owner, tablespace_name, status from dba_rollback_segs ;&lt;br /&gt;- Statistiques sur les segments d’annulation actuellement utilisés&lt;br /&gt;SQL&gt; select n.name, s.extents, s.rssize, s.hwmsize, s.xacts, s.status frm v$rollname n, v$rollstat s&lt;br /&gt;where n.usn = s.usn ;&lt;br /&gt;- Vérification que les transactions en cours utilisent un segment d’annulation&lt;br /&gt;SQL&gt; select s.username, t.xidusn, t.ubafil, t.ubablk, t.used_ublk from v$session s, v$transaction t&lt;br /&gt;Where s.saddr = t.ses_addr ;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;IV - BIBLIOGRAPHIE&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;1) Oracle9i DBA Fundamentals I – par BijuThomas et Bob Bryla – Chez Sybex ,Alameda (USA) 452 pages.&lt;br /&gt;2) Support de cours – par R. MISSINHOUN – Vauréal 2004.&lt;br /&gt;3) Automatic Undo Management (AUM) – &lt;/span&gt;&lt;a href="http://www.orafaq.com/node/73"&gt;&lt;span style="font-size:78%;"&gt;http://www.orafaq.com/node/73&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;4) Talking tuning : Tuning Undo Tablespace – By Kimberly Floss – http://www.oracle.com/technology/oramag/05-jul/o45tuning.html.&lt;br /&gt;5) Managing Undo Space – Oracle9i Database reference – http://www.lc.leidenuniv.nl/awcourse/oracle/server.920/a9651/undo.htm&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19916968-114493213057543642?l=bkomlan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bkomlan.blogspot.com/feeds/114493213057543642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19916968&amp;postID=114493213057543642' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/114493213057543642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/114493213057543642'/><link rel='alternate' type='text/html' href='http://bkomlan.blogspot.com/2006/04/2-partie-gestion-de-lespace.html' title=''/><author><name>Komlan</name><uri>http://www.blogger.com/profile/13838924023943732608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19916968.post-114492437014117333</id><published>2006-04-13T03:23:00.000-07:00</published><updated>2006-04-13T05:33:18.176-07:00</updated><title type='text'></title><content type='html'>&lt;div align="justify"&gt;&lt;strong&gt;1ère PARTIE : GESTION DE L'ESPACE D'ANNULATION SOUS ORACLE9I&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;I – INTRODUCTION ET GENERALITES&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Jusqu'à la version 8i de son produit phare (la base de données Oracle) l'éditeur Oracle n'offre qu'un seul mode de gestion de l'espace d'annulation. Il s'agit du mode manuel. Dans ce mode, l'administrateur doit :&lt;br /&gt;- Créer et gérer un nombre optimal de segments d'annulation (en anglais rollback segments ; c'est la terminologie utilisée dans le mode manuel de gestion de l'espace d'annulation) ;&lt;br /&gt;- Assigner les transactions "volumineuses/longues", s'il en existe dans son environnement, à un ensemble particulier de segments d'annulation. Ceci suppose d'avoir préalablement procéder à une estimation, à défaut d'une mesure exacte, de la longueur de la transaction la plus longue devant s'exécuter dans la base de données ;&lt;br /&gt;- Mettre des segments additionnels en ligne en fonction des changements des demandes des processus de traitement ;&lt;br /&gt;- Effectuer une multitude de tâches de gestion liées aux segments d'annulation.&lt;br /&gt;Les administrateurs savent que cette série de tâches est coûteuse en termes de temps (c'est-à-dire chronophage). L'éditeur Oracle aussi.&lt;br /&gt;C'est pourquoi ce dernier a mis en place, à partir de la version Oracle9i, un deuxième mode, le mode automatique de gestion de l'espace d'annulation. Il s'agit d'un mode qui facilite relativement bien la vie aux administrateurs comparativement au mode manuel. Cependant ce dernier reste utilisable pour des raisons de compatibilité arrière.&lt;br /&gt;Dans la terminologie Oracle9i, les segments d'annulation s'appellent "undo segments".&lt;br /&gt;Contrairement aux "rollback segments", l'administrateur ne crée plus et ne gère plus des undo segments individuels. La base de données Oracle le fait pour l'administrateur lorsque ce dernier crée le tablespace d'annulation (undo tablespace dans la terminologie Oracle9i). Toutes les transactions dans une instance partagent un seul undo tablespace. Toute transaction qui s'exécute peut consommer de l'espace libre dans le undo tablespace et une fois la transaction finie, son espace d'annulation est libéré. C'est dire que l'espace pour les undo segments est dynamiquement alloué, consommé, libéré et réutilisé sous le contrôle de la base de données Oracle (et non plus sous le contrôle de l'administrateur comme c'est le cas en mode manuel).&lt;br /&gt;Le présent article est destiné à faire le point sur les deux modes, en les mettant en perspective et aussi à montrer comment on peut faire le passage du mode manuel au mode automatique sur une base Oracle9i.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;II - MODE MANUEL DE GESTION DE L'ESPACE D'ANNULATION&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Une instance Oracle est dite opérationnelle en mode manuel de gestion de l'annulation lorsque l'administrateur utilise la méthode "rollback segment" de gestion de l'espace d'annulation.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;II-1) Démarrage d'une instance en mode manuel de gestion d'annulation&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Le positionnement du paramètre d'initialisation UNDO_MANAGEMENT à la valeur MANUAL fait que la commande STARTUP démarre l'instance en mode manuel de gestion des annulations (en anglais : manual undo management mode).&lt;br /&gt;Si le paramètre d'initialisation UNDO_MANAGEMENT n'est pas spécifié, l'instance démarre en mode manuel de gestion des annulations.&lt;br /&gt;Quand l'instance démarre, elle met un certain nombre de rollback segments en ligne tel que déterminés par :&lt;br /&gt;- le paramètre d'initialisation ROLLBACK_SEGMENTS ;&lt;br /&gt;- les paramètres d'initialisation TRANSACTIONS et TRANSACTIONS_PER_ROLLBACK_SEGMENT.&lt;br /&gt;Le tableau ci-dessous décrit brièvement ces paramètres. &lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;span style="font-size:78%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:78%;"&gt;&lt;/p&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;table border="1"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;PARAMETRE D'INITIALISATION&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;DESCRIPTION&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ROLLBACK_SEGMENTS&lt;/td&gt;&lt;td&gt;Spécifie les rollback segments à "acquérir" au démarrage de l'instance&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;TRANSACTIONS&lt;/td&gt;&lt;td&gt;Spécifie le nombre maximal de transactions concurrentes&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;TRANSACTIONS_PER_ROLLBACK_SEGMENT&lt;/td&gt;&lt;td&gt;Spécifie le nombre de transactions concurrentes que chaque rollback segment espère "supporter".&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;MAX_ROLLBACK_SEGMENTS&lt;/td&gt;&lt;td&gt;Spécifie le nombre maximal de rollback segments qui peuvent être en ligne pour une instance.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;II-2) Détermination du nombre et des tailles des rollback segments&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Un ou plusieurs tablespaces peuvent être créés pour les rollback segments. Et ces derniers sont créés manuellement dans ces tablespaces par l'administrateur qui doit préalablement calculer/estimer leur nombre et tailles.&lt;br /&gt;La taille d'un rollback segment est déterminée par les valeurs du paramètre de stockage du rollback segment (Voir plus loin les commandes "CREATE ROLLBACK SEGMENT" et "ALTER ROLLBACK SEGMENT"). Cette taille peut affecter les performances de la base de données Oracle.&lt;br /&gt;Pour le nombre de rollback segments, Oracle fournit les recommandations générales que nous reproduisons dans le tableau ci-dessous.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;div align="justify"&gt;&lt;table border="1"&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-size:78%;"&gt;Nombre de transactions concurrentes (N)&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:78%;"&gt;Nombre de rollback segments recommandés&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-size:78%;"&gt;N inférieur à 16 &lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:78%;"&gt;4 &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-size:78%;"&gt;16 inf. ou égal à N et N inf. à 32 &lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:78%;"&gt;8 &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-size:78%;"&gt;32 inf. ou égal à N &lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:78%;"&gt;N/4 &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;En ce qui concerne les tailles, Oracle donne les règles qui suivent :&lt;br /&gt;- Assigner de grands rollback segments aux transactions qui modifient des données pendant que ces dernières sont sélectionnées (commande SQL select) par des requêtes longues qui en général requièrent l'accès à des rollback segments pour reconstruire une version consistante (en lecture) des données modifiées.&lt;br /&gt;- Assigner de grands rollback segments aux transactions qui modifient de grandes quantités de données et qui du coup, génèrent beaucoup d'entrées volumineuses d'annulation, à des fins d'amélioration des performances de telles transactions.&lt;br /&gt;- Assigner les transactions OLTP (Online Transaction Processing) à de petits rollback segments qui ont une probabilité plus forte de rester stockés dans le cache de tampon où ils peuvent être accédés rapidement. Un rollback segment typique OLTP doit avoir deux extents et une taille de 10 Ko environ. La meilleure façon d'éviter les contentions, c'est de créer beaucoup de rollback segments et d'assigner chaque transaction à sa propre rollback segment.&lt;br /&gt;- Utiliser la commande SET TRANSACTION pour assigner des transactions aux rollback segments appropriés comme ci-après :&lt;br /&gt;SET TRANSACTION USE ROLLBACK SEGMENT rbs_oltp13&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;II-3) Types et règles de fonctionnement des rollback segments&lt;br /&gt;&lt;/strong&gt;&lt;span style="font-size:78%;"&gt;Une transaction ne peut utiliser qu'un seul rollback segment pour stocker des enregistrements de rollback. En revanche, plusieurs transactions peuvent écrire dans un même rollback segment.&lt;br /&gt;Oracle distingue les rollback segments SYSTEM et non-SYSTEM.&lt;br /&gt;Les modifications apportées aux objets du tablespace SYSTEM sont stockées dans le rollback segment SYSTEM qui est créé automatiquement lors de la création de la base de données.&lt;br /&gt;Une base de données qui contient des tablespaces non-SYSTEM nécessite au moins deux rollback segments non-SYSTEM.&lt;br /&gt;Les rollback segments non-SYSTEM peuvent être privés, publics ou en état différé.&lt;br /&gt;Par défaut, tous les rollback segments créés sont privés, ce qui signifie que seule l'instance courante y a accès.&lt;br /&gt;Un rollback segment privé n'est disponible que pour une seule instance et pour tous les utilisateurs de l'instance. Il est automatiquement acquis par l'instance Oracle s'il est spécifié au travers du paramètre d'initialisation ROLLBACK_SEGMENTS. Mais il peut également être acquis manuellement lorsque l'administrateur exécute la commande "ALTER ROLLBACK SEGMENT &lt;nom_rbs&gt;ONLINE ;"&lt;br /&gt;Un rollback segment public est disponible pour toute instance d'un environnement Real Application Cluster par exemple. Mais un tel rollback segment ne peut être utilisé que par une instance Oracle à la fois. Il est créé dans la base de données à l'aide de la commande "CREATE PUBLIC ROLLBACK SEGMENT".&lt;br /&gt;Oracle détermine le nombre rollback publics à accéder en se basant sur les paramètres d'initialisation TRANSACTIONS et TRANSACTIONS_PER_ROLLBACK_SEGMENT.&lt;br /&gt;Les rollback segments en état différé sont automatiquement créés lorsqu'un utilisateur annule une transaction qui a modifié des données dans un tablespace qui est actuellement hors ligne (offline). Lorsque le tablespace est mis en ligne (online), les entrées de rollback sont utilisées pour restaurer les anciennes valeurs de lignes et le rollback en état différé utilisé est supprimé.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;II-4) Création et modification des rollback segments&lt;br /&gt;&lt;/strong&gt;&lt;em&gt;Création d'un rollback segment&lt;/em&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;La syntaxe de base de la commande "CREATE ROLLBACK" pour la création d'un rollback segment est :&lt;br /&gt;CREATE [PUBLIC] ROLLBACK SEGMENT &lt;nom&gt;&lt;br /&gt;STORAGE(INITIAL &lt;entier&gt;[KM]&lt;br /&gt;NEXT &lt;entier&gt;[KM]&lt;br /&gt;MINEXTENTS &lt;entier&gt;&lt;br /&gt;MAXEXTENTS &lt;entier&gt;&lt;br /&gt;OPTIMAL &lt;entier&gt;[KM])&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:78%;"&gt;Les paramètres et options de la commande sont synthétisés dans le tableau ci-dessous.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;table border="1"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;PARAMETRE&lt;br /&gt;&lt;/td&gt;&lt;td&gt;COMMENTAIRES&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;INITIAL&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Oracle recommande que INITIAL=NEXT afin que les extents soient toujours de même taille ; le paramètre PCTINCREASE ne pouvant être spécifié, il vaut toujours 0.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;NEXT&lt;br /&gt;&lt;/td&gt;&lt;td&gt;-&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;MINEXTENTS&lt;/td&gt;&lt;td&gt;Ne peut avoir une valeur inférieure à 2 pour les rollback segments.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;MAXEXTENTS&lt;/td&gt;&lt;td&gt;Oracle recommande d'éviter d'attribuer la valeur UNLIMITED à ce paramètre car cela pourrait provoquer une extension inutile d'un rollback segment et même de fichiers de données à la suite d'une erreur de programme.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;OPTIMAL&lt;/td&gt;&lt;td&gt;Est utilisé pour spécifier la taille à laquelle un rollback segment se rétrécira après s'être étendu automatiquement. Définir la valeur de ce paramètre en fonction de l'espace nécessaire pour une transaction moyenne. Si l'on ne dispose pas des informations nécessaires, indiquer une valeur correspondant à la taille initiale (MINEXTENTS * EXTENT_SIZE). C'est la valeur minimale recommandée.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Quand on crée un rollback segment, il est initialement hors ligne (offline en anglais) et non disponible pour les transactions. Mais il peut être mis dynamiquement en ligne (voir la commande ALTER ROLLBACK SEGMENT" ci-dessous).&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;em&gt;Modification d'un rollback segment&lt;br /&gt;&lt;/em&gt;&lt;span style="font-size:78%;"&gt;La syntaxe complète de modification d'un rollback segment se présente comme indiqué ci-dessous :&lt;br /&gt;ALTER ROLLBACK SEGMENT &lt;nom_rbs&gt;&lt;br /&gt;{ONLINE OFFLINE&lt;br /&gt;STORAGE(NEXT &lt;entier&gt;MAXEXTENTS &lt;entier&gt;OPTIMAL &lt;entier&gt;)&lt;br /&gt;SHRINK [TO &lt;entier&gt;[KM]]&lt;br /&gt;La nature d'un rollback segment, public ou privé ne peut être modifié par la suite. La solution consiste à le supprimer et à le recréer.&lt;br /&gt;L'option SHRINK permet au rollback segment de se rétrécir à la taille spécifiée ou à la valeur à laquelle le paramètre OPTIMAL a été positionné. Toutefois le rétrécissement s'arrête si un extent ne peut pas être libéré parce qu'il est actif.&lt;br /&gt;Lors de la mise hors ligne d'un rollback segment, si des transactions l'utilisent encore, l'état du rollback segment passe à "PENDING OFFLINE" et est consultable dans la vue de performance dynamique V$ROLLSTAT. Une fois les transactions terminées, le rollback segment est mis hors ligne.&lt;br /&gt;La suppression d'un rollback segment se fait à l'aide de la commande&lt;br /&gt;DROP ROLLBACK SEGMENT &lt;nom_rbs&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;II-5) Informations et statistiques relatives aux rollback segments&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Les informations générales sur les rollback segments sont stockées dans la vue DBA_ROLLBACK_SEGS. On y trouve, entre autres, des informations d'identification, d'emplacement, le type et l'état des rollback segments.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:78%;"&gt;&lt;div align="justify"&gt;&lt;br /&gt;Les statistiques sont stockées dans la vue de performance dynamique V$ROLLSTAT. On y trouve entre autres, le numéro de rollback segment (colonne USN), la taille actuelle (colonne RSSIZE), le nombre de transactions utilisant le rollback segment (colonne XACTS), la valeur OPTIMAL du segment (colonne OPTSIZE) et l'état du rollback segment (colonne STATUS). On fait souvent une jointure entre cette vue et V$ROLLNAME afin d'avoir les noms de rollback segment dans les requêtes.&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;On détermine souvent l'activité courante des rollback segments en identifiant les sessions qui les utilisent à l'aide d'une requête qui fait recours aux vues V$SESSION, V$TRANSACTION et V$ROLLNAME et est similaire à celle qui suit :&lt;br /&gt;SQL&gt; select s.username, r.name, t.used_ublk "nbre rb blocs generes"&lt;br /&gt;2 from v$session s, v$rollname r, v$transaction t&lt;br /&gt;3 where s.saddr = t.ses_addr&lt;br /&gt;4 and t.xidusn = r.usn ;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;[A SUIVRE ...]&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19916968-114492437014117333?l=bkomlan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bkomlan.blogspot.com/feeds/114492437014117333/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19916968&amp;postID=114492437014117333' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/114492437014117333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/114492437014117333'/><link rel='alternate' type='text/html' href='http://bkomlan.blogspot.com/2006/04/1re-partie-gestion-de-lespace.html' title=''/><author><name>Komlan</name><uri>http://www.blogger.com/profile/13838924023943732608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19916968.post-114295657615180008</id><published>2006-03-21T06:41:00.000-08:00</published><updated>2006-03-21T07:56:17.283-08:00</updated><title type='text'></title><content type='html'>&lt;div align="justify"&gt;&lt;strong&gt;LES DBLINK ORACLE : DESCRIPTION, CONFIGURATION ET UTILISATION (2ème PARTIE)&lt;/strong&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:78%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;II - CREATION DES DBLINKS&lt;/strong&gt;&lt;/span&gt; &lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Les privilèges nécessaires&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;Pour créer un dblink, l'utilisateur doit disposer de privilèges appropriés que nous récapitulons dans le tableau ci-dessous.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;table border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Privilège&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Base de données&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Requis pour&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;CREATE DATABASE LINK&lt;/td&gt;&lt;td&gt;locale&lt;/td&gt;&lt;td&gt;La création d'un dblink privé&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;CREATE PUBLIC DATABASE LINK&lt;/td&gt;&lt;td&gt;locale&lt;/td&gt;&lt;td&gt;La création d'un dblink public&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;CREATE SESSION&lt;/td&gt;&lt;td&gt;distante&lt;/td&gt;&lt;td&gt;La création de tous types de dblink&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;br /&gt;La requête qui suit permet à l'utilisateur de connaître les privilèges relatifs à la création des dblinks et disponibles pour l'utilisateur courant :&lt;br /&gt;SQL&gt; select distinct privilege "privileges de dblink" from role_sys_privs&lt;br /&gt;SQL&gt; where upper(privilege) in ('create session','create database link', 'create public database link') ;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Spécification des utilisateurs du dblink lors de la création&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;Un dblink définit toujours un chemin de communication depuis une base de données jusqu'à une autre. Quand une application utilise un dblink pour accéder à une base de données distante, Oracle établit une session de base de données dans la base distante au nom de la requête applicative locale.&lt;br /&gt;La spécification d'utilisateur du dblink lors de la création répond à la question de savoir en tant que quel utilisateur Oracle l'utilisateur du dblink sera reconnu dans la base de données distante.&lt;br /&gt;Trois possibilités s'offrent au créateur du dblink :&lt;br /&gt;- indiquer que l'on souhaite se connecter à la base distante sous le même nom d'utilisateur Oracle que celui qui est déjà en cours dans la base locale. C'est ce que les anglais appellent "Current User database link". Cela se fait l'aide de l'option "CONNECT TO CURRENT_USER".&lt;br /&gt;- indiquer de façon explicite le nom de l'utilisateur Oracle sous lequel on souhaite se connecter à la base distante. Ce nom est en général différent de celui déjà en cours dans la base de données locale. C'est ce que les anglais appellent "Fixed User Database Link".Cela se fait à l'aide de l'option "CONNECT TO &lt;nom&gt;IDENTIFIED BY &lt;mot&gt;"&lt;br /&gt;- ne pas inclure les éléments d'identification et d'authentification d'utilisateur (ce que les anglais appellent les "credentials") dans la définition du dblink de sorte que ceux (les credentials) effectivement utilisés pour se connecter à la base distante puissent changer en fonction de l'utilisateur qui référence le dblink et de l'opération effectuée par l'application. Les anglais appellent cette possibilité "Connected User Database Link". Elle se met en œuvre en omettant la clause "CONNECT TO" avec la syntaxe suivante :&lt;br /&gt;SQL&gt; CREATE [SHARED] [PUBLIC] DATABASE LINK &lt;nom&gt;USING '&lt;nom&gt;' ;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Méthode de travail dans la définition d'un dblink&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;div align="justify"&gt;&lt;em&gt;&lt;strong&gt;Hypothèses de travail :&lt;br /&gt;&lt;/strong&gt;&lt;/em&gt;- Base locale : pagenetdb1&lt;br /&gt;- Base distante : pagenetdb2 avec nom global : db2.world&lt;br /&gt;- Alias (nom de service réseau) de la base distante dans le tnsnames.ora du poste local : my_db2.world&lt;br /&gt;Travail à faire : en utilisant pagenetdb1 comme database locale et pagenetdb2 comme database distance, créer et utiliser un dblink opérationnel.&lt;br /&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;em&gt;&lt;strong&gt;Etapes de travail&lt;br /&gt;&lt;/strong&gt;&lt;/em&gt;1) Créer sur la base de données distante un utilisateur Oracle et lui attribuer les privilèges nécessaires. Appelons-le dbluser et attribuons lui le mot de passe pwdblu.&lt;br /&gt;SQL&gt; create user dbluser identified by pwdblu ;&lt;br /&gt;SQL&gt; grant dba to dbluser ;&lt;br /&gt;SQL&gt; grant unlimited tablespace to dbluser ;&lt;br /&gt;SQL&gt; alter user dbluser identified by pwdblu default tablespace userdata ;&lt;br /&gt;SQL&gt; alter user dbluser quota unlimited on USERDATA ;&lt;br /&gt;SQL&gt; connect dbluser/ pwdblu&lt;br /&gt;2) Une fois connecté à la base distante, interroger la vue global_name pour trouver la valeur de global_name et faire "show parameter global" pour vérifier si global_names est positionné à TRUE.&lt;br /&gt;SQL&gt; connect dbluser&lt;br /&gt;Password :&lt;br /&gt;Connected.&lt;br /&gt;SQL&gt; select * from global_name ;&lt;br /&gt;GLOBAL_NAME&lt;br /&gt;-------------------------------------------------------------&lt;br /&gt;db2.world&lt;br /&gt;3) Sur la machine hébergeant la base de données locale, trouver le fichier tnsnames.ora qui devrait nous montrer les noms de service réseau (alias) des bases de données. Pour pagenetdb2, on devrait voir que l'alias est "my_db2.world".&lt;br /&gt;4) Créer le dblink avec le même nom que celui de la base de données distante en s'assurant que l'on utilise le bon alias indiqué dans le fichier tnsnames.ora.&lt;br /&gt;SQL&gt; CREATE [PUBLIC] DATABASE LINK db2 CONNECT TO dbluser identified by pwdblu USING ' my_db2.world' ;&lt;br /&gt;5) Exécuter une requête à travers le dblink sur la base db2 (à partir de la database db1) pour s'assurer que la création a eu lieu avec succès et que le nouveau lien est bien opérationel&lt;br /&gt;SQL&gt; select * from global_name@db2 ;&lt;br /&gt;Il est à remarquer que si l'utilisateur décide d'appeler le dblink en cours de création dbl2db2 comme dans la commande SQL "CREATE [PUBLIC] DATABASE LINK dbl2db2 CONNECT TO dbluser identified by pwdblu USING ' my_db2.world' ;" et qu'il lance la requête ci-dessus il va obtenir le message d'erreur suivant :&lt;br /&gt;ORA-02085: database link dbl2db2.world connects to db2.world&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;III - VISUALISATION DES INFORMATIONS RELATIVES AUX DBLINK&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Informations relatives aux dblinks définis dans la database locale&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;Ces informations sont stockées dans le dictionnaire de données et peuvent être récupérées en interrogeant les vues DBA_DB_LINKS, ALL_DB_LINKS et USER_DB_LINKS. Nous les synthétisons dans le tableau ci-dessous.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;table border="1"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Colonne&lt;/td&gt;&lt;td&gt;Quelles vues ?&lt;/td&gt;&lt;td&gt;Description&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;OWNER&lt;/td&gt;&lt;td&gt;Toutes sauf USER_*&lt;/td&gt;&lt;td&gt;L'utilisateur ayant créé le dblink. Si le lien est public, PUBLIC est indiqué.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;DB_LINK&lt;/td&gt;&lt;td&gt;Toutes&lt;/td&gt;&lt;td&gt;Le nom du dblink&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;USERNAME&lt;/td&gt;&lt;td&gt;Toutes&lt;/td&gt;&lt;td&gt;Si la définition du lien contient un utilisateur fixé (fixed user), alors cette colonne affiche le nom d'utilisateur du "fixed user", sinon cette colonne affice NULL.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;PASSWORD&lt;/td&gt;&lt;td&gt;Seules USER_*&lt;/td&gt;&lt;td&gt;Le mot de passe pour se loguer à la database distante.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;HOST&lt;/td&gt;&lt;td&gt;Toutes&lt;/td&gt;&lt;td&gt;Le nom de service réseau utilisé pour se connecter à la database distante.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;CREATED&lt;/td&gt;&lt;td&gt;Toutes&lt;/td&gt;&lt;td&gt;Date de création du dblink&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Informations relatives aux connexions dblinks qui sont ouvertes&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;La vue v$dblink liste tous les dblinks ouverts dans la session de l'utilisateur, c'est-à-dire tous les dblinks avec la colonne IN_TRANSACTION positionnée à YES. En environnement RAC, il existe aussi la vue gv$dblink.&lt;br /&gt;La table ci-dessous décrit brièvement le contenu de ces vues.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;table border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Colonne&lt;/td&gt;&lt;td&gt;Description&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;DB_LINK&lt;/td&gt;&lt;td&gt;Le nom du dblink&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;OWNER_ID&lt;/td&gt;&lt;td&gt;Le propriétaire du dblink&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;LOGGED_ON&lt;/td&gt;&lt;td&gt;Indique si une connexion est en cours sur le dblink&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;HETEROGENEOUS&lt;/td&gt;&lt;td&gt;Indique si le dblink est homohène (NO) ou hétérogène (YES).&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;PROTOCOL&lt;/td&gt;&lt;td&gt;Le protocole de communication pour le dblink&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;OPEN_CURSORS&lt;/td&gt;&lt;td&gt;Indique si des curseurs sont ouverts pour le dblink.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;IN_TRANSACTION&lt;/td&gt;&lt;td&gt;Indique si le dblink est accédé dans une transaction qui n'a pas encore été validée ou annulée.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;UPDATE_SENT&lt;/td&gt;&lt;td&gt;Indique s'il y avait une mise à jour sur le dblink.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;COMMIT_POINT_STRENGHT&lt;/td&gt;&lt;td&gt;La "force" du point de validation des transactions utilisant le dblink.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;div align="justify"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Informations de sécurité relatives aux dblinks partagés&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;Sans entrer dans les détails, notons que les dblinks partagés sont souvent utilisés dans les environnements de configuration de serveurs partagés (multithreaded server environment – MTS). Un dblink paratagé est un dblink dans lequel de multiples utilisateurs du lien peuvent partager la même connexion réseau sous-adjacente.&lt;br /&gt;La création d'un dblink paratagé se fait à l'aide du mot clé SHARED et de la clause AUTHENTICATED BY qui doit spécifier un utilisateur et mot de passe valide sur le système distant. D'où la syntaxe :&lt;br /&gt;SQL&gt; CREATE SHARED PUBLIC DATABASE LINK LFARO AUTHENTICATED BY dummy_user IDENTIFIED BY secret USING 'LFARO' ;&lt;br /&gt;&lt;br /&gt;Lorsqu'un utilisateur quelconque se connecte à sa base locale en tant que scott/tiger et utilise et utilise le dblink que nous venons de créer, la séquence d'événements suivante va se produire :&lt;br /&gt;&lt;br /&gt;1. Oracle s'authentifie à la base distante à l'aide de dummy_user/ secret en vue d'ouvrir le lien.&lt;br /&gt;2. Ensuite Oracle tente de connecter l'utilisateur à la base de données distante à l'aide de scott/tiger.&lt;br /&gt;&lt;br /&gt;Par ailleurs Oracle va stocker les informations scott/tiger et dummy_user/secret dans les colonnes USERNAME, PASSWORD, AUTHUSR et AUTHPWD de la table SYS.LINK$ respectivement. On remarquera au passage que le nom d'utilisateur et mot de passe fournis dans les clauses AUTHENTICATED BY et IDENTIFIED BY de la commande de création d'un dblink partagé sont renseignés dans les colonnes AUTHUSR et AUTHPWD&lt;br /&gt;L'accès aux données de la table SYS.LINK$ est limité à l'utilisateur SYS, aux utilisateurs qui se connectent avec le privilège SYSDBA, aux comptes auxquels ont été attribué un privilège objet spécifique pour la table LINK$ et enfin aux comptes auxquels ont été attribué le privilège système SELECT ANY DICTIONARY.&lt;br /&gt;Nous donnons ci-dessous, à titre indicatif, une requête faisant la jointure entre la vue DBA_DB_LINKS et SYS.LINK$ et fournit des informations idoines de liens et de mot de passe.&lt;br /&gt;COL OWNER FORMAT A8&lt;br /&gt;COL DB_LINK FORMAT A15&lt;br /&gt;COL USERNAME FORMAT A8 HEADING "CON_USER"&lt;br /&gt;COL PASSWORD FORMAT A8 HEADING "CON_PWD"&lt;br /&gt;COL AUTHUSR FORMAT A8 HEADING "AUTH_USER"&lt;br /&gt;COL AUTHPWD FORMAT A8 HEADING "AUTH_PWD"&lt;br /&gt;COL HOST FORMAT A7 HEADING "SERVICE"&lt;br /&gt;COL CREATED FORMAT A10&lt;br /&gt;select distinct d.owner, d.db_link, d.username, l.password, l.authusr, l.authpwd, d.host, d.created&lt;br /&gt;from dba_db_link d, sys.link$ l&lt;br /&gt;where password is not null&lt;br /&gt;and d.username = l.userid ;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;span style="font-size:78%;"&gt;&lt;/span&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-size:78%;"&gt; &lt;/p&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;IV - BIBLIOGRAPHIE&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;1°) Managing a distributed database - par Oracle – http://www.cs.umb.edu/cs634/ora9idocs/server.920/a96521/ds_admin.htm&lt;br /&gt;2°) Note Metalink 1071984.6 : How to create private or Public database link – par Oracle – 25-oct-2005&lt;br /&gt;3°) Note Metalink 117759.1 : Database link (dblink) troubleshooting – par Oracle – 17-mar-2003&lt;br /&gt;4°) Note Metalink 117171.1 : Understanding and configuration of shared Database Link – par Oracle – 17-janv-2005&lt;br /&gt;5°) Note Metalink 172421.1 : How to close and expire database link – par Oracle – 05-may-2004&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19916968-114295657615180008?l=bkomlan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bkomlan.blogspot.com/feeds/114295657615180008/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19916968&amp;postID=114295657615180008' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/114295657615180008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/114295657615180008'/><link rel='alternate' type='text/html' href='http://bkomlan.blogspot.com/2006/03/les-dblink-oracle-description_21.html' title=''/><author><name>Komlan</name><uri>http://www.blogger.com/profile/13838924023943732608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19916968.post-114295074426132190</id><published>2006-03-21T04:32:00.000-08:00</published><updated>2006-03-21T06:19:04.353-08:00</updated><title type='text'></title><content type='html'>&lt;div align="justify"&gt;&lt;strong&gt;LES DBLINK ORACLE : DESCRIPTION, CONFIGURATION ET UTILISATION&lt;/strong&gt; &lt;strong&gt;(1ère PARTIE)&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;strong&gt;I – GENERALITES SUR LES DBLINK ORACLE&lt;br /&gt;&lt;/strong&gt;Un dblink ou database link (ou encore lien de base de données en français) est un objet de schéma qui fait qu'Oracle se connecte à une base de données distante pour y accéder à un objet. C'est donc un objet d'une base de données qui permet, entre autres, d'exécuter des requêtes sur une autre base de données, que cette dernière se trouve physiquement sur la même machine ou non.&lt;br /&gt;Pour faire court, nous dirons qu'un dblink est un pointeur dans une base de données local qui permet à l'utilisateur d'accéder aux objets sur une base de données distante.&lt;br /&gt;On distingue trois types de dblink :&lt;br /&gt;- Les dblink privés ; c'est le type de dblink qui est créé par défaut lorsque l'utilisateur ne donne aucune précision sur le type, en particulier quand il ne précise pas le mot-clé PUBLIC lors de la création ;&lt;br /&gt;- Les dblink publics ; lors de leur création, l'utilisateur précise le type par le mot-clé PUBLIC ;&lt;br /&gt;- Les dblink globaux&lt;br /&gt;&lt;br /&gt;La création des dblink comporte quelques contraintes que l'on ne peut bien appréhender qu'en ayant à l'esprit le fonctionnement de certains paramètres d'initialisation et vues du dictionnaire de données de la base de données distante.&lt;br /&gt;Global_names est un paramètre d'initialisation dynamique de type booléen qui spécifie, lorsqu'il est positionné à 'true' sur la base de données distante, si un dblink doit avoir le même nom que la base de données à laquelle il connecte. Sa valeur par défaut est 'false'.&lt;br /&gt;Global_name (attention : il n'y a pas de 's' à la fin) est une vue Oracle qui ne contient en général qu'une seule ligne et une seule colonne du même nom (global_name) donnant le nom global de la base de donnée.&lt;br /&gt;Dans un système distribué de base de données, chaque base de données devrait avoir un nom global unique de base de données qui identifie de façon unique la base de données dans le système.&lt;br /&gt;Un nom global de base de donnée comprend deux composants : un nom de base de données et un domaine. Le nom de base de données et le domaine sont déterminés par les paramètres DB_NAME et DB_DOMAIN comme indiqué dans le tableau qui suit :&lt;br /&gt;&lt;table&gt;&lt;br /&gt;&lt;tbody&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;Composant &lt;/td&gt;&lt;td&gt;Paramètre&lt;/td&gt;&lt;td&gt;Contraintes&lt;/td&gt;&lt;td&gt;Exemple&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Nom de base&lt;/td&gt;&lt;td&gt;DB_NAME&lt;/td&gt;&lt;td&gt;Doit comporter huit caractères au plus.&lt;/td&gt;&lt;td&gt;pagenet&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Domaine&lt;/td&gt;&lt;td&gt;DB_DOMAIN&lt;/td&gt;&lt;td&gt;Doit suivre les conventions standard d'internet&lt;/td&gt;&lt;td&gt;fr.oracle.com&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;Le paramètre DB_DOMAIN est important seulement lors de la création de la base de données lorsqu'il est utilisé, ensemble avec le paramètre DB_NAME, pour former le nom global de la base de données. A partir de ce moment le nom global de la base est stocké dans le dictionnaire de données. Après la création de la base de données, le changement du paramètre d'initialisation DB_DOMAIN n'a aucun effet sur le nom global de la base ou sur la résolution des noms de dblink. C'est pourquoi, pour changer le domaine dans un nom global de base de données, on doit utiliser impérativement la commande :&lt;br /&gt;SQL&gt; ALTER DATABASE RENAME GLOBAL_NAME TO nom_&lt;database&gt;database.nom_domain;&lt;br /&gt;Bien sûr, après un tel changement il est souhaitable de modifier le paramètre DB_DOMAIN pour qu'il reflète le changement opéré dans le nom de domaine avant le prochain redémarrage de la base.&lt;br /&gt;&lt;br /&gt;Le nom que l'on peut donner à un lien sur la base de données locale dépend du fait que la base de données distante à laquelle on souhaite accéder a "forcé" le nommage global ou pas.&lt;br /&gt;Pour déterminer si le nommage global est "forcé" sur une base de données, on peut, soit examiner le fichier de paramètres d'initialisation de la base, soit lancer la commande sql 'show parameter …' soit interroger la vue de performance dynamique v$parameter comme indiqué dans la requête qui suit :&lt;br /&gt;SQL&gt; col name format a12&lt;br /&gt;SQL&gt; col value format a6&lt;br /&gt;SQL&gt; select name, value from v$parameter where name='global_names' ;&lt;br /&gt;Pour visualiser un nom global de base de données, on utilise la vue du dictionnaire de données GLOBAL_NAME avec la requête suivante :&lt;br /&gt;SQL&gt; select * from GLOBAL_NAME ;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Commande de création d'un dblink&lt;br /&gt;&lt;/strong&gt;La syntaxe SQL de création d'un dblink se présente comme suit :&lt;br /&gt;SQL&gt; CREATE [PUBLIC] DATABASE LINK nom_de_lien_de_base_de_données &lt;nom&gt;[CONNECT TO utilisateur_oracle &lt;utilisateur&gt;IDENTIFIED BY mot_de_passe_utilisateur_oracle_distant&lt;mot&gt;] USING ' chaîne_de_base_de_données&lt;chaîne&gt;' ;&lt;br /&gt;Où :&lt;br /&gt;- On utilise l'option CONNECT TO si on veut accéder à la base distante avec un nom d'utilisateur oracle différent, c'est-à-dire pas le même qui est en cours dans la session de la base locale.&lt;br /&gt;- nom_de_lien_de_base_de_données &lt;nom&gt;doit correspondre au nom de la base de données à laquelle le dblink se réfère, si le paramètre GLOBAL_NAMES vaut 'true'.&lt;br /&gt;- chaîne_de_base_de_données &lt;chaîne&gt;est une chaîne de connexion SQL*NET valide trouvée dans le fichier tnsnames.ora.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Un exemple concret&lt;br /&gt;&lt;/strong&gt;Nous disposons d'une base locale appelée pagenetdb1 et nous souhaitons pouvoir nous connecter depuis cette base locale, à la base distante pagenetdb2. Aussi la définition du nom de service (alias) de la base distante dans le fichier tnsnames.ora de notre base locale se présente comme suit :&lt;br /&gt;db2=&lt;br /&gt;(DESCRIPTION=&lt;br /&gt;(ADDRESS_LIST=&lt;br /&gt;(ADDRESS=(PROTOCOL=TCP)(HOST=machfde)(PORT=1543)&lt;br /&gt;)&lt;br /&gt;)&lt;br /&gt;(CONNECT_DATA=&lt;br /&gt;(SID=pagenetdb2)&lt;br /&gt;)&lt;br /&gt;)&lt;br /&gt;Enfin les analyses sur la base distance donnent :&lt;br /&gt;- db_name = pagenetdb2&lt;br /&gt;- global_names=true&lt;br /&gt;- global_name=pagenetdb2.world&lt;br /&gt;Pour créer un dblink dans ce contexte, l'utilisateur pourra utiliser l'une des deux syntaxes suivantes de la commande "create database link" :&lt;br /&gt;SQL&gt; CREATE [PUBLIC] DATABASE LINK pagnetdb2 CONNECT TO scott IDENTIFIED BY tiger USING 'db2' ;&lt;br /&gt;Ou&lt;br /&gt;SQL&gt; CREATE [PUBLIC] DATABASE LINK pagnetdb2 CONNECT TO scott IDENTIFIED BY tiger USING 'db2.world' ;&lt;/span&gt;&lt;/div&gt;&lt;p align="justify"&gt;&lt;span style="font-size:78%;"&gt;&lt;strong&gt;[ A SUIVRE ... ]&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19916968-114295074426132190?l=bkomlan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bkomlan.blogspot.com/feeds/114295074426132190/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19916968&amp;postID=114295074426132190' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/114295074426132190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/114295074426132190'/><link rel='alternate' type='text/html' href='http://bkomlan.blogspot.com/2006/03/les-dblink-oracle-description.html' title=''/><author><name>Komlan</name><uri>http://www.blogger.com/profile/13838924023943732608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19916968.post-114293840805188815</id><published>2006-03-21T02:49:00.000-08:00</published><updated>2006-03-21T02:53:28.053-08:00</updated><title type='text'></title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-size:78%;"&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;RESTAURATION D'UNE DB ORACLE (3ème PARTIE)&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:78%;"&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:78%;"&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;IV – ANNEXE – Exemple de travail&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;RMAN&gt; connect target /&lt;br /&gt;connected to target database: PAGENET (DBID=2093727724)&lt;br /&gt;RMAN&gt; list backup summary ;&lt;br /&gt;using target database controlfile instead of recovery catalog&lt;br /&gt;List of Backups&lt;br /&gt;===============&lt;br /&gt;Key     TY LV S Device Type Completion Time #Pieces #Copies Tag&lt;br /&gt;------- -- -- - ----------- --------------- ------- ------- ---&lt;br /&gt;1356    B  F  A DISK        13/02/06        1       1      &lt;br /&gt;1365    B  F  A DISK        14/02/06        1       1      &lt;br /&gt;1366    B  A  A DISK        15/02/06        1       1       TAG20060214T220245&lt;br /&gt;1367    B  A  A DISK        15/02/06        1       1       TAG20060214T220245&lt;br /&gt;1368    B  F  A DISK        15/02/06        1       1       TAG20060214T220247&lt;br /&gt;1369    B  F  A DISK        15/02/06        1       1       TAG20060214T220247&lt;br /&gt;1370    B  F  A DISK        15/02/06        1       1       TAG20060214T220247&lt;br /&gt;1371    B  F  A DISK        15/02/06        1       1       TAG20060214T220247&lt;br /&gt;1372    B  A  A DISK        15/02/06        1       1       TAG20060214T220454&lt;br /&gt;1373    B  A  A DISK        15/02/06        1       1       TAG20060214T220454&lt;br /&gt;1374    B  F  A DISK        15/02/06        1       1      &lt;br /&gt;1375    B  A  A DISK        16/02/06        1       1       TAG20060215T220242&lt;br /&gt;1376    B  A  A DISK        16/02/06        1       1       TAG20060215T220242&lt;br /&gt;1377    B  F  A DISK        16/02/06        1       1       TAG20060215T220244&lt;br /&gt;1378    B  F  A DISK        16/02/06        1       1       TAG20060215T220244&lt;br /&gt;1379    B  F  A DISK        16/02/06        1       1       TAG20060215T220244&lt;br /&gt;1380    B  F  A DISK        16/02/06        1       1       TAG20060215T220244&lt;br /&gt;1381    B  A  A DISK        16/02/06        1       1       TAG20060215T220457&lt;br /&gt;1382    B  A  A DISK        16/02/06        1       1       TAG20060215T220457&lt;br /&gt;1383    B  F  A DISK        16/02/06        1       1      &lt;br /&gt;1384    B  A  A DISK        16/02/06        1       1       TAG20060216T220247&lt;br /&gt;1385    B  A  A DISK        16/02/06        1       1       TAG20060216T220247&lt;br /&gt;1386    B  F  A DISK        16/02/06        1       1       TAG20060216T220250&lt;br /&gt;1387    B  F  A DISK        16/02/06        1       1       TAG20060216T220250&lt;br /&gt;1388    B  F  A DISK        16/02/06        1       1       TAG20060216T220250&lt;br /&gt;1389    B  F  A DISK        16/02/06        1       1       TAG20060216T220250&lt;br /&gt;1390    B  A  A DISK        16/02/06        1       1       TAG20060216T220502&lt;br /&gt;1391    B  A  A DISK        16/02/06        1       1       TAG20060216T220502&lt;br /&gt;1392    B  F  A DISK        16/02/06        1       1       &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19916968-114293840805188815?l=bkomlan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bkomlan.blogspot.com/feeds/114293840805188815/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19916968&amp;postID=114293840805188815' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/114293840805188815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/114293840805188815'/><link rel='alternate' type='text/html' href='http://bkomlan.blogspot.com/2006/03/restauration-dune-db-oracle-3me-partie.html' title=''/><author><name>Komlan</name><uri>http://www.blogger.com/profile/13838924023943732608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19916968.post-114293804595674609</id><published>2006-03-21T02:30:00.000-08:00</published><updated>2006-03-21T02:47:25.973-08:00</updated><title type='text'></title><content type='html'>&lt;strong&gt;RESTAURATION D'UNE DB ORACLE (2ème PARTIE)&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;strong&gt;III - Restauration-récupération incomplète basée sur le temps d'une base Oracle à l'aide de RMAN&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Plusieurs possibilités s'offrent à l'administrateur. Avant de les analyser, listons les. Il s'agit de :&lt;br /&gt;- Restauration-récupération incomplète avec utilisation d'un fichier de contrôle provenant d'une sauvegarde (scénario 1) ;&lt;br /&gt;- Restauration-récupération incomplète après désactivation de quelques jeux de sauvegarde (scénario 2) ;&lt;br /&gt;- Restauration-récupération incomplète avec choix explicite du jeu de sauvegarde à utiliser (scénario 3) ;&lt;br /&gt;- Restauration-récupération incomplète avec choix implicite du jeu de sauvegarde à utiliser (scénario 4) ;&lt;br /&gt;Afin de rendre les explications qui vont suivre plus intelligibles, appuyons-nous sur un cas concret que nous avons rencontré en production.&lt;br /&gt;Notre base de données (appelons-le pagenet) est sauvegardée (sauvegarde complète) tous les jours à 22h00. Le jeudi 16 février 2006 à 17h45, suite à un incident qu'un administrateur junior (donc non expérimenté) jugeait mineur, il refait une sauvegarde totale de la base. De l'analyse approfondie de l'incident, il ressort qu'il est dû à un chargement massif de données erronées dans la base de données. &lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:85%;"&gt;Conclusion : il est urgent de restaurer la base de données en évitant d'utiliser la dernière sauvegarde totale faite par l'administrateur junior ou plus précisément en utilisant la sauvegarde totale faite le 16 février 2006 à 11heures00 après des travaux de maintenance. Toutes les sauvegardes totales comportent toujours une sauvegarde du fichier de contrôle et une sauvegarde du fichier d'initialisation SPFILE. L'identifiant de la base de données est DBID=2093727724.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:85%;"&gt;Les développements qui suivent s'appuyent sur un exemple que le lecteur/internaute trouvera dans la 3ème partie intitulée "ANNEXE  - EXEMPLE DE TRAVAIL".&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;III – 1)  Scénario 1&lt;br /&gt;&lt;/strong&gt;Nous supposons que le jeu de sauvegarde (backupset) qui inclut le fichier de contrôle est le 1383. On peut trouver le nom du fichier correspondant à ce jeu de sauvegarde à l'aide de la commande RMAN list comme suit :&lt;br /&gt;RMAN&gt; list backupset 1383;&lt;br /&gt;List of Backup Sets&lt;br /&gt;===================&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;1383    Full    18M        DISK        00:00:01     16/02/06      &lt;br /&gt;        BP Key: 1356   Status: AVAILABLE   Tag:&lt;br /&gt;        Piece Name: /sauvebd/PAGENET/backup_ctl_c-2093727724-20060216-00&lt;br /&gt;  Controlfile Included: Ckp SCN: 308507599    Ckp time: 16/02/06&lt;br /&gt;RMAN&gt;&lt;br /&gt;&lt;br /&gt;Après avoir arrêté la base de données, se connecter à la base et exécuter la séquence qui suit :&lt;br /&gt;$ rman&lt;br /&gt;RMAN&gt; connect target /&lt;br /&gt;RMAN&gt; startup nomount ;&lt;br /&gt;RMAN&gt; set dbid 2093727724 ;&lt;br /&gt;RMAN&gt; run {  restore controlfile from '/sauvebd/PAGENET/backup_ctl_c-2093727724-20060216-00' ;&lt;br /&gt;                               alter database mount ;&lt;br /&gt;                               set until time "to_date('16/02/2006 17:43:00', 'DD/MM/YYYY HH24:MI:SS')";&lt;br /&gt;                               restore database ;&lt;br /&gt;                               recover database ;&lt;br /&gt;                   }&lt;br /&gt;RMAN&gt; alter database open resetlogs ;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;III – 2)  Scénario 2&lt;br /&gt;&lt;/strong&gt;Nous faisons l'hypothèse que l'administrateur ne souhaite pas procéder à la restauration à partir des jeux de sauvegarde de la sauvegarde la plus récente (la plus optimale du point de vue de RMAN). En ce qui concerne notre exemple de travail (voir en annexe), l'administrateur ne souhaite pas utiliser les jeux de sauvegarde dont les numéros vont de 1384 à 1392. Il va donc les désactiver en leur affectant le status "UNAVAILABLE (U) à l'aide de la commande RMAN "change backupset &lt;liste&gt; unavailable ;". La séquence de commandes donne ce qui suit :&lt;br /&gt;$ rman&lt;br /&gt;RMAN&gt; connect target /&lt;br /&gt;RMAN&gt; startup mount ;&lt;br /&gt;RMAN&gt; change backupset 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392 unavailable ;&lt;br /&gt;RMAN&gt; run {  set until time "to_date('16/02/2006 17:43:00', 'DD/MM/YYYY HH24:MI:SS')";&lt;br /&gt;                               restore database ;&lt;br /&gt;                               recover database ;&lt;br /&gt;                   }&lt;br /&gt;RMAN&gt; alter database open resetlogs ;&lt;br /&gt;Une fois la restauration effectuée, l'administrateur peut toujours réactiver les jeux de sauvegarde précédemment désactivés en tapant la commande suivante :&lt;br /&gt;RMAN&gt; change backupset 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392 available ;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;III – 3)  Scénario 3&lt;br /&gt;&lt;/strong&gt;En analysant bien notre exemple en annexe, le lecteur se rendra compte que tous les jeux de sauvegarde de datafiles d'une même sauvegarde ont le même tag ou étiquette. Le scénario 3 s'appuyera sur cette étiquette pour demande la restauration à partir d'une sauvegarde bien précise. Dans le cadre de notre exemple l'étiquette est TAG20060215T220244. Il en résulte la séquence qui suit :&lt;br /&gt;$ rman&lt;br /&gt;RMAN&gt; connect target /&lt;br /&gt;RMAN&gt; startup mount ;&lt;br /&gt;RMAN&gt; run {  set until time "to_date('16/02/2006 17:43:00', 'DD/MM/YYYY HH24:MI:SS')";&lt;br /&gt;                               restore database from tag 'TAG20060215T220244' ;&lt;br /&gt;                               recover database ;&lt;br /&gt;                   }&lt;br /&gt;RMAN&gt; alter database open resetlogs ;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;III – 4)  Scénario 4&lt;br /&gt;&lt;/strong&gt;Il arrive parfois des situations dans lesquelles on peut aboutir au résultat escompté, rien qu'en jouant sur les dates au sens large du terme c'est-à-dire dates et heures. Appliquons ce scénario à notre contexte. Rappelons ledit contexte : une sauvegarde totale a eu lieu le 15/02/2006 à 22heures ;  une autre a eu lieu le 16/02/2006 à 11heures et enfin la dernière a eu lieu le 16/02/2006 à 17h45.&lt;br /&gt;Il est à noter que lorsque plusieurs sauvegardes totales sont faites dans la même journée, le champ "Completion time" du résultant de la commande RMAN "list" ne permet pas de les distinguer. Or il est capital de connaître les heures afin de s'assurer que l'on a bien choisi la bonne sauvegarde. Pour cela il vaut mieux interroger l'une des deux vues v$backup_piece ou v$backup_set. Voici deux exemples d'interrogations de ces vues&lt;br /&gt;SQL&gt; select recid, piece#, handle, to_char(completion_time, 'DD/MM/YYYY HH24:MI:SS') moment &lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; from v$backup_piece where status = 'A'&lt;br /&gt;SQL&gt; and to_char(completion_time, 'DD/MM/YYYY') = '16/02/2006' ;&lt;br /&gt;&lt;br /&gt;SQL&gt; select recid, pieces, to_char(completion_time, 'DD/MM/YYYY HH24:MI:SS') moment,             &lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; backup_type&lt;br /&gt;SQL&gt; from v$backup_set &lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; where to_char(completion_time, 'DD/MM/YYYY') = '16/02/2006' ;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;div align="justify"&gt;&lt;br /&gt;Pour atteindre notre but il suffit de demande une restauration-récupération incomplète jusqu'à une minute avant la sauvegarde totale qui comporte les mauvaises données c'est-à-dire 17h44. Dans la mesure où la dernière sauvegarde totale (la mauvaise) n'existait pas le 16/02/2006 à 17:44, RMAN évitera automatiquement d'utiliser cette sauvegarde et utilisera celle qui l'a précédée. D’où la séquence de commandes RMAN suivante :&lt;br /&gt;$ rman&lt;br /&gt;RMAN&gt; connect target /&lt;br /&gt;RMAN&gt; startup mount ;&lt;br /&gt;RMAN&gt; run {  set until time "to_date('16/02/2006 17:44:00', 'DD/MM/YYYY HH24:MI:SS')";&lt;br /&gt;                               restore database ;&lt;br /&gt;                               recover database ;&lt;br /&gt;                   }&lt;br /&gt;RMAN&gt; alter database open resetlogs ;&lt;br /&gt;&lt;br /&gt;Il est important de noter aussi que la place de la commande &lt;em&gt;set until time "to_date('16/02/2006 17:44:00', 'DD/MM/YYYY HH24:MI:SS')";&lt;/em&gt;  est cruciale dans la séquence. Si cette commande était placée après la commande "restore database ; ", on aurait eu un superbe message d'erreur. En effet, n'ayant pas de "until time" pour la commande restore, RMAN aurait sélectionné la sauvegarde de 17h45 (l'optimale), mais quand il va aborder la commande "recover database ;", RMAN va se rendre compte qu'on lui demande l'impossible ou plus exactement, qu'on lui demande une récupération pas en cohérence avec la restauration qu'elle vient de faire. D'où le message d'erreur.&lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;A SUIVRE ...&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19916968-114293804595674609?l=bkomlan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bkomlan.blogspot.com/feeds/114293804595674609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19916968&amp;postID=114293804595674609' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/114293804595674609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/114293804595674609'/><link rel='alternate' type='text/html' href='http://bkomlan.blogspot.com/2006/03/restauration-dune-db-oracle-2me-partie.html' title=''/><author><name>Komlan</name><uri>http://www.blogger.com/profile/13838924023943732608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19916968.post-114293674503072320</id><published>2006-03-21T02:15:00.000-08:00</published><updated>2006-04-21T04:46:19.503-07:00</updated><title type='text'></title><content type='html'>&lt;div align="justify"&gt;&lt;strong&gt;RESTAURATION D'UNE BD ORACLE A L'AIDE DE RMAN &lt;/strong&gt;&lt;strong&gt;(1ERE PARTIE)&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;I - Introduction&lt;br /&gt;&lt;/strong&gt;&lt;span style="font-size:85%;"&gt;En cas de panne sévère ou d'erreur grossière d'utilisateur (par exemple chargement de données de masse erronées dans une base de données, l'administrateur d'une base de données Oracle est souvent amené à faire une restauration-récupération incomplète de la base. Et RMAN (Oracle Recovery Manager) est un outil qui facilite les gestes techniques à faire dans le cadre de la gestion des sauvegardes et restaurations de ces bases de données.&lt;br /&gt;Rappelons que RMAN permet de faire une récupération de la base de données entière avec les trois options suivantes :&lt;br /&gt;- récupération jusqu'à un moment non-courant à spécifier (restauration-récupération basée sur le temps –time-based recovery);&lt;br /&gt;- récupération jusqu'à un SCN (System Change Number) à spécifier (restauration-récupération basée sur un SCN – change-based recovery);&lt;br /&gt;- récupération jusqu'à un numéro de log sequence à spécifier (restauration-récupération basée sur une séquence – sequence-based recovery).&lt;br /&gt;Les développements que nous faisons dans cette série d'articles concernent en grande partie la première option c'est-à-dire la récupération jusqu'à un moment non-courant.&lt;br /&gt;Après un bref rappel sur la restauration-récupération complète d'une base de données Oracle, nous analyserons les possibilités offertes à l'administrateur pour effectuer une restauration-récupération incomplète basée sur le temps.&lt;br /&gt;Dans la rubrique "Restrictions et notes d'usage" de la commande restore, Oracle précise ceci :&lt;br /&gt;"RMAN ne sauvegarde ni ne restaure les tablespaces temporaires gérés localement, bien qu'il puisse sauvegarder et restaurer les tablespaces temporaires gérés à l'aide du dictionnaire.&lt;br /&gt;Par ailleurs, Oracle précise qu'après la restauration d'une sauvegarde de fichier de contrôle, les entrées pour les tempfiles dans les tablespaces temporaires gérés localement sont supprimées. De ce fait on doit ajouter de nouveaux tempfiles à ces tablespaces après ouverture avec l'option RESETLOGS. Sinon Oracle peut afficher l'erreur suivante lors de tentative de tri : ORA-25153: Temporary Tablespace is empty.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;II - Restauration-récupération complète d'une base Oracle à l'aide de RMAN&lt;br /&gt;&lt;/strong&gt;&lt;span style="font-size:85%;"&gt;Voici un exemple pratique avec une base de données dont le fichier de contrôle sert aussi de référentiel pour RMAN.&lt;br /&gt;$ rman&lt;br /&gt;RMAN&gt; connect target /&lt;br /&gt;RMAN&gt; startup mount&lt;br /&gt;RMAN run { restore database ;&lt;br /&gt;recover database ;&lt;br /&gt;}&lt;br /&gt;RMAN&gt; alter database open resetlogs ;&lt;br /&gt;&lt;br /&gt;Il est à noter que dans le genre de restauration-récupération ci-dessus, RMAN choisit toujours le jeu de sauvegarde optimal qui est dans presque tous les cas le plus récent, ce qui peut ne pas être le souhait de l'administrateur. Nous verrons dans la 2ème partie qui va suivre comment l'administrateur peut choisir le jeu de sauvegarde qu'il souhaite restaurer et récupérer.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:85%;"&gt;Je vous remercie d'avance pour tous vos commentaires. &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19916968-114293674503072320?l=bkomlan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bkomlan.blogspot.com/feeds/114293674503072320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19916968&amp;postID=114293674503072320' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/114293674503072320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/114293674503072320'/><link rel='alternate' type='text/html' href='http://bkomlan.blogspot.com/2006/03/restauration-dune-bd-oracle-laide-de.html' title=''/><author><name>Komlan</name><uri>http://www.blogger.com/profile/13838924023943732608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19916968.post-114043007684411988</id><published>2006-02-20T01:59:00.000-08:00</published><updated>2006-02-20T02:07:56.863-08:00</updated><title type='text'></title><content type='html'>&lt;strong&gt;LA SOCIETE DE L'IINFORMATION ET L'INFORMATIQUE LIBRE&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;[Vous trouverez ci-dessous les thèses relatives à l'Informatique Libre que j'ai rédigées dans le cadre de la préparation du premier Sommet Mondial de la Société de l'Information - déc.2003 et que j'ai réactualisées depuis]&lt;br /&gt;&lt;br /&gt;1) LES LOGICIELS LIBRES (LL) COMME NOUVEAU BIEN PUBLIC MONDIAL GERE COMME LA SCIENCE ET A CLASSER AU PATRIMOINE IMMATERIEL MONDIAL SELON L'UNESCO&lt;br /&gt;&lt;br /&gt;En effet les LL sont porteurs d'une éthique nouvelle de partage des connaissances et d'entraide car ils préservent la liberté des utilisateurs par la promotion des trois valeurs de liberté, d'égalité et de fraternité.&lt;br /&gt;- liberté de copier, d'étudier, de modifier et de redistribuer des logiciels et des documentations ;&lt;br /&gt;- égalité de tous les utilisateurs de par le monde sans discrimination par l'argent ;&lt;br /&gt;- fraternité à travers le partage et l'entraide.&lt;br /&gt;Ils permettent aussi la défense des cultures et une meilleurs facilité d'accès grâce au support multilingue.&lt;br /&gt;&lt;br /&gt;2) LES LL COMME UN NOUVEAU FACTEUR/DISPOSITIF DE REGULATION DU MARCHE MONDIAL&lt;br /&gt;Les LL découragent les comportements monopolistiques et la tendance artificielle actuelle à la concentration :&lt;br /&gt;- en offrant les connaissances de base nécessaires à de nouveaux acteurs qui souhaitent intervenir dans la production de logiciels : des entreprises qui veulent faire de la production de logiciels applicatifs le coeur de leur métier, les pays qui envisagent de créer et/ou de soutenir une industrie indépendante ;&lt;br /&gt;- en offrant aux pays du sud la possibilité d'accéder à des instruments informatiques simples et bon marché devant concourir à un dévéloppement rapide et durable, donc l'opportunité de devenir de vrais acteurs économiques respectables dans la société de l'Information grâce à l'indépendance induite, à l'extension du fonctionnement de la recherche publique à l'écriture de logiciels et à une modification des rapports entre l'université et l'industrie.&lt;br /&gt;- en promouvant des formats de fichiers ouverts et des protocoles dont les spécifications sont disponibles et accessibles à tous les citoyens y compris les professionnels et de ce fait garantissant :&lt;br /&gt; la pérennité des informations et l'accès équitable à l'information pour tous les citoyens ;&lt;br /&gt; l'interopérabilité des systèmes c'est-à-dire la capacité à travailler avec des systèmes et des logiciels différents, aux choix de l'utilisateur ;&lt;br /&gt; l'indépendance technique c'est-à-dire le non-enfermement de l'utilisateur dans l'utilisation d'un logiciel particulier, donc la possibilité d'en changer dans la mesure où les solutions techniques sont intéropérables.&lt;br /&gt;&lt;br /&gt;3) DE LA NECESSITE DE METTRE FIN A TOUTES LES MENACES QUI PESENT SUR LES LL COMME AUTANT DE MENACES SUR LA LIBERTE&lt;br /&gt;- Les brevets sur les logiciels mettent gravement en danger l'innovation, la libre concurrence, le génie logiciel mondial (hors USA et Japon), l'informatique libre, le développement des pays du sud et même le patrimoine de l'humanité.&lt;br /&gt; Les seuls bénéficiaires des brevets sur les logiciels sont les grands groupes détenant la majorité des brevets informatiques et qui s'en servent comme arme offensive pour bloquer leurs concurrents et aussi certains acteurs qui les utilisent pour prendre possession d'un marché de niche en évinçant les concurrents sans vraiment innover, sur la base d'un brevet trivial qui bloque l'innovation de leurs compétiteurs.&lt;br /&gt; Les brevets informatiques résultent le plus souvent de la découverte ou de la simple application d'une propriété mathématique ou d'un algorithme qui fait partie du patrimoine de l'humanité. De ce fait, de nombreuses entreprises sont menacées de faillite ou de rachat par la faute d'un brevet informatique sur des techniques-clefs car ne pouvant pas se permettre un litige judiciaire pour se défendre ou annuler un bevet trivial.&lt;br /&gt; La protection juridique des programmes d'ordinateurs doit continuer de se faire dans le cadre du droit d'auteur en précisant que seule l'expression d'un programme d'ordinateur est protégée et que les idées et les principes qui sont à la base de la logique, des algorithmes et des langages de programmation ne sont pas protégés par le droit d'auteur.&lt;br /&gt; La finalité originelle des brevets est et doit rester l'encouragement du développement de la recherche et de l'industrie, par l'octroi d'un monopole à l'inventeur pendant un temps limité, sur l'exploitation de son invention.Les brevets sont donc un instrument de partage de connaissances et de protection de l'inventeur.&lt;br /&gt;- Le Digital Millenium Copyright Act ou DMCA (Loi américaine en vigueur et visant à renforcer le Copyright) et l'European Union Copyright Directive ou EUCD (projet de loi européen similaire au DMCA américain), en rendant illégal le fait de contourner les protections mises en place par les éditeurs, menacent la copie privée et la pérennité des documents et portent atteinte au droit d'usage.&lt;br /&gt;&lt;br /&gt;- Malgré son caractère attirant, l'objectif du projet TCPA(Trusted Computing Platforme Aliance)/Palladium (un projet de mise en place d'un plan appelé Trusted Computing ou Informatique de Confiance) qui est de créer une informatique dans laquelle seuls les programmes autorisés peuvent être exécutés et seuls les fichiers autorisés peuvent être ouverts, cet objectif, disons nous, cache de nombreux problèmes et de nombreuses dérives potentielles dont :&lt;br /&gt; La remise en cause du droit à la copie privée par la gestion des droits numériques ;&lt;br /&gt; La possibilité de suppression de documents à distance pour faire respecter la droit d'auteur, ce qui laisse présager des dérives inquiétantes.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Bibliographie&lt;br /&gt;- Pour en savoir plus sur les logiciels libres :&lt;br /&gt;http://www.april.org&lt;br /&gt;http://www.anfalab.org&lt;br /&gt;&lt;br /&gt;- Pour en savoir plus sur TCPA et EUCD&lt;br /&gt;http://fr.wikipedia.org/wiki/TCPA&lt;br /&gt;http://wiki.ael.be/index.php/EUCD-Statuts&lt;br /&gt;&lt;br /&gt;- EUCD INFO : Sauvons le droit d'auteur :: http://eucd.info&lt;br /&gt;&lt;br /&gt;- Les dommages économiques et sociaux de l'article 6 de l'EUCD (30 janv. 2003)&lt;br /&gt;http://www.fsfeurope.org/projects/eucd/eucd.fr.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19916968-114043007684411988?l=bkomlan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bkomlan.blogspot.com/feeds/114043007684411988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19916968&amp;postID=114043007684411988' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/114043007684411988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/114043007684411988'/><link rel='alternate' type='text/html' href='http://bkomlan.blogspot.com/2006/02/la-societe-de-liinformation-et.html' title=''/><author><name>Komlan</name><uri>http://www.blogger.com/profile/13838924023943732608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19916968.post-113811720407987138</id><published>2006-01-24T06:27:00.000-08:00</published><updated>2006-01-24T08:25:59.883-08:00</updated><title type='text'></title><content type='html'>&lt;div align="justify"&gt;DUPLICATION DE BASE DE DONNEES SOUS ORACLE9i&lt;br /&gt;LES OPTIONS DE DUPLICATION ET LES ETAPES PREPARATOIRES&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Les options de duplication&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Lorsqu’un administrateur de bases de données souhaite procéder à la duplication d’une base de données, il dispose d’un ensemble d’options qu’il doit toujours avoir à l’esprit.&lt;br /&gt;Passons en revue rapide ces différentes options de duplication de base de données :&lt;br /&gt;- Exécuter la commande DUPLICATE avec ou sans un catalogue de récupération (recovery catalog, en anglais)&lt;br /&gt;- Ne pas prendre en compte (c’est-à-dire « sauter ») les tablespaces en lecture seule, à l’aide de la clause « SKIP READONLY »&lt;br /&gt;- Créer la database dupliquée sur une nouvelle machine. Si la structure de répertoires est la même sur la nouvelle machine, alors il est vivement conseillé de spécifier l’option NOFILENAMECHECK et réutiliser les noms de fichiers des fichiers de données de la base cible pour les fichiers de données de la base dupliquée.&lt;br /&gt;- Utiliser l’option « SET UNTIL » quand on crée une base dupliquée pour la récupérer à un moment antérieur au moment de sauvegarde.&lt;br /&gt;- Enregistrer la base dupliquée dans le même catalogue de récupération, option rendue possible du fait que la base dupliquée se voit attribuer un DBID différent de celui de la base cible pendant le processus de duplication.&lt;br /&gt;- Attribuer au paramètre DB_NAME de la database dupliquée une valeur différente de celle correspondant au DB_NAME de la database cible.&lt;br /&gt;Il sera beaucoup question dans les lignes qui von t suivre de la notion d’instance ou de base de données auxiliaire (en anglais auxiliary). Une base de données auxiliaire est une base de données RAC qui sera créée en tant que résultat de la duplication de la base de données cible. Dans la terminologie RMAN, l’instance auxiliaire identifie une instance à laquelle RMAN se connecte en vue d’exécuter la commande « duplicate ».&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Les étapes préparatoires de la duplication&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;a name="_Toc123540482"&gt;&lt;strong&gt;Etape 1&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; :&lt;/strong&gt; Créer un fichier de mot de passe Oracle pour l’instance auxiliaire et s’assurer de la connectivité Oracle Net à cette instance.&lt;br /&gt;Rappelons que la création d’un fichier de mots de passe sous Oracle9i se fait à l’aide de l’utilitaire orapwd fourni par Oracle. L’exécutable correspondant à cet utilitaire sur les plate-formes Unix porte le même nom et a la syntaxe suivante&lt;br /&gt;$ orapwd file=chemin password=mot_de_passe_sys entries=nombre&lt;br /&gt;Les symboles ne doivent pas avoir de caractères espace ni avant ni après.&lt;br /&gt;&lt;br /&gt;&lt;a name="_Toc123540483"&gt;&lt;strong&gt;Etape 2&lt;/strong&gt;&lt;/a&gt; : Créer un fichier de paramètres d’initialisation pour l’instance&lt;br /&gt;&lt;p&gt;En général, on fait une copie du fichier de paramètres d’initialisation d’une instance de la base de données d’origine et ensuite on procède aux modifications nécessaires. Une attention particulière doit être portée à tous les paramètres d’initialisation qui spécifient des noms de chemins d’accès. Il faut vérifier que tous les chemins spécifiés existent et sont accessibles sur la machine sur laquelle la base de données va être dupliquée. Le tableau ci-dessous récapitule quelques paramètres très importants (en complément des paramètres de chemin d’accès).&lt;br /&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-size:78%;"&gt;PARAMETRE &lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:78%;"&gt;DESCRIPTION&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-size:78%;"&gt;DB_NAME &lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:78%;"&gt;Il s’agit du même nom utilisé dans la commande « DUPLICATE »&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-size:78%;"&gt;CONTROL_FILES &lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:78%;"&gt;Paramètre bien connu&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;span style="font-size:78%;"&gt;DB_FILE_NAME_CONVERT&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:78%;"&gt;Permet de spécifier une règle de conversion des noms de fichiers de données pour tout fichier de données non renommé à l’aide des commandes RMAN « SET NEWNAME » ou « CONFIGURE AUXNAME ». On peut spécifier de multiples paires de conversion et utiliser les groupes de disques ASM (Automatic Storage Management&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span style="font-size:78%;"&gt;LOG_FILE_NAME_CONVERT &lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:78%;"&gt;Permet de spécifier une règle de conversion des noms de fichiers redo log. On peut spécifier de multiples paires de conversion. Ce paramètre permet en outre que les redo log existent aussi longtemps que les tailles correspondent dans la mesure où il utilise le paramètre REUSE lors de la création des redo logs. Si en plus de ce paramètre, on spécifie la clause LOGFILE dans la commande « DUPLICATE », alors RMAN utilise la clause LOGFILE.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;Nous donnons ci-après un exemple très simplifié &lt;a name="442161"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:85%;"&gt;DB_NAME=dupdb&lt;/span&gt;&lt;a name="442162"&gt;&lt;/a&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:85%;"&gt;CONTROL_FILES= (/oracle/dup_prod/cf/cf1.f, /oracle/dup_prod/cf/cf2.log)&lt;/span&gt;&lt;a name="442163"&gt;&lt;/a&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:85%;"&gt;DB_FILE_NAME_CONVERT=(/oracle/prod/db, /oracle/dup_prod/db,&lt;/span&gt;&lt;a name="443747"&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; /disk2/db, /oracle/dup_prod/db)&lt;/span&gt;&lt;a name="442164"&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;LOG_FILE_NAME_CONVERT=(/oracle/prod/log, /oracle/dup_prod/log)&lt;/span&gt;&lt;a name="445621"&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Une fois le fichier PFILE créé, on peut, à l’aide de la commande SQL*PLUS « CREATE SPFILE », créer le fichier SPFILE correspondant dans le répertoire par défaut. Cette commande peut être lancée avant ou après le démarrage de l’instance auxiliaire.&lt;br /&gt;SQL&gt; CREATE SPFILE FROM PFILE=’/tmp/initDUPDB.ora’ ;&lt;br /&gt;&lt;br /&gt;&lt;a name="_Toc123540484"&gt;&lt;strong&gt;Etape 3&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; :&lt;/strong&gt; &lt;span style="font-size:85%;"&gt;&lt;strong&gt;Démarrer l’instance auxiliaire sans la monter sur le fichier spfile&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;SQL&gt; connect SYS/aux_pwd@dupdb as sysdba&lt;br /&gt;SQL&gt; startup nomount&lt;br /&gt;&lt;br /&gt;&lt;a name="_Toc123540485"&gt;&lt;strong&gt;Etape 4&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; :&lt;/strong&gt; &lt;span style="font-size:85%;"&gt;&lt;strong&gt;Démarrer et monter ou démarrer et ouvrir la base de données cible&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;SQL&gt; startup pfile='/oracle/dbs/initPRODB.ora'&lt;br /&gt;ou&lt;br /&gt;SQL&gt; startup&lt;br /&gt;&lt;br /&gt;&lt;a name="_Toc123540486"&gt;&lt;strong&gt;Etape 5&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; :&lt;/strong&gt; &lt;strong&gt;&lt;span style="font-size:85%;"&gt;S’assurer que la nouvelle instance est déclarée dans la section SID_LIST du fichier listener.ora&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;Cette déclaration est le gage du succès des connexions de RMAN à la nouvelle instance. Par ailleurs il est aussi nécessaire de modifier le fichier tnsnames.ora de la machine à partir de laquelle on se connecte à la nouvelle instance de sorte que l’on puisse se connecter à cette instance via un alias de services réseau d’Oracle.&lt;br /&gt;Voici un exemple d’extraits de fichier listener.ora&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;SID_LIST_LISTENER =&lt;br /&gt;(SID_LIST =&lt;br /&gt;(SID_DESC =&lt;br /&gt;(GLOBAL_DBNAME = prodb.knmc.local)&lt;br /&gt;(ORACLE_HOME = /oracle/ora92)&lt;br /&gt;(SID_NAME = prodb)&lt;br /&gt;)&lt;br /&gt;(SID_DESC =&lt;br /&gt;(GLOBAL_DBNAME = dupb.knmc.local)&lt;br /&gt;(ORACLE_HOME = /oracle/ora92)&lt;br /&gt;(SID_NAME = dupb)&lt;br /&gt;)&lt;br /&gt;)&lt;br /&gt;&lt;/em&gt;&lt;/span&gt;Après cette modification du listener.ora, il faut faire en sorte que le listener prenne en compte ces modifications par la commande « reload » comme suit :&lt;br /&gt;$ lsnrctl reload&lt;br /&gt;Ensuite, il faut vérifier que tout fonctionne comme souhaité :&lt;br /&gt;$ lsnrctl services&lt;br /&gt;La modification du fichier tnsnames.ora consiste à y ajouter l’entrée correspondant à la nouvelle instance, c’est-à-dire les lignes qui suivent :&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;DUPDB =&lt;br /&gt;(DESCRIPTION =&lt;br /&gt;(ADDRESS_LIST =&lt;br /&gt;(ADDRESS = (PROTOCOL = TCP)(HOST = jupiter)(PORT = 1521))&lt;br /&gt;)&lt;br /&gt;(CONNECT_DATA =&lt;br /&gt;(SID = dupdb)&lt;br /&gt;)&lt;br /&gt;)&lt;br /&gt;&lt;/em&gt;&lt;/span&gt;Note : Théoriquement la chaîne « SERVICE_NAME = dupdb » devrait marcher à la place de la chaîne « SID= dupdb ». Mais dans les faits, il semble que ce n’est pas toujours le cas.&lt;br /&gt;Pour tester la connexion, il suffit de faire ce qui suit :&lt;br /&gt;$ sqlplus "sys/pwsys@dupdb as sysdba"&lt;br /&gt;&lt;br /&gt;&lt;a name="_Toc123540487"&gt;&lt;strong&gt;Etape 6&lt;/strong&gt;&lt;/a&gt; : &lt;span style="font-size:85%;"&gt;&lt;strong&gt;S’assurer que l’on a bien à disposition et accessibles (à partir de la machine sur laquelle la base de données dupliquée va être créée), les sauvegardes RMAN nécessaires et les redo logs archivés.&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;Lorsque la machine de duplication (sur laquelle sera dupliquée la base) est différente de la machine primaire (sur laquelle se trouve la base de départ appelée base cible dans la terminologie RMAN), il est impératif de rendre les sauvegardes et copies d’image se trouvant sur les disques de la machine primaire, disponibles sur la machine distante avec les mêmes chemins absolus de répertoire que sur la machine primaire. Cela se fait soit à l’aide des commandes du système d’exploitation du genre cp (Unix), soit à l’aide de la mise en œuvre de NFS ou de disques partagés.&lt;br /&gt;&lt;br /&gt;&lt;a name="_Toc123540488"&gt;&lt;strong&gt;Etape 7&lt;/strong&gt;&lt;/a&gt; : &lt;span style="font-size:85%;"&gt;&lt;strong&gt;Allouer des canaux auxiliaires si des canaux automatiques ne sont pas configurés&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;Il s’agit de démarrer RMAN avec une connexion à la database cible, à la base dupliquée et s’il y a lieu, la database du catalogue de récupération&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;$ rman TARGET SYS/target_pwd@prodb CATALOG &lt;a href="mailto:rman/cat_pwd@cat_str"&gt;rman/cat_pwd@cat_str&lt;/a&gt; AUXILIARY &lt;/em&gt;&lt;/span&gt;&lt;a name="446408"&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;SYS/aux_pwd@dupdb&lt;br /&gt;&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;Voici un exemple de cas où il n’y a pas de canaux automatiques configurés. Dans ces cas-là, on doit allouer manuellement au moins un canal auxiliaire dans la même commande RUN que la commande « DUPLICATE » et avant celle-ci. Le type de canal (DISK ou sbt) doit correspondre au média sur lequel se trouvent les sauvegardes de la database cible. Si les sauvegardes sont sur disque, la duplication sera d’autant plus rapide qu’il y aura plus de canaux alloués.&lt;/div&gt;&lt;div align="justify"&gt;&lt;a name="442243"&gt;&lt;/a&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;RUN &lt;/em&gt;&lt;/span&gt;&lt;a name="447706"&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;{&lt;/em&gt;&lt;/span&gt;&lt;a name="442244"&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;# to manually allocate a channel of type sbt issue:&lt;/em&gt;&lt;/span&gt;&lt;a name="442245"&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;ALLOCATE AUXILIARY CHANNEL ch1 DEVICE TYPE sbt;&lt;/em&gt;&lt;/span&gt;&lt;a name="442246"&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;a name="442247"&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;# to manually allocate three auxiliary channels for disk issue (specifying whatever &lt;/em&gt;&lt;/span&gt;&lt;a name="445443"&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;# channel id that you want):&lt;/em&gt;&lt;/span&gt;&lt;a name="442249"&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;ALLOCATE AUXILIARY CHANNEL aux1 DEVICE TYPE DISK;&lt;/em&gt;&lt;/span&gt;&lt;a name="442250"&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;ALLOCATE AUXILIARY CHANNEL aux2 DEVICE TYPE DISK;&lt;/em&gt;&lt;/span&gt;&lt;a name="442251"&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;ALLOCATE AUXILIARY CHANNEL aux3 DEVICE TYPE DISK;&lt;/em&gt;&lt;/span&gt;&lt;a name="442252"&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;...&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;...&lt;/span&gt;&lt;/em&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;...&lt;/span&gt;&lt;/em&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;DUPLICATE ...&lt;/em&gt;&lt;/span&gt;&lt;a name="442253"&gt;&lt;/a&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;}&lt;br /&gt;&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;Si l’on a configuré des canaux automatiques, alors RMAN peut utiliser ces canaux configurés pour la duplication même s’ils ne spécifient pas l’option AUXILIARY. Cependant, si les canaux auxiliaires ont besoin de paramètres spéciaux, alors on doit configurer un canal automatique avec l’option AUXILIARY. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19916968-113811720407987138?l=bkomlan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bkomlan.blogspot.com/feeds/113811720407987138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19916968&amp;postID=113811720407987138' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/113811720407987138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/113811720407987138'/><link rel='alternate' type='text/html' href='http://bkomlan.blogspot.com/2006/01/duplication-de-base-de-donnees-sous.html' title=''/><author><name>Komlan</name><uri>http://www.blogger.com/profile/13838924023943732608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19916968.post-113682263609615440</id><published>2006-01-09T07:59:00.000-08:00</published><updated>2006-01-09T08:08:41.813-08:00</updated><title type='text'></title><content type='html'>&lt;div align="justify"&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;DUPLICATION OU CLONAGE DE BASE DE DONNEES ORACLE&lt;br /&gt;(Entre clarification et choix)&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;Dans la littérature technique de l’ingénierie des bases de données Oracle, clonage et duplication sont mélangés, permutés et parfois confondus.&lt;br /&gt;Nous voulons par ce premier d’une série d’articles devant porter sur ces questions, clarifier les termes et montrer la nécessité de faire un choix en fonction de ses propres besoins. A la fin de ce premier article, nous donnerons quelques définitions de termes que le lecteur devra avoir à l’esprit pour une meilleure compréhension de la suite.&lt;br /&gt;Les critères que nous avons décidés de retenir afin de distinguer les deux opérations (clonage et duplication) peuvent paraître arbitraires surtout aux littéraires. Mais nous avouons d’entrée de jeu que nous n’avions pas eu le choix à ce niveau-là ; nos seuls soucis sont : la clarté et l’efficacité pour que le lecteur et le technicien puissent s’y retrouver.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;La duplication d’une base de données&lt;br /&gt;&lt;/strong&gt;Il s’agit de reproduire rapidement une base de données de production à l’aide de l’utilitaire RMAN, à des fins de tests (tests de sauvegarde/restauration, tests d’import/export, tests d’optimisation de performance, etc…) afin d’impacter le moins possible la base de données de production.&lt;br /&gt;La base de données dupliquée est une copie de la base de départ (base cible) que l’on peut exécuter de façon indépendante de la base cible. Cette copie peut être identique à la base cible c’est-à-dire comporter les mêmes tablespaces et fichiers de données que l’originale ou ne contenir qu’un sous-ensemble des tablespaces d’origine.&lt;br /&gt;Cette reproduction peut se faire sur la même machine mais sous un nom de base de données différent. Autre possibilité : la reproduction peut également se faire sur une autre machine ; dans ce cas la nouvelle base qui résulte de l’opération de duplication peut porter le même nom ou un nom différent, avoir ou non la même structure de répertoires.&lt;br /&gt;Nous avons choisi le terme « duplication » par référence au fait que la commande Oracle qui se trouve au cœur de cette opération est la commande « DUPLICATE ».&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Duplication n’est pas clonage&lt;br /&gt;&lt;/strong&gt;Une procédure de duplication diffère d’une procédure de clonage sur quelques points importants, même si les deux procédures sont assez proches l’une de l’autre et que dans la littérature technique, on trouve parfois la duplication sous le nom de clonage :&lt;br /&gt;- Le clonage est destiné à créer une base appelée à remplacer celle dont elle est le clone ; la base résultant de l’opération porte le même nom et le même DBID. De ce fait, si la base clônée ne remplace pas la base de départ, les deux ne doivent pas être opérationnelles simultanément sur le même réseau et ne peuvent être enregistrées dans le même catalogue RMAN.&lt;br /&gt;- L’opération de clonage est une opération « one shot » c’est-à-dire qu’à chaque fois, la procédure doit être mise en œuvre de la première à la dernière étape.&lt;br /&gt;- Enfin le mécanisme de clonage est beaucoup plus rigide que celui de la duplication, comme nous allons le voir dans la série d’articles qui suivra.&lt;br /&gt;- La duplication permet d’avoir une autre base de données portant un autre nom et un autre DBID mais gérant soit exactement les mêmes données ou un sous-ensemble de données de la base de données d’origine.&lt;br /&gt;- Il est possible de rafraîchir à intervalles réguliers la base dupliquée afin de la ramener au même niveau de données que la base de départ.&lt;br /&gt;- La base de données d’origine et celle résultant de la duplication peuvent cohabiter sur le même réseau y compris sur la même machine et être enregistrées dans le même catalogue RMAN.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;De la terminologie&lt;br /&gt;&lt;/strong&gt;Passons en revue rapide quelques termes ou notions importantes qui seront nécessaires pour la suite.&lt;br /&gt;&lt;strong&gt;&lt;em&gt;RMAN&lt;/em&gt;&lt;/strong&gt; : c’est l’acronyme de Recovery Manager. Il s’agit de l’outil performant qu’Oracle fournit avec la plupart des versions et éditions de ses bases de données et qui facilite et permet d’automatiser les sauvegardes et restaurations de ses bases. Tous les développements que nous ferons seront basés sur cet outil.&lt;br /&gt;&lt;strong&gt;&lt;em&gt;Target database /base de données cible&lt;/em&gt;&lt;/strong&gt; : dans la terminologie RMAN, « target database désigne la base de données source (ou d’origine) à partir de laquelle se fait la duplication ou le clonage. Nous traduirons « target database » par les termes français « base de données cible ».&lt;br /&gt;&lt;strong&gt;&lt;em&gt;Auxiliary instance/auxiliary database (instance auxiliaire/base de données auxiliaire) :&lt;/em&gt;&lt;/strong&gt; une base de données auxiliaire est une base de données RAC qui sera créée en tant que résultat de la duplication de la base de données cible. Dans la terminologie RMAN, l’instance auxiliaire identifie une instance à laquelle RMAN se connecte en vue d’exécuter la commande « duplicate ».&lt;/div&gt;&lt;div align="justify"&gt;A suivre &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19916968-113682263609615440?l=bkomlan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bkomlan.blogspot.com/feeds/113682263609615440/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19916968&amp;postID=113682263609615440' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/113682263609615440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/113682263609615440'/><link rel='alternate' type='text/html' href='http://bkomlan.blogspot.com/2006/01/duplication-ou-clonage-de-base-de.html' title=''/><author><name>Komlan</name><uri>http://www.blogger.com/profile/13838924023943732608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19916968.post-113517608323567994</id><published>2005-12-21T06:38:00.000-08:00</published><updated>2005-12-21T06:41:23.243-08:00</updated><title type='text'></title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;Gestion et partage en ligne des bookmarks/favoris/signets internet&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;(Lu pour vous dans la livraison du lundi 19 décembre 2005 du journal gratuit 20 Minutes)&lt;br /&gt;&lt;br /&gt;Avec la généralisation du haut débit illimité, du P2P et des blogs, non seulement la gestion des bookmarks devient un must mais leur volume augmente de façon quasi-exponentielle. Résultat : les bookmarks avec plusieurs centaines d’entrées sont légions et leur gestion devient problématique d’autant plus que l’on emporte rarement avec soi ces fameux bookmarks&lt;br /&gt;Et c’est là que le nouvel outil devient intéressant.&lt;br /&gt;Il permet en effet de stocker ses favoris en ligne, de les organiser, et de les partager avec les autres internautes.&lt;br /&gt;Pour exploiter le nouvel outil/service, il suffit d’ouvrir un compte gratuit  sur le site qui offre le service (&lt;a href="http://del.icio.us/"&gt;http://del.icio.us&lt;/a&gt; ou &lt;a href="http://yahoo.icio.us/"&gt;http://yahoo.icio.us&lt;/a&gt; car Yahoo vient d’acquérir la petite société del.icio.us pour un montant non dévoilé).&lt;br /&gt;&lt;br /&gt;Il est même possible de poster des favoris. Pour cela, il faut taper &lt;a href="http://del.icio.us/post"&gt;http://del.icio.us/post&lt;/a&gt; dans son navigateur, puis entrer l’adresse du site à bookmarker. Une nouvelle page apparaît où on peut saisir une courte description de la nouvelle entrée ainsi qu’une liste de tags qui lui seront associés.&lt;br /&gt;Il semble que ce genre de service commence à se répandre très vite. Aussi, alors que del.icio.us est en anglais, il a déjà fait de petits enfants (ou petits frères) dans beaucoup de langues. C’est le cas par exemple de plpage.net (&lt;a href="http://www.plpage.net/"&gt;http://www.plpage.net&lt;/a&gt; et http://www.plpage.net/savoir_plus.php)&lt;br /&gt;&lt;br /&gt;Pour en savoir plus,&lt;br /&gt;&lt;a href="http://del.icio.us/"&gt;http://del.icio.us&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.plpage.net/savoir_plus.php"&gt;http://www.plpage.net/savoir_plus.php&lt;/a&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19916968-113517608323567994?l=bkomlan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bkomlan.blogspot.com/feeds/113517608323567994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19916968&amp;postID=113517608323567994' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/113517608323567994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/113517608323567994'/><link rel='alternate' type='text/html' href='http://bkomlan.blogspot.com/2005/12/gestion-et-partage-en-ligne-des.html' title=''/><author><name>Komlan</name><uri>http://www.blogger.com/profile/13838924023943732608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19916968.post-113506734711624705</id><published>2005-12-20T00:18:00.000-08:00</published><updated>2005-12-20T00:29:07.126-08:00</updated><title type='text'></title><content type='html'>&lt;span style="font-size:130%;"&gt;&lt;strong&gt;BIEN COMPRENDRE LA NOTION DE « NOM DE SERVICE »&lt;br /&gt;POUR EVITER LES ERREURS&lt;br /&gt;« ORA-12154 :TNS :Could not resolve service name »&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;br /&gt;&lt;div align="justify"&gt;Cet article fait le point sur une erreur commune fréquemment rencontrée par les nouveaux administrateurs Oracle et concernant Oracle net Services. Il constitue une traduction/adaptation d'un article apparue le 23 octobre 2003 sur le site Database Journal et dont l’auteur est Steve Callan et le titre : Avoiding the « ORA-12154 :TNS :culd not resolve service name error. »&lt;br /&gt;&lt;br /&gt;Il est important de savoir configurer les fichiers tnsnames.ora et sqlnet.ora. Une mauvaise configuration de ces deux fichiers entraine une impossibilité de se connecter à la base de données. Et l’une des erreurs souvent rencontrées dans ce cas est « ORA-12154 :TNS :could not resolve service name. » Il n’est pas rare que les nouveaux utilisateurs d’Oracle passent des heures et des heures à essayer de comprendre cette erreur.&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;Généralités et contexte&lt;br /&gt;&lt;/strong&gt;Commençons par voir ce qui se passe lorsque l’utilisateur oracle tape nom_utilisateur/mot_de_passe@SID. Nous allons utiliser une connexion ordinaire scott/tiger et le nom de notre base de données sera dbaspt.&lt;br /&gt;Après la saisie de &lt;a href="mailto:nom_utilisateur/mot_de_passe@SID"&gt;nom_utilisateur/mot_de_passe@SID&lt;/a&gt;, Oracle va s’arrêter au fichier sqlnet.ora pour récupérer la valeur de la variable d’environnement NAMES.DEFAULT_DOMAIN, si elle existe. C’est le lieu de rappeler que lors de l’installation du logiciel Oracle et de la création  de la base de données, l’utilisateur avait été invité à saisir le nom de dommaine de sa base. &lt;/div&gt;&lt;div align="justify"&gt;Supposons qu’il avait entré « company.com » comme nom de domaine. Oracle va alors ajouter la valeur de la variable NAMES.DEFAULT_DOMAIN (ici company.com) à dbaspt, ce qui aboutit à la chaîne dbaspt.company.com.&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;Le fichier tnsnames.ora&lt;br /&gt;&lt;/strong&gt;Ensuite Oracle va s’arrêter au fichier tnsnames.ora. Typiquement ce fichier se présente comme ci-après :&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;# TNSNAMES.ORA Network Configuration File : D:\Oracle\network\admin\tnsnames.ora&lt;br /&gt;# Generated by Oracle configuration tools.&lt;br /&gt;&lt;br /&gt;EXTPROC_CONNECTION_DATA.COMPANY.COM =&lt;br /&gt;            (DESCRIPTION =&lt;br /&gt;                        (ADDRESS_LIST =&lt;br /&gt;                                   (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))&lt;br /&gt;                        )&lt;br /&gt;                        (CONNECT_DATA =&lt;br /&gt;                                   (SID = PLSExtProc)&lt;br /&gt;                                   (PRESENTATION = RO)&lt;br /&gt;                        )&lt;br /&gt;            )&lt;br /&gt;DBASPT.COMPANY.COM =&lt;br /&gt;            (DESCRIPTION =&lt;br /&gt;                        (ADDRESS_LIST =&lt;br /&gt;                                   (ADDRESS = (PROTOCOL = TCP)(HOST = yourpc)(PORT = 1521))&lt;br /&gt;                        )&lt;br /&gt;                        (CONNECT_DATA =&lt;br /&gt;                                   (SERVER = DEDICATED)&lt;br /&gt;                                   (SERVICE_NAME = dbaspt)&lt;br /&gt;                        )&lt;br /&gt;            )&lt;br /&gt;&lt;br /&gt;# SQLNET.ORA Network Configuration File : D:\Oracle\network\admin\sqlnet.ora&lt;br /&gt;# Generated by Oracle configuration tools.&lt;br /&gt;&lt;br /&gt;NAMES.DEFAULT_DOMAIN = company.com&lt;br /&gt;SQLNET.AUTHENTICATION_SERVICES = (NTS)&lt;br /&gt;NAMES.DIRECTORY_PATH = (TNSNAMES, ONAMES, HOSTNAME)&lt;br /&gt;&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;Le deuxième paragraphe dans le fichier tnsnames.ora commence par DBASPT.COMPANY.COM. Si DBASPT.COMPANY.COM n’apparaît pas comme mentionné, Scott va recevoir  l’erreur ORA-12154.&lt;br /&gt;Si la première ligne avait seulement "DBASPT" (pas de nom de domaine par défaut), Scott va de nouveau recevoir la même erreur.&lt;br /&gt;Au cas où la valeur de la variable NAMES.DEFAULT_DOMAIN n’existe pas  et que le contenu du fichier tnsnames.ora reste inchangé, Scott va recevoir l’erreur ORA-12154 dans la mesure où Oracle recherche DBASPT et non DBASPT.COMPANY.COM.&lt;br /&gt;Au cas où il n’existe pas de nom de domaine par défaut et que le fichier tnsnames.ora contient DBASPT.COMPANY.COM, Scott pourra se connecter à la base de données en utilisant le nom de service réseau pleinement qualifié. La chaîne de caractères représentée par NAMES.DEFAULT_DOMAIN concatené au SID est ce que l’on appelle le nom de service réseau pleinement qualifié. Scott pourra se connecter à la base de données en utilisant &lt;a href="mailto:scott/tiger@dbaspt.company.com"&gt;scott/tiger@dbaspt.company.com&lt;/a&gt;. Si Scott avait la valeur de NAMES.DEFAULT_DOMAIN positionné à internet.com, pourrait-il se connecter à la base de données à l’aider  de &lt;a href="mailto:scott/tiger@dbaspt.company.com"&gt;scott/tiger@dbaspt.company.com&lt;/a&gt; ? La réponse est oui. Chaque fois que scott utilise une chaîne de nom de service avec un point (« . ») à l’intérieur, Oracle considère cette chaîne comme étant un nom de service réseau pleinement qualifié. Si un nom de service réseau pleinement qualifié est utilisé, Oracle contourne le fichier sqlnet.ora et va directement au fichier tnsnames.ora pour résoudre le nom de service.&lt;br /&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;Le fichier sqlnet.ora&lt;br /&gt;&lt;/strong&gt;Dans un environnement générique, on n’a même pas besoin d’utiliser le fichier sqlnet.ora. Pas d’exigence d’utiliser NAMES.DEFAULT_DOMAIN.&lt;br /&gt;La variable NAMES.DIRECTORY_PATH montrée dans le fichier exemple reflète l’ordre par défaut d’utilisation des méthodes de résolution de noms. Aussi, si on utilise cet ordre par défaut, il n’y a pas besoin de le lister.&lt;br /&gt;Dans la mesure où le fichier sqlnet.ora donné en exemple était basé sur un environnement Windows, Oracle a inclus le paramètre SQLNET.AUTHENTICATION_SERVICES et là encore même s’il n’est pas exigé.&lt;br /&gt;Si vous utilisez une et une seule base de données et pas d’appels de procédure externe, tout ce dont vous pourriez avoir besoin dans le fichier  tnsnames.ora est ceci :&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;DBASPT =&lt;br /&gt;            (DESCRIPTION =&lt;br /&gt;                        (ADDRESS_LIST =&lt;br /&gt;                                   (ADDRESS = (PROTOCOL = TCP)(HOST = yourpc)(PORT = 1521))&lt;br /&gt;                        )&lt;br /&gt;                        (CONNECT_DATA =&lt;br /&gt;                                   (SERVER = DEDICATED)&lt;br /&gt;                                   (SERVICE_NAME = dbaspt)&lt;br /&gt;                        )&lt;br /&gt;            )&lt;br /&gt;&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;Scott et les autres utilisateurs auront besoin uniquement d’utiliser &lt;a href="mailto:nom_utilisateur/mot_de_passe@dbaspt"&gt;nom_utilisateur/mot_de_passe@dbaspt&lt;/a&gt; pour se connecter à la base de données. L’entrée « SERVICE_NAME pourrait être changée en « SID » parce que l’utilisation de "SID=votre_nom_de_base" est encore supporté, mais le standard recommendé par Net8 et au-dessus est "SERVICE_NAME = votre_nom_de_base".&lt;br /&gt;&lt;br /&gt;Comme pour beaucoup de choses sous Oracle, il y a plus d’une méthode pour accomplir ce que vous souhaitez accomplir. Et La configuration de Oracle Net n’est pas une exception. Hormis les pare-feux et autres outils sophistiqués de réseautage, Oracle fournit une méthode sécurisée de fixation des erreurs dans les fichiers de configuration d’Oracle net (et Net8). Cette méthode repose sur l’utilisation de l’assistant graphique et l’un des bénéfices d’utilisation de cet assistant est que vous obtiendrez exactement la même sortie si vous entrez la même information. N’ayez pas peur d’expérimenter ces fichiers dans une base de données de test. Vous n’endommagerez pas vos données et vous pourrez toujours recommencer.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;Bon courage donc&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19916968-113506734711624705?l=bkomlan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bkomlan.blogspot.com/feeds/113506734711624705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19916968&amp;postID=113506734711624705' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/113506734711624705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/113506734711624705'/><link rel='alternate' type='text/html' href='http://bkomlan.blogspot.com/2005/12/bien-comprendre-la-notion-de-nom-de.html' title=''/><author><name>Komlan</name><uri>http://www.blogger.com/profile/13838924023943732608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-19916968.post-113506660402451272</id><published>2005-12-20T00:09:00.000-08:00</published><updated>2005-12-20T00:16:44.036-08:00</updated><title type='text'></title><content type='html'>&lt;div align="justify"&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;INSTALLATION D’ORACLE9i SOUS SUN SOLARIS EN SEPT ETAPES&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Introduction&lt;br /&gt;&lt;/strong&gt;Cette installation, nous la ferons dans le respect des règles OFA (Optimal Flexible Architecture) avec une pointe d’astuce pour contourner le fait que nous n’avons pas assez d’espace sur la partition root alors qu’il y en a beaucoup sur la partition hébergéant /export/home.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Etape 1 : Création du point de montage de notre insta&lt;/strong&gt;llation&lt;br /&gt;Il s’agit de créer le point de montage /u01 sous lequel sera installé notre distribution ainsi que les bases de données de test.. Ce répertoire est nommé point de montage durant l’installation bien qu’il ne correspond pas forcément à un point de montage au sens Unix. Il contient deux sous répertoires oradata et app. Dans le premier nous trouverons tous les fichiers associés à chaque instance supportée par le serveur. Dans le second, nous trouvons les logiciels associés à cette nouvelle version et quelques fichiers de données des instances.&lt;br /&gt;Dans notre cas, nous créons un répertoire /export/home/u01 et /u01, ce dernier pointant sur le premier.&lt;br /&gt;# mkdir  /export/home/u01  /export/home/u01/app &lt;br /&gt;# mkdir /export/home/u01/app/oracle  /export/home/u01/oradata&lt;br /&gt;# ln –s /export/home/u01 /u01&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Etape 2 : Création des groupes Unix dba et oinstall&lt;/strong&gt;&lt;br /&gt;Le gid du groupe importe peu mais son nom est imposé par Oracle ; il doit se nommer dba.&lt;br /&gt;# groupadd dba&lt;br /&gt;# groupadd oinstall&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Etape 3 : Création de l’utilisateur oracle&lt;/strong&gt;&lt;br /&gt;Avec les caractéristiques suivantes :&lt;br /&gt;-          Nom : oracle&lt;br /&gt;-          Répertoire personnel : /u01&lt;br /&gt;-          Uid : 1000&lt;br /&gt;-          Shell par défaut : bourne shell&lt;br /&gt;-          Mot de passe : M0racle&lt;br /&gt;-          Groupe unix par défaut : dba&lt;br /&gt;-          Groupe unix supplémentaire : oinstall&lt;br /&gt;# useradd –d /u01 –u 1000 –g dba –G oinstall oracle&lt;br /&gt;# passwd oracle&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Etape 4 : Modification des droits des répertoires créés&lt;br /&gt;&lt;/strong&gt;# chown oracle /u01&lt;br /&gt;# chgrp dba /u01&lt;br /&gt;&lt;br /&gt;# chown oracle /u01/app/oracle&lt;br /&gt;# chgrp dba /u01/app/oracle&lt;br /&gt;&lt;br /&gt;# chown oracle /u01/oradata&lt;br /&gt;# chgrp dba /u01/oradata&lt;br /&gt;&lt;br /&gt;# ls –l /u01/app&lt;br /&gt;# ls –l /&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Etape 5 : Création de l’environnement de l’utilisateur oracle&lt;/strong&gt;&lt;br /&gt;Il s’agit de se connecter sous le compte oracle et de :&lt;br /&gt;-          créer les répertoires /u01/app/oracle/product et /u01/app/oracle/product/9.2.1&lt;br /&gt;-          créer le fichier .profile avec les données suivantes. Le contenu du fichier se présente comme ci-dessous :&lt;br /&gt;&lt;em&gt;&lt;span style="font-size:85%;"&gt;# !/bin/sh&lt;br /&gt;# .profile cree le 01/01/2005 par Rigo&lt;br /&gt;&lt;br /&gt;# Positionnement des droits de lecture et d’exécution&lt;br /&gt;umask 022&lt;br /&gt;&lt;br /&gt;# Positionnement de la variable DISPLAY utilise par OUI&lt;br /&gt;DISPLAY=ultra10 :0.0 ; export DISPLAY&lt;br /&gt;&lt;br /&gt;# Definition des variables d’environnement oracle&lt;br /&gt;ORACLE_BASE=/u01/app/oracle ; export ORACLE_BASE&lt;br /&gt;ORACLE_HOME=$ORACLE_BASE/product/9.2.1 ; export ORACLE_HOME&lt;br /&gt;NLS_LANG=french_France.WE8DEC ; export NLS_LANG&lt;br /&gt;&lt;br /&gt;# ORA_NL33 permet à OUI de créer une base autre que US7ASCII&lt;br /&gt;ORA_NL33=$ORACLE_HOME/ocommon/nls/admin/data ; export ORA_NL33&lt;br /&gt;# LD_LIBRARY_PATH est defini pourv les produits qui utilisent des librairies partagees, comme Pro*C&lt;br /&gt;LD_LIBRARY_PATH=${ORACLE_HOME}/lib ; export LD_LIBRARY_PATH&lt;br /&gt;PATH=/usr/bin:/usr/sbin :${ORACLE_HOME}/bin:/usr/ccs/bin :$PATH :. ; export PATH&lt;br /&gt;&lt;br /&gt;#ORACLE_TERM=xsun5 ; export ORACLE_TERM&lt;br /&gt;&lt;br /&gt;# Definition de l instance par defaut : test&lt;br /&gt;ORACLE_SID=test ; export ORACLE_SID&lt;br /&gt;&lt;br /&gt;# Verification des valeurs pour l’utilisateur oracle&lt;br /&gt;echo « ORACLE_SID= »$ORACLE_SID&lt;br /&gt;echo « ORACLE_HOME= »$ORACLE_HOME&lt;br /&gt;&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Etape 6 : Programmation des nouvelles limites pour les IPC&lt;br /&gt;&lt;/strong&gt;La principale modification porte sur la programmation des IPC (Inter-Process Communication). Ils servent de base de travail pour la SGA et les processus Oracle.&lt;br /&gt;Ces mécanismes sont au nombre de trois : les sémaphores, la file d’attente de messages et la mémoire partagée. Par principe, ils sont sous-dimensionnés sur les noyaux Unix et il est donc impératif de changer leur taille avant de valider la Base.&lt;br /&gt;Pour cela il faut modifier le fichier /etc/system et rebooter la machine après cette modification.&lt;br /&gt;Les paramètres à modifier sont :&lt;br /&gt;·         SEMMNI : nombre de familles de sémaphores dans le système&lt;br /&gt;·         SEMMNS : nombre total de sémaphores sur le système&lt;br /&gt;·         SEMMSL : nombre de sémaphores par famille&lt;br /&gt;·         SHMMAX : taille maximum d’un segment de mémoire&lt;br /&gt;·         SHMMIN : taille minimum d’un segment de mémoire&lt;br /&gt;·         SHMMNI : nombre d’identificateurs de zone partagées&lt;br /&gt;&lt;br /&gt;Le contenu de /etc/system peut se présenter comme suit :&lt;br /&gt;forceload :        misc/ipc&lt;br /&gt;forceload :        sys/shmsys&lt;br /&gt;forceload :        sys/semsys&lt;br /&gt;set shmsys:shminfo_shmmax=83886080 (ou 33554432)&lt;br /&gt;set shmsys:shminfo_shmmin=1&lt;br /&gt;set shmsys:shminfo_shmmni=100&lt;br /&gt;set shmsys:shminfo_shmseg=10&lt;br /&gt;set semsys:seminfo_semmns=200&lt;br /&gt;set semsys:seminfo_semmni=70&lt;br /&gt;&lt;br /&gt;Le redémarrage du système se fait par la commande init 6.&lt;br /&gt;La vérification de la prise en compte des modifications apporte se fait par la commande &lt;em&gt;sysdef –i.&lt;br /&gt;&lt;/em&gt;L’administrateur peut vérifier le chargement des modules avec la commande modinfo. L’administrateur dispose des commandes ipcs (ipc status) et ipcrm (remove des ipc) pour surveiller l’activité de ces ressources internes ou pour les libérer suite à un crash de la machine.&lt;br /&gt;Pour libérer  une ressource, il suffit d’utiliser  la commande ipcrm.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Etape 7 : Procéder à l’installation proprement dite&lt;br /&gt;&lt;/strong&gt;Il s’agit de :&lt;br /&gt;-          se connecter sous le compte oracle&lt;br /&gt;-          monter le premier cdrom d’installation,&lt;br /&gt;-          aller dans le répertoire contenant l’exécutable runInstaller,&lt;br /&gt;-           lancer ce dernier&lt;br /&gt;-          enfin se laisser guider.&lt;br /&gt;$ mount –F hsfs –o ro /dev/dsk/c0t6d0s2 /cdrom0&lt;br /&gt;$ cd /cdrom0&lt;br /&gt;$ ./runInstaller&lt;br /&gt;Si le message suivant se présente dès le lancement de runInstaller « Xlib : connection to « ultra10 :0.0 refused by server », il faut taper la commande ci-après :&lt;br /&gt;# xhost ultra10&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;Pour finir, voici une liste non-exhaustive d’exécutables utiles lors de l’exploitation d’oracle sous Solaris et que nous vous invitons à découvrir en les lançant  (ils sont tous dans le répertoire $ORACLE_HOME/bin) :&lt;br /&gt;-          dbca (database configuration assitant)&lt;br /&gt;-          dbua&lt;br /&gt;-          dbv (database verify)&lt;br /&gt;-          oemapp (Oracle enterprise manager application)&lt;br /&gt;-          emca (Enterprise manager configuration assistant)&lt;br /&gt;-          esm&lt;br /&gt;-          ela&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19916968-113506660402451272?l=bkomlan.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bkomlan.blogspot.com/feeds/113506660402451272/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=19916968&amp;postID=113506660402451272' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/113506660402451272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/19916968/posts/default/113506660402451272'/><link rel='alternate' type='text/html' href='http://bkomlan.blogspot.com/2005/12/installation-doracle9i-sous-sun.html' title=''/><author><name>Komlan</name><uri>http://www.blogger.com/profile/13838924023943732608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
