đ§© 2ïžâŁ Si le fichier est perdu (ex. disque ASM endommagĂ©)
Il faut recréer les fichiers de contrÎle directement dans le diskgroup ASM.
Ătapes :
sqlplus / as sysdba
SHUTDOWN IMMEDIATE;
STARTUP NOMOUNT;
Puis exécute :
ALTER DATABASE CREATE CONTROLFILE REUSE DATABASE « CDB1 »
LOGFILE GROUP 1 (‘+DG_DATA/CDB1/ONLINELOG/group1.log’) SIZE 200M,
GROUP 2 (‘+DG_DATA/CDB1/ONLINELOG/group2.log’) SIZE 200M
DATAFILE ‘+DG_DATA/CDB1/DATAFILE/system01.dbf’,
‘+DG_DATA/CDB1/DATAFILE/sysaux01.dbf’,
‘+DG_DATA/CDB1/DATAFILE/undotbs01.dbf’,
‘+DG_DATA/CDB1/DATAFILE/users01.dbf’
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 1024
MAXINSTANCES 8
MAXLOGHISTORY 292
CHARACTER SET AL32UTF8;
đ Cette commande recrĂ©e le fichier de contrĂŽle dans le diskgroup ASM +DG_DATA.
đ§© 3ïžâŁ VĂ©rification aprĂšs crĂ©ation
ALTER DATABASE MOUNT;
ALTER DATABASE OPEN RESETLOGS;
SELECT name FROM v$controlfile;
Le résultat doit te montrer les chemins ASM :
+DG_DATA/CDB1/CONTROLFILE/current.256.987654321
đ§ Bonnes pratiques
Avoir deux fichiers de contrÎle dans deux diskgroups différents si possible :
ALTER SYSTEM SET control_files=’+DG_DATA’,’+DG_FRA’ SCOPE=SPFILE;
Faire un backup du control file aprÚs toute recréation :
ALTER DATABASE BACKUP CONTROLFILE TO TRACE AS ‘/tmp/controlfile_trace.sql’;

Laisser un commentaire