1. 程式人生 > 其它 >轉 重新建立物理備用資料庫控制檔案

轉 重新建立物理備用資料庫控制檔案

https://blog.csdn.net/u010692693/article/details/102722637

Steps to recreate a Physical Standby Controlfile (Doc ID 459411.1)

APPLIES TO:

Oracle Cloud Infrastructure - Database Service - Version N/A and later
Oracle Database Cloud Exadata Service - Version N/A and later
Oracle Database Cloud Service - Version N/A and later
Oracle Database - Enterprise Edition - Version 12.1.0.2 to 12.1.0.2 [Release 12.1]
Oracle Database - Enterprise Edition - Version 11.2.0.4 to 11.2.0.4 [Release 11.2]
Information in this document applies to any platform.
***Checked for relevance on 29-Aug-2014***
 

GOAL

Sometimes it is necessary to recreate the Physical Standby Controlfile for any Reason.
This Document shows Step-by-Step how to recreate the Physical Standby Controlfile.
 

In case you may want or need more about your current topic - please also access the Data Guard Community of Customers and Oracle Specialists directly via:

https://communities.oracle.com/portal/server.pt/community/high_availability_data_guard/302

SOLUTION

Follow these Steps if you have to recreate the Physical Standby Controlfile:  

Note:  If your datafiles are on ASM and/or using Oracle managed files, see <Note 734862.1> Step By Step Guide On How To Recreate Standby Control File When Datafiles Are On ASM And Using Oracle Managed Files.

1. Stop Managed Recovery Process on the Standby Database (if still running):
   

SQL> alter database recover managed standby database cancel;


2. Shutdown the Standby Database:
   

SQL> shutdown immediate;


3. Connect to the Primary Database as SYS:
   

SQL> connect sys/<Password>@<Primary> as sysdba


4. Create a new Physical Standby Controlfile from the Primary:
   

SQL> alter database create standby controlfile as '<File-Specification>';


5. Copy the new created Standby Controlfile to the Standby Database using OS-Tools (eg. cp or ftp) and replace the current Standby Controlfile with the new created one.

6. Mount the Standby Database with the new Standby Controlfile:

    Oracle 8i and 9i (8.x - 9.x):
   

SQL> startup nomount
SQL> alter database mount standby database;


    Oracle 10g and 11g (10.x - 11.x):
 

SQL> startup mount


7. If the File-Structure is different between Primary and Standby Database,  you could either rename the File-Location(s) in the new Standby Controlfile:
   

SQL> alter database rename file '<old Filespecification or file#>' to '<new Filespecification>';

 The above command would require to change STANDBY_FILE_MANAGEMENT from AUTO to MANUAL on standby before executing the rename command. Once rename is done you can set it back to Auto.
 

or set db_file_name_convert or/and log_file_name_convert init parameters in the standby database.

8. Starting with 9i: If you don't have Standby RedoLogs proactively on the Primary and want them on the Standby Database or you had Standby RedoLogs with this Standby Database before, now add the Standby RedoLogs (again):
   

SQL> alter database add standby logfile group <Group No.> ('Filespecification(s)') size <size> reuse;


Please see
Document 219344.1:Usage, Benefits and Limitations of Standby Redo Logs (SRL)
for further Details about Standby RedoLogs

9. Re-enable Flashback (if Flashback was enabled previously):
 

SQL> alter database flashback off;
SQL> alter database flashback on;


10. Start Managed Recovery again:
   

SQL> alter database recover managed standby database disconnect [using current logfile];