原文位址:http://blog.sina.com.cn/s/blog_548c8a830102wttg.html
資料庫:
主庫:DB12.1.0 RAC ASM
備庫:DB12.1.0 單機
原來的RMAN腳本為:
RMAN>run {
duplicate target database for standby from active database
spfile
parameter_value_convert 'PDG','SDG'
set db_unique_name='SDG'
set audit_file_dest='/u01/app/oracle/admin/rac/adump/'
set diagnostic_dest='/u01/app/oracle/'
set control_files='/u01/app/oracle/oradata/rac/control01.ctl'
set db_file_name_convert='+DATA/','/u02/data/'
set log_file_name_convert='+FRA/','/u03/fra/'
set db_create_online_log_dest_1='/u02/online/'
set db_create_file_dest='/u02/file/'
set db_recovery_file_dest='+FRA/'
set log_archive_max_processes='10'
set fal_client='SDG'
set fal_server='PDG'
set standby_file_management='AUTO'
set log_archive_config='dg_config=(PDG,SDG)'
set log_archive_dest_1='LOCATION=/u03/fra/archivelog VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=SDG'
set log_archive_dest_2='service=PDG LGWR ASYNC valid_for=(ONLINE_LOGFILE,PRIMARY_ROLE) db_unique_name=PDG'
nofilenamecheck;
}
原文檔沒有單獨處理臨時檔案
*.db_file_name_convert='+DATA/','/u02/data/'
上邊是原來參數配置。
實際上主庫的臨時檔案的路徑應該是+DATA/tempfile/ ,要這樣配置才對
*.db_file_name_convert='+DATA/','/u02/data/', '+DATA/tempfile/','/u02/data/'
這樣就不會出現這個問題了。
如果沒有寫明,就要重新建立臨時表空間。(補上未做工作)
其實如果主庫使用ASM(預設使用OMF),備庫使用檔案系統,但也是OMF時,根本不需要設定convert參數,僅僅設定db_create_file_dest就可以了。其實這裡的錯誤原因是非常悲劇的錯誤的設定了一個沒必要的convert參數導緻的。
這個故障的表象就是:
備庫查詢select * from dba_temp_files ,報錯如下:
ORA-01157: cannot identify/lock data file 201 - see DBWR trace fileORA-01110:data file 201: '+DATAGR'
附錄: ADG角色轉換注意事項
角色轉換分為switchover和failover。
switchover:主從之間可以互相切換,也叫無損切換 #不需要重建ADG。
failover: 當主資料庫損壞後将備庫切為主庫,原庫将不能再切回主庫 #需重建ADG。
角色轉換前的準備:
A,檢查資料庫的初始化參數,主要确認對不同角色相關的初始化參數。
B,確定主從資料庫伺服器都處于archivelog模式。
C,確定standby資料庫的臨時檔案存在并與primary相比對。
D,rac叢集環境需特殊處理。
附錄2:Failover步驟
--檢視gap,如果沒有發現明顯的gap現象,說明此次的failover不會有資料損失情況。
- select thread#, low_sequence#, high_sequence# from v$archive_gap;
- --停止redo應用
- alter database recover managed standby database cancel;
- --完成redo應用
- alter database recover managed standby database finish;
- --switchover
alter database commit to switchover to primary;
SHUTDOWN IMMEDIATE;
STARTUP;
附錄3:
select message from v$dataguard_status;