主库操作
SQL> col DEST_NAME for a20
SQL> col DESTINATION for a25
SQL> col ERROR for a15
SQL> col ALTERNATE for a20
SQL> set lines 1000
SQL>select DEST_NAME,DESTINATION,ERROR,ALTERNATE,TYPE,status,VALID_TYPE,VALID_ROLE from V$ARCHIVE_DEST where STATUS <>INACTIVE;
在主库检查创建的最后一个归档日志:
SQL> select thread#, max(sequence#) "Last Primary Seq Generated"
from gv$archived_log val, gv$database vdb
where val.resetlogs_change# = vdb.resetlogs_change#
group by thread# order by 1;
备库操作
使用以下查询,检查从主数据库接收到的最后一个归档日志;
查看备库从主库收到的最后一个归档日志:
SQL> select thread#, max(sequence#) "Last Standby Seq Received"
from gv$archived_log val, gv$database vdb
where val.resetlogs_change# = vdb.resetlogs_change#
group by thread# order by 1;
验证初始化参数
log_archive_config
fal_server
db_unique_name
log_archive_dest_n
确保先决条件得到完全验证,同时遵循以下指导以成功切换,这些步骤应在真正的计划中断开始之前执行,并确保没有问题。
验证重做/归档日志应用良好并且没有GAP。
在备数据库中运行以下查询以检查从所有线程接收和应用的最后一个归档日志序列,这将不包括当前序列,因为 SQL 正在从 v$archived_log 中提取详细信息。
SQL> select thread#, max(sequence#) "Last Standby Seq Applied"
from gv$archived_log val, gv$database vdb
where val.resetlogs_change# = vdb.resetlogs_change#
and val.applied in (YES,IN- MEMORY)
group by thread# order by 1;
检查 MRP 进程状态(它应该开始运行并应用日志):
SQL> select * from gv$dataguard_process;
停止和启动托管恢复过程的命令:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;
无论出于何种原因,如果备库恢复 (MRP) 延迟启动,或者如果备用数据库始终保持滞后,则切换将消耗时间来应用要同步的日志。
在切换之前,尽量保持最小的归档日志应用延迟,这将减少总切换时间窗口。
检查数据文件和临时文件状态。
预计所有数据文件在主备库中都应该在线,如果有文件离线(或)不在在线状态,则恢复文件并恢复以确保备库文件与主库文件相同。
如果有离线文件和切换后的文件,如果切换后需要在线,则将文件在线。
SQL> SELECT NAME FROM V$DATAFILE WHERE STATUS=OFFLINE;
SQL> ALTER DATABASE DATAFILE datafile-name ONLINE;
对于临时文件:
SQL> select tf.name filename, bytes, ts.name tablespace from
v$tempfile tf, v$tablespace ts where tf.ts#=ts.ts#;
列出的临时文件对于应用程序来说已经足够好了,应该没问题。
联机和备用重做日志文件配置
set lines 150
col member for a50
select a.thread#,a.group#,a.bytes,a.blocksize,b.type,a.status,b.member from v$log a,v$logfile b where a.group#=b.group#;
从primary执行上述命令时,可能会得到:
a.status in (INACTIVE,ACTIVE,CURRENT)
Expected a.status from Standby is UNUSED, CLEARING or CLEARING_CURRENT,
如果输出有不同的结果,则需要手动清除redo logfiles。
对于备库redo日志文件(SRL):
select s.thread#,s.group#,s.status,s.bytes,l.type,l.member
from v$logfile l,v$standby_log s where s.group#=l.group#;
备用重做日志文件状态将处于UNASSIGNED 或ACTIVE状态。
清除 ORL 组的命令:
SQL> ALTER DATABASE CLEAR LOGFILE GROUP # >;
如果需要在备用数据库中清除 ORL 或 SRL,则必须停止恢复过程。
检查警报日志文件
select * from v$database_block_corruption; -- 它不返回任何行
select * from v$nonlogged_block; -- 它不返回任何行
检查归档日志 GAP 和redo延迟应用
主库执行以下命令:
SQL> SELECT STATUS, GAP_STATUS FROM V$ARCHIVE_DEST_STATUS
WHERE DEST_ID = 2;
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE NODELAY;
如果延迟没有消除,那么切换将需要更长的时间。
SQL> ALTER DATABASE SWITCHOVER TO VERIFY;
如果出现错误,请修复问题,然后重新运行切换验证命令。
SQL> ALTER DATABASE SWITCHOVER TO ;
如果步骤1成功,则按照步骤2启动新的primay库到open模式
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE
DISCONNECT from SESSION;
在主库:
SQL> alter system archive log current;
SQL>select dest_id,error,status from v$archive_dest where dest_id=>;
SQL>select max(sequence#),thread# from v$log_history group by thread#;
SQL>select max(sequence#) from v$archived_log where applied=YES and dest_id=2;
在备库:
SQL>select max(sequence#),thread# from v$archived_log group by thread#;
SQL> select name,role,instance,thread#,sequence#,action from gv$dataguard_process;
END
更多精彩干货分享
点击下方名片关注
IT那活儿
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/129737.html
RAC补丁日常更新成功反遇异常处理 img{ display:block; margin:0 auto !important; width:100%; } body{ width:75%; m...
本文主要是给大家介绍了应用Docker制做Python自然环境联接Oracle镜像系统实例详细说明,感兴趣的小伙伴可以参考借鉴一下,希望可以有一定的帮助,祝愿大家多多的发展,尽快涨薪 Python联接Oracle本地检测 依靠安装使用提前准备 Python、连接Oracle必须Python依靠和当地Oracle客户端,接口测试Oracle版本号12.1.0.2.0,开发和测试自然环境为l...
19C DG Broker配置和测试 img{ display:block; margin:0 auto !important; width:100%; } body{ width:75%; ...
MySQL集群MGR升级实施测试方案 img{ display:block; margin:0 auto !important; width:100%; } body{ width:75%; ...
摘要:设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。可以看到只允许访问更新用户表强制刷新权限再次查看用户表。查看端口监听状态,修改配置文件这里可以看到表示所有均可访问。1.准备① 检测系统是否自带安装 MySQLrpm -qa | grep mysql如有,类似mysql-libs-5.1.52-1.el6_0.1.x86_64那可以选择进行卸载:rpm -e mysql-li...
摘要:问题起因姐毫无征兆的在我们的水群里发来一段代码她的目的是想从中随机抽取个不重复的值组成一个新数组问我代码是否有问题很遗憾因为我刚睡醒随便贴了一下代码运行了一下就说没问题很快我就被打脸了也是如果没问题的话她问个毛大家可以先找一下问题下面先 1.问题起因 W姐毫无征兆的在我们的水群里发来一段代码: var arr = [{q:1+1=?,a:2,b:3,c:1},{q:1+2=?,a:2,...
阅读 1249·2023-01-11 13:20
阅读 1557·2023-01-11 13:20
阅读 1011·2023-01-11 13:20
阅读 1680·2023-01-11 13:20
阅读 3971·2023-01-11 13:20
阅读 2519·2023-01-11 13:20
阅读 1310·2023-01-11 13:20
阅读 3486·2023-01-11 13:20