Overblog Suivre ce blog
Administration Créer mon blog
24 novembre 2010 3 24 /11 /novembre /2010 22:35

 

Remove / Suppression d'un Control File Oracle.

Comment supprimer un Control File Oracle ?
Nous allons supprimer le fichier de controle F:\DB1\CONTROL03.CTL.

Deux méthodes suivant la configuration en place PFILE or SPFILE.

 

Si vous utilisez le fichier de paramètre statique PFILE.

Editer le fichier PFILE se nommant initSID.ora, et supprimer dans CONTROL_FILES la partie F:\DB1\CONTROL03.CTL

 
 CONTROL_FILES= (’C:\ORACLE\PRODUCT\10.2.0\ORADATA\DB1\CONTROL01.CTL’, ’D:\DB1\CONTROL02.CTL’,’F:\DB1\CONTROL03.CTL’) 

Fermer la base de données

 

SQL> shutdown immediate;

puis redémarrer la base de données.

 

SQL> STARTUP

 

SQL> SHOW PARAMETER CONTROL_FILES;

 

Si vous utilisez le fichier de paramètre serveur SPFILE.

Avec alter system set

 
 SQL> ALTER SYSTEM SET CONTROL_FILES='C:\ORACLE\PRODUCT\10.2.0\ORADATA\DB1\CONTROL01.CTL', 'D:\DB1\CONTROL02.CTL' SCOPE=SPFILE; 

Fermer la base de données

 

SQL> shutdown immediate;

puis redémarrer la base de données.

 

SQL> STARTUP

 

SQL> SHOW PARAMETER CONTROL_FILES;

 

Liens en rapport avec l'article et qui sont susceptibles de vous intéresser
• Multiplexer Fichiers Contrôle Oracle (control-files)
• Fichier de Contrôle oracle (Control Files)
• Move / Déplacer un Control File Oracle
Repost 0
Published by Daniel Roesch - dans CONTROL FILES
commenter cet article
21 novembre 2010 7 21 /11 /novembre /2010 11:29

 

Perte, Récupération, Restauration d'un Control File Oracle.

Comment démarrer ma base de données Oracle avec la perte d'un Control File ?.

En restaurant le fichier de contrôle à partir d'une copie multiplexée.

Dans mon exemple, nous avons 3 Control Files dans :
- C:\ORACLE\PRODUCT\10.2.0\ORADATA\DB1\CONTROL01.CTL
- C:\ORACLE\PRODUCT\10.2.0\ORADATA\DB1\CONTROL02.CTL
- C:\ORACLE\PRODUCT\10.2.0\ORADATA\DB1\CONTROL03.CTL

J'ai volontairement supprimé le CONTROL03.CTL.

STARTUP de la base et prise de connaissance de l'erreur ORA-00205.

 
 SQL> startup ORACLE instance started. Total System Global Area 293601280 bytes Fixed Size 1248624 bytes Variable Size 71303824 bytes Database Buffers 218103808 bytes Redo Buffers 2945024 bytes ORA-00205: error in identifying control file, check alert log for more info 

Lecture du message d'erreur dans BDUMP du fichier ALERTsid.log de la base.

 
 ORA-00202: fichier de controle : 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\DB1\CONTROL03.CTL' ORA-27041: ouverture du fichier impossible OSD-04002: unable to open file O/S-Error: (OS 2) Le fichier spécifié est introuvable. 

Avec HOST COPY, nous allons Copier le Control File CONTROL01.CTL (sain) tout en le renommant CONTROL03.CTL (perdu).

 

SQL> HOST COPY C:\ORACLE\PRODUCT\10.2.0\ORADATA\DB1\CONTROL01.CTL
C:\ORACLE\PRODUCT\10.2.0\ORADATA\DB1\CONTROL03.CTL

1 fichier(s) copié(s).

Montage et ouverture de la base de données.

 

SQL> ALTER DATABASE MOUNT;

Database altered.

 

SQL> ALTER DATABASE OPEN;

Database altered.

 

Liens en rapport avec l'article et qui sont susceptibles de vous intéresser
• Multiplexer Fichiers Contrôle Oracle (control-files)
• Fichier de Contrôle oracle (Control Files)
• Move / Déplacer un Control File Oracle
Repost 0
Published by Daniel Roesch - dans CONTROL FILES
commenter cet article
11 novembre 2010 4 11 /11 /novembre /2010 20:39

 

Move / Déplacer un fichier de contrôle Oracle.

Comment déplacer un Control File Oracle  de E:\DB1\CONTROL03.CTL  vers F:\DB1\CONTROL03.CTL ?. Deux méthodes suivant la configuration en place PFILE or SPFILE.

 

Si vous utilisez le fichier de paramètre statique PFILE.

Editer le fichier PFILE se nommant initSID.ora, changez le paramètre CONTROL_FILES en y modifiant le chemin du fichier de contrôle. E:\DB1\CONTROL03.CTL vers F:\DB1\CONTROL03.CTL

 
 CONTROL_FILES= (’C:\ORACLE\PRODUCT\10.2.0\ORADATA\DB1\CONTROL01.CTL’, ’D:\DB1\CONTROL02.CTL’, ’F:\DB1\CONTROL03.CTL’) 

 

 

SQL> shutdown immediate;

Ensuite Couper / Coller le fichier de contrôle (ou avec HOST MOVE) E:\DB1\CONTROL03.CTL vers F:\DB1\CONTROL03.CTL puis redémarrer la base de données.

 

SQL> HOST MOVE E:\DB1\CONTROL03.CTL F:\DB1\CONTROL03.CTL ;

 

SQL> STARTUP

 

SQL> SHOW PARAMETER CONTROL_FILES;

 

Si vous utilisez le fichier de paramètre serveur SPFILE.

 

 
 SQL> ALTER SYSTEM SET CONTROL_FILES='C:\ORACLE\PRODUCT\10.2.0\ORADATA\DB1\CONTROL01.CTL', 'D:\DB1\CONTROL02.CTL', 'F:\DB1\CONTROL03.CTL' SCOPE=SPFILE; 

 

 

SQL> shutdown immediate;

Ensuite Couper / Coller le fichier de contrôle (ou avec HOST MOVE) E:\DB1\CONTROL03.CTL vers F:\DB1\CONTROL03.CTL puis redémarrer la base de données.

 

SQL> HOST MOVE E:\DB1\CONTROL03.CTL F:\DB1\CONTROL03.CTL ;

 

SQL> STARTUP

 

SQL> SHOW PARAMETER CONTROL_FILES;

 

Liens en rapport avec l'article et qui sont susceptibles de vous intéresser
• Multiplexer Fichiers Contrôle Oracle (control-files)
• Fichier de Contrôle oracle (Control Files)
Repost 0
Published by Daniel Roesch - dans CONTROL FILES
commenter cet article
24 janvier 2010 7 24 /01 /janvier /2010 21:33

 

Multiplexer les fichiers de contrôle Oracle.

Comment ajouter des fichiers de contrôle dans Oracle.
Comment multiplexer les fichiers de contrôles avec un SPILE.
Comment ajouter un fichier de contrôle avec un PFILE.

Il est vivement conseillé de multiplexer les fichiers de contrôle appelé aussi fichiers ctl (control-files).
Le multiplexage peut être mis en place à la création de la base de données ou ultérieurement.

Nous allons ajouter un fichier de contrôle dans la destination suivante E:\DB1\ -> CONTROL04.CTL.

 

Ajouter une fichier de contrôle Oracle avec un fichier de paramètre statique PFILE.

Editer le fichier PFILE se nommant initSID.ora, complétez le paramètre CONTROL_FILES en y ajoutant le chemin + le nom du nouveau fichier de contrôle.

 

 CONTROL_FILES= (’C:\ORACLE\PRODUCT\10.2.0\ORADATA\DB1\CONTROL01.CTL’, ’D:\DB1\CONTROL02.CTL’, ’E:\DB1\CONTROL03.CTL’, ’E:\DB1\CONTROL04.CTL’) 

 

Ajoute un fichier de contrôle Oracle avec un fichier de paramètre serveur SPFILE.

En mode console dans Sql*Plus, utiliser la commande ALTER SYSTEM SET sur le paramètre CONTROL_FILES avec l'option SCOPE=SPFILE.

 SQL> ALTER SYSTEM SET CONTROL_FILES='C:\ORACLE\PRODUCT\10.2.0\ORADATA\DB1\CONTROL01.CTL', 'D:\DB1\CONTROL02.CTL', 'E:\DB1\CONTROL03.CTL', 'E:\DB1\CONTROL04.CTL' SCOPE=SPFILE; 

 

Maintenant nous faisons un shutdown immediate de la base de données.

SQL> SHUTDOWN IMMEDIATE;

Copier un fichier de contrôle Oracle pour le multiplexer.

Ensuite le principe est le copier / coller d'un fichier ctl, nous allons copier au choix un des control files existant 1, 2 ou 3 dans le nouvel emplacement prévu E:\DB1\ puis ensuite le renommer en fichier ctl CONTROL04.CTL.

Attention de bien copier un fichier de contrôle cohérent pour le multiplexage (pas de soucis si la base est fermée normalement c'est à dire sans SHUTDOWN ABORT).

Nous démarrons la base de données Oracle.

SQL> STARTUP;

Vous avez maintenant 4 fichiers de contrôle.

Ajouter-Control-Files-oracle

Vous pouvez utiliser cette technique aussi pour déplacer un fichier de contrôle ou supprimer un fichier de contrôle.

 

Haut de Page www.dba-ora.fr

Liens en rapport avec l'article et qui sont susceptibles de vous intéresser
• Multiplexer Fichiers Contrôle Oracle (control-files)
• Fichier de Contrôle oracle (Control Files)
• Move / Déplacer un Control File Oracle
• Suppression / Delete Control File Oracle
Repost 0
Published by Daniel R. - dans CONTROL FILES
commenter cet article
24 janvier 2010 7 24 /01 /janvier /2010 02:34

 

Fichier de Contrôle Oracle (Control Files).

C'est quoi un fichier Control Files.

Le fichier de contrôle est l'un des fichiers les plus important (ce n’est pas le seul d’ailleurs !!), il contient des informations précieuses sur la base de données.

Son format est binaire, n’essayez même pas de le modifier avec un éditeur de texte sous peine de le rendre inutilisable.


Ce qui est stocké dans le fichier de contrôle:

- Date/Heure de création de la base.

- Nom de la base (DBNAME).

- L’ID de la base (DBID).

- Info RMAN.

- Archive Log On/Off.

- Numéro de séquence (SCN).

- Chemin + Nom Fichiers de la base avec leurs statuts.

- Point de reprise (Checkpoint).

- etc.
 

Oracle peut fonctionner avec 1 fichier de contrôle mais il est vivement recommandé de multiplexer les control files sur des disques différents, car sinon en cas de corruption de ce fichier unique, la base ne démarre plus. Le Control File est lu et mis à jour perpétuellement des lors la base est en état MOUNT.

 

Où trouver des infos sur les contrôles files oracle.


SQL>
show PARAMETER CONTROL_FILES;

SQL> SELECT value FROM v$parameter WHERE name = 'control_files';


VALUE

---------------------------------------------------

C:\ORACLE\PRODUCT\10.2.0\ORADATA\DB1\CONTROL01.CTL,

D:\DB1\CONTROL02.CTL,

E:\DB1\CONTROL03.CTL

 

Voir le statut des controls files (INVALID ou Null)

SQL> SELECT status, name FROM v$controlfile;

 

Voir les MAXLOGFILES, MAXDATAFILES, MAXINSTANCES, MAXLOGHISTORY, etc

SQL> SELECT * FROM v$controlfile_record_section;

 

 


Control-Files-oracle

A connaître
 :

 

- La date de création du fichier de contrôle

- Sequence fichier de contrôle (incrémenté à chaque maj de celui-ci)

- Le dernier SCN enregistré

- Le SCN du dernier point de reprise

- Le SCN courant

- Dernière heure de mise à jour.

 

SQL> SELECT controlfile_created,

            controlfile_sequence#,

            controlfile_change#,

            checkpoint_change#,

            current_scn,

            controlfile_time

     FROM v$database;

 

Liens en rapport avec l'article et qui sont susceptibles de vous intéresser
• Multiplexer Fichiers Contrôle Oracle (control-files)
• Move / Déplacer un Control File Oracle
• Suppression / Delete Control File Oracle
Repost 0
Published by Daniel R. - dans CONTROL FILES
commenter cet article