RMAN異機恢復:RAC到單例項

abstractcyj發表於2017-03-27
資料庫版本11.2.0.4.0, 作業系統:Redhat Linux 6.6


異機恢復:RAC到單例項
1. 在目標機上建立引數檔案, 本例為:/u01/app/oracle/product/11.2.0/dbhome_1/dbs/inithbdb.ora
 *.audit_trail='db'
*.cluster_database=true
*.compatible='11.2.0.4.0'
*.control_files='/u01/app/oradata/hbdb/control01.ctl', '/u01/app/flash_recovery_area/hbdb/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='hbdb'
*.diagnostic_dest='/u01/app'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=hbdbXDB)'
*.enable_goldengate_replication=TRUE
*.open_cursors=1000
*.open_links=50
*.open_links_per_instance=50
*.pga_aggregate_target=2147483648
*.processes=2000
*.remote_login_passwordfile='exclusive'
*.sga_max_size=8589934592         
*.sga_target=8589934592
*.undo_tablespace='UNDOTBS1'
*._no_recovery_through_resetlogs=true


這些目錄:/u01/app/oradata/hbdb/, /u01/app/flash_recovery_area/hbdb需要預先建立


注意_no_recovery_through_resetlogs=true這個引數,


2. 恢復控制檔案。
   將資料庫啟動至nomount狀態 
   restore controlfile from '控制檔案備份集';
   
3. 註冊備份集
   RMAN下:catalog start with '備份集所在目錄';
   
4. 還原資料庫
 run
 {  
    set newname for database to '/home/oradata/hbdb/%b';
    restore database;
    switch datafile all; 
    recover database;
 }
 
 注意這個switch datafile all; 很重要
 
5. 最後在alter database open resetlogs的時候碰到了錯誤:
   由於rac環境的redolog在asm中,需要重建controlfile重定向redolog檔案路徑.
   SQL> alter database backup controlfile to trace;
   SQL> shutdown immediate
   
   修改一下控制檔案中日誌檔案路徑, 接著重建控制檔案
   
6. 完成之後執行alter database open resetlogs;
   但是我遇到看了錯誤:ORA-38856: cannot mark instance UNNAMED_INSTANCE_2 (redo thread 2) as enabled
   查了一下,在pfile中加入瞭如下:
   *._no_recovery_through_resetlogs=true
  
   接下來open resetlogs成功

參考:http://blog.itpub.net/22990797/viewspace-749970/

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8520577/viewspace-2136135/,如需轉載,請註明出處,否則將追究法律責任。

相關文章