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;

回到备库,发现已经开通同步日志了


当前文章:DG-duplicate操作注意事项(各种报错应对方法)
链接分享:http://scyanting.com/article/jschjg.html