温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

DG-duplicate操作注意事项(各种报错应对方法)

发布时间:2020-08-10 02:57:35 来源:ITPUB博客 阅读:209 作者:germany006 栏目:关系型数据库



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;

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI