PDA

View Full Version : Restore standby database controlfile in ASM (refreshing standby controlfile)


Arjen Visser
07-29-2009, 09:49 PM
If your standby database uses ASM and you need to refresh the standby controlfile, how do you do this? How do you get the new standby controlfile into ASM?

We use RMAN for this.

First you need to create a new standby controlfile on the primary database using the command:
SQL>alter database create standby controlfile as '/usr/tmp/X.dbvisit.20010.dbvrac1.standbycontrolfile.ctl' reuse;

This file (/usr/tmp/X.dbvisit.20010.dbvrac1.standbycontrolfile.ctl) is then copied to the standby server.

On the standby server start the standby database in nomount mode:
[oracle@dbvrac1 tmp]$ sqlplus "/ as sysdba"

SQL*Plus: Release 10.2.0.1.0 - Production on Wed Jul 29 21:39:29 2009

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Connected to an idle instance.

SQL> startup nomount
ORACLE instance started.

Total System Global Area 335544320 bytes
Fixed Size 1219280 bytes
Variable Size 109053232 bytes
Database Buffers 222298112 bytes
Redo Buffers 2973696 bytes
SQL> exit
Disconnected from Oracle Database 10g Release 10.2.0.1.0 - Production
With the Real Application Clusters option

Then start RMAN and restore the standby controlfile from the file system into ASM. In this case there are 2 controlfiles:
[oracle@dbvrac1 tmp]$ rman

Recovery Manager: Release 10.2.0.1.0 - Production on Wed Jul 29 21:41:20 2009

Copyright (c) 1982, 2005, Oracle. All rights reserved.

RMAN> connect target

connected to target database: dbvrac (not mounted)

RMAN> restore controlfile to '+DATA/DBVRAC/controlfile/Current.256.645671167' from '/usr/tmp/X.dbvisit.20010.dbvrac1.standbycontrolfile.ctl';

Starting restore at 29-JUL-09
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=147 instance=dbvrac1 devtype=DISK

channel ORA_DISK_1: copied control file copy
Finished restore at 29-JUL-09

RMAN> restore controlfile to '+DATA/DBVRAC/controlfile/Current.257.645671169' from '/usr/tmp/X.dbvisit.20010.dbvrac1.standbycontrolfile.ctl';

Starting restore at 29-JUL-09
using channel ORA_DISK_1

channel ORA_DISK_1: copied control file copy
Finished restore at 29-JUL-09

RMAN>

Completed. The standby controlfiles have been refreshed and the standby database can be used again.