您的位置:首页 > 其它

ADG故障解决案例:db_file_name_convert参数设置错误

2017-09-11 17:22 591 查看
原文地址: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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: