What will you do, if RMAN metadata corrupt?
SQL> startup mount
ORA-15032: not all alterations performed
ORA-15063: diskgroup “
Above error may occur if:
a) ASM disk(s) is not visible on the operating system.
b) asm_diskstring parameter is not set correctly on ASM instance(s)
c) ASM metadata in disk is overwritten or corrupted
If above C point is the case, we may need to re-create our ASM instance(s) and disk group(s).
The steps are:
1. Ensure that you have a prior RMAN backup of all databases using ASM
2. Shut down your ASM instance(s)
3. Re-create your ASM disk group(s)
4. Restore databases
Now we will create a case about above mention error:
Database & ASM Details:
Host Name: SUN1
IP: 192.168.126.2
Oracle Home: /export/home/oracle/oracle/product/db_1
DB Name: INDIAN
PORT: 1521
ASM DISK GROUP: DB_DATA01
Step 1 Backup your Database, Archive logs and Control files
$rman target /
RMAN> backup device type disk format ‘/export/home/oracle/rman/DB_%U’ database plus archivelog;
RMAN> backup device type disk format ‘/export/home/oracle/rman/ctrlf_%U’ current controlfile;
Step 2 Manually make copies of your spfiles.
SQL> create pfile=’/export/home/oracle/rman/initINDIAN.ora’ from spfile;
Step 3 Shutdown Database and ASM Instance.
Create Case:
Destroying existing data on a file system partition:/dev/rdsk/c0d1s0 by using dd command:
Log in As a Root user and execute:
#dd if=/dev/zero of=/dev/
Now try to start ASM Instance. Error Accord
ORA-15032: not all alterations performed
ORA-15063: diskgroup “
Step 4 Re-create your ASM disk group(s)
Step 5 Restore database
$ export ORACLE_SID=INDIAN
$ sqlplus /nolog
SQL> conn / as sysdba
Connected to an idle instance.
SQL> startup nomount pfile=’/export/home/oracle/rman/initINDIAN.ora’;
$ rman target /
RMAN> restore controlfile from ‘/export/home/oracle/rman/ctrlf_05m7m22o_1_1’;
RMAN> alter database mount;
RMAN> restore database;
RMAN> recover database;
RMAN> alter database open resetlogs;
Step 6 Connect to the ASM instance and get the control file name.
sqlplus ‘/ as sysdba’
SQL> select name, alias_directory from v$asm_alias;
Look for the controlfile name under the CONTROLFILE directory eg: Current.256.746263173
Step 7 Edit the init.ora and change the control_files parameter to point to the one identified from the ASM v$asm_alias view.
Step 8 Re-create the spfile. Example:
SQL> create spfile=’+DB_DATA01′ from pfile=’/export/home/oracle/rman/initINDIAN.ora’;
Step 9 Shutdown and restart the instance to use the newly created spfile.
Step 10 Repeat the “STEP 8” section for additional databases.
Responses