十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册、网络空间、营销软件、网站建设、襄州网站维护、网站推广。
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;
ip地址 orcldb-dg
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
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: ????????; ?????????????
尝试手动执行命令,不用脚本
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命令打开图形界面
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;
回到备库,发现已经开通同步日志了