千家信息网

关于dataguard出现问题的检查步骤

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,一般情况dataguard出现问题都会在alert日志中看到相关错误信息,或者执行SQL语句命令select error from v$ archive_dest可以查询报错。 如果出现错误,检查步骤
千家信息网最后更新 2026年11月01日关于dataguard出现问题的检查步骤


一般情况dataguard出现问题都会在alert日志中看到相关错误信息,或者执行SQL语句命令

select error from v$ archive_dest可以查询报错。 如果出现错误,检查步骤为:

(1)检查主库和备库的alert日志,通过日志知道是什么地方出现问题

(2)登陆主库(RAC)检查归档日志的状态

select dest_id,thread#,max(sequence#) from v$archived_log where archived='YES' group by thread#,dest_id;

记下tread 1 和tread 2的max sequence

(3)检查备库的状态

select archived_thread#,archived_seq#,applied_thread#,applied_seq# from v$archive_dest_status; 检查是否与主库同步,如果已经和上述主库的max sequence一致,那就完事,没必要检查了,因为状态是正常的,但是一般情况下因为网络有延时问题,可能差个一两个也是ok的状态。

select process,status,sequence# from v$managed_standby;

一般会有ARCH/RFS/MRP0进程

ARCH 进程就是负责在重做日志文件切换后将已经写满的重做日志文件复制到归档日志文件中,以防止循环写入重做日志文件时将其覆盖。

RFS日志接收进程;

MRP0是管理恢复进程;

也就是说,ARCH进行redo log的归档,然后RFS就接收这个归档的日志,MRP0就进行这个归档日志的恢复,三者缺一不可。

三者都有可以看看RFS和MRP0的seq,如果和主库差不多,也不用查看了,一般是正常的。

select dest_id,thread#,max(sequence#) from v$archived_log where archived='YES' group by thread#,dest_id; 检查这个备库归档日志接收的情况

select sequence#,applied from v$archived_log where applied='NO';检查备库没有应用的日志

上述是一般dg的检查步骤,上次出问题是因为灾备停电,备库关掉了,之后启动起来的时候,没有关注日志是否继续在应用,主备库日志里面没有报erro,日志传输是正常的,且没有gap(select * from v$archive_gap),但是就是备库没有应用日志,所以考虑是MRP0进程没有启动,于是。。。

alter database recover managed standby database disconnect from session;

日志就开始应用了,考虑下次停电后,执行这个语句,避免灾备到机房的数据不同步。


日志 检查 进程 问题 文件 状态 应用 情况 步骤 就是 语句 错误 同步 一致 必要 缺一不可 差不多 不用 两个 也就是 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网金融监管科技数据 深圳互联网科技公司 上海喔噻互联网科技 互联网科技宣传片 互联网金融监管科技 深圳卡尔迅互联网科技有限公司怎么样 剑昆互联网络科技有限公司临桂 互联网校园科技培训 荆州市昕露互联网络科技有限公司 互联网科技扶贫时间 互联网科技和信息 每天都有哪些好的互联网科技 上海钢联属于互联网科技股吗 卡尔迅互联网科技有限公司 万物互联网智能科技 互联网界的黑科技 同城互联网络科技 三亚科技创新互联网基地 陕西彩京云互联网科技有限公司 北京品多多互联网科技有限公司 河南真二互联网科技有限公司 高科技与互联网 上海卓越科技 互联网 成都玖崟互联网科技有限公司乐商圈怎么样 玖二柒互联网科技公司待遇 搜狐科技互联网 河南住房之家互联网科技 数字互联网科技有限公司 银川新华互联网科技学校招聘 互联网科技企业文化
0