DG-duplicate操作注意事项(各种报错应对方法)
DG-duplicate 操作注意事项
log_file_name_convert='+orcl_DATA/orcldb','+orcl_data/orcldb_dg2'
查看ASM磁盘的详细信息及状态
select group_number,disk_number,header_status,mode_status,state,total_mb,name,failgroup,path from v$asm_disk;
select name,state from v$asm_diskgroup;
-- 添加 ASM磁盘组
Create diskgroup orcl1_DATA external redundancy disk '/dev/asm_vdd';
Create diskgroup orcl2_DATA external redundancy disk '/dev/asm_vdb';
Create diskgroup orcl3_DATA external redundancy disk '/dev/asm_vdi';
给磁盘组添加磁盘
alter diskgroup data add disk '/dev/asm_vde';
alter diskgroup data add disk '/dev/asm_vdf';
alter diskgroup data add disk '/dev/asm_vdg';
alter diskgroup data add disk '/dev/asm_vdh';
alter diskgroup data add disk '/dev/asm_vdj';
--加载磁盘组
ALTER DISKGROUP DATA MOUNT;
13、备库注意配置/etc/hosts
ip地址 orcldb-dg
14、duplicate后,同步日志无法成功,主库查询出现报错
SQL> select inst_id,dest_name,status,error from gv$archive_dest_status where dest_name='LOG_ARCHIVE_DEST_2';
INST_ID
----------
DEST_NAME
--------------------------------------------------------------------------------
STATUS ERROR
--------- -----------------------------------------------------------------
1
LOG_ARCHIVE_DEST_2
ERROR ORA-16191: ??????????????????
2
LOG_ARCHIVE_DEST_2
ERROR ORA-16191: ??????????????????
或者
2
LOG_ARCHIVE_DEST_2
ERROR ORA-16058: ??????????
1
LOG_ARCHIVE_DEST_2
ERROR ORA-16058: ??????????
这个时候需要去备库重启数据库实例
Shutdown immediate
startup
15、duplicate时出现报错
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 03/28/2018 19:36:20
RMAN-05501: aborting duplication of target database
RMAN-03015: error occurred in stored script Memory Script
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 03/28/2018 19:36:20
ORA-00245: ????????; ?????????????
尝试手动执行命令,不用脚本
16、安装备库单节点ASM后,需要手动启动CRS服务
crsctl start resource ora.diskmon
crsctl status resource -t
crs_stat -p ora.cssd
crsctl modify resource "ora.cssd" -attr "AUTO_START=1" --设置自动启动
crs_stat -p ora.diskmon
crsctl modify resource "ora.diskmon" -attr "AUTO_START=1" --设置自动启动
注意:这里采用图形界面安装GRID软件,要选择第二项安装
如果选择的是最后一项安装软件,可能会漏掉一些CRS服务,导致无法使用asmca命令打开图形界面
17、记得把备份停止了
18、duplicate后,同步日志无法成功,主库查询出现报错
SQL> select inst_id,dest_name,status,error from gv$archive_dest_status where dest_name='LOG_ARCHIVE_DEST_2';
INST_ID
----------
DEST_NAME
--------------------------------------------------------------------------------
STATUS ERROR
--------- -----------------------------------------------------------------
2
LOG_ARCHIVE_DEST_2
ERROR ORA-01033: ORACLE initialization or shutdown in progress
1
LOG_ARCHIVE_DEST_2
ERROR ORA-01033: ORACLE initialization or shutdown in progress
INST_ID
----------
DEST_NAME
--------------------------------------------------------------------------------
STATUS ERROR
--------- -----------------------------------------------------------------
解决方法:
1、检查RAC节点的密码文件是否同步,可以直接拷贝覆盖一下
2、检查DG节点的密码文件是否同步, 可以直接拷贝RAC的密码文件到DG覆盖
3、在主节点alter system set log_archive_dest_state_2=enable;
4、再次查询状态变成VALID正常
SQL> select inst_id,dest_name,status,error from gv$archive_dest_status where dest_name='LOG_ARCHIVE_DEST_2';
INST_ID
----------
DEST_NAME
--------------------------------------------------------------------------------
STATUS ERROR
--------- -----------------------------------------------------------------
2
LOG_ARCHIVE_DEST_2
VALID
1
LOG_ARCHIVE_DEST_2
VALID
INST_ID
----------
DEST_NAME
--------------------------------------------------------------------------------
STATUS ERROR
--------- -----------------------------------------------------------------
注意:检验是否因密码问题导致DG日志不同步,也可以在alter.log里面查找验证(主库和备库都看)
19、如果遇到下面的报错,哈哈,可能你设置的路径并不是LOG_ARCHIVE_DEST_2
也可能是LOG_ARCHIVE_DEST_3,所以要看清楚了。 select * from V$ARCHIVE_DEST_STATUS
SQL> select inst_id,dest_name,status,error from gv$archive_dest_status where dest_name='LOG_ARCHIVE_DEST_2';
INST_ID
----------
DEST_NAME
--------------------------------------------------------------------------------
STATUS ERROR
--------- -----------------------------------------------------------------
2
LOG_ARCHIVE_DEST_2
BAD PARAM
1
LOG_ARCHIVE_DEST_2
BAD PARAM
INST_ID
----------
DEST_NAME
--------------------------------------------------------------------------------
STATUS ERROR
--------- -----------------------------------------------------------------
20、在DG库上设置同步后,发现日志并没有同步
SQL> select thread#,process,client_process,sequence#,status from v$managed_standby;
THREAD# PROCESS CLIENT_P SEQUENCE# STATUS
---------- --------- -------- ---------- ------------
0 ARCH ARCH 0 CONNECTED
0 ARCH ARCH 0 CONNECTED
0 ARCH ARCH 0 CONNECTED
0 ARCH ARCH 0 CONNECTED
2 MRP0 N/A 2880 APPLYING_LOG
这个时候,查看主库状态
SQL> select inst_id,dest_name,status,error from gv$archive_dest_status where dest_name='LOG_ARCHIVE_DEST_2';
INST_ID
----------
DEST_NAME
--------------------------------------------------------------------------------
STATUS ERROR
--------- -----------------------------------------------------------------
1
LOG_ARCHIVE_DEST_2
ERROR ORA-03135: connection lost contact
2
LOG_ARCHIVE_DEST_2
ERROR ORA-03135: connection lost contact
INST_ID
----------
DEST_NAME
--------------------------------------------------------------------------------
STATUS ERROR
--------- -----------------------------------------------------------------
在主库重新enable也没用
alter system set log_archive_dest_state_2=ENABLE;
检查DG备库监听,发现监听没启动
su - oracle
lsnrctl start
然后再次检查,发现还是不同步
主库查状态
SQL> select inst_id,dest_name,status,error from gv$archive_dest_status where dest_name='LOG_ARCHIVE_DEST_2';
INST_ID
----------
DEST_NAME
--------------------------------------------------------------------------------
STATUS ERROR
--------- -----------------------------------------------------------------
1
LOG_ARCHIVE_DEST_2
ERROR ORA-12543: TNS:destination host unreachable
2
LOG_ARCHIVE_DEST_2
ERROR ORA-12543: TNS:destination host unreachable
INST_ID
----------
DEST_NAME
--------------------------------------------------------------------------------
STATUS ERROR
--------- -----------------------------------------------------------------
这个时候,检查DG备库,发现,iptables -L 发现防火墙阻拦了
iptables -F清除
问题解决
21、 在DG库上设置同步后,发现日志并没有同步
SQL> select thread#,process,client_process,sequence#,status from v$managed_standby;
THREAD# PROCESS CLIENT_P SEQUENCE# STATUS
---------- --------- -------- ---------- ------------
0 ARCH ARCH 0 CONNECTED
0 ARCH ARCH 0 CONNECTED
0 ARCH ARCH 0 CONNECTED
0 ARCH ARCH 0 CONNECTED
2 MRP0 N/A 2880 APPLYING_LOG
这个时候,查看主库状态
SQL> select inst_id,dest_name,status,error from gv$archive_dest_status where dest_name='LOG_ARCHIVE_DEST_2';
INST_ID
----------
DEST_NAME
--------------------------------------------------------------------------------
STATUS ERROR
--------- -----------------------------------------------------------------
2
LOG_ARCHIVE_DEST_2
DISABLED ORA-16057: server not in Data Guard configuration
1
LOG_ARCHIVE_DEST_2
DISABLED ORA-16057: server not in Data Guard configuration
INST_ID
----------
DEST_NAME
--------------------------------------------------------------------------------
STATUS ERROR
--------- -----------------------------------------------------------------
看到这个报错,就要去检查log_archive_config了
主备库两个都要检查,因为他们要一致
主库查看
SQL> show parameter log_archive_config
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_config string DG_CONFIG=orcldb,orcldbdg3)
备库查看
SQL> show parameter log_archive_config
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_config string DG_CONFIG=(orcldbdg3,orcldbdg)
果然不一致,修改它
SQL> alter system set log_archive_config='DG_CONFIG=(orcldbdg3,orcldb)';
去主库重新enable一下
alter system set log_archive_dest_state_2=ENABLE;
回到备库,发现已经开通同步日志了
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341