我是靠谱客的博主 不安小甜瓜,最近开发中收集的这篇文章主要介绍dataguard mysql,shell监控dataguard备库是否正常应用日志,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一直在思索怎么去监控dg比较方便,又能够做到比较适用.想到了几种方法:

1.使用主备库两边的alert日志,但是这样的方法需要配置ssh,用来一个节点获取另外一个节点的alert日志

2.通过查询v$archived_log或者其他相关视图,然后主备库进行比较,但是这个需要访问另外一个库,需要另外库的登录信息

3.通过查询备库的v$archived_log视图,粗略评估dg是否工作正常.

这里我选择了3,dg的监控大部分时候是为了让人及时的发现日志应用异常,然后人工干预处理,从而减少修改gap或者重建dg的概率.而这个额监控可以在很大程度上发现dg应用归档日志异常,从而确定dg是否工作正常,如果发现工作异常,及时处理,可以减少很多工作量,甚至拯救你的数据.

#!/bin/bash

source ~/.bash_profile

#check time(M)

export CHECK_M=120

export RESULT_FILE=/tmp/dg_switch_check.log

$ORACLE_HOME/bin/sqlplus -silent "/ as sysdba" </tmp/check_dg.log

set pagesize 0 feedback off verify off heading off echo off

select ceil((sysdate-next_time)*24*60) "M"

from v$archived_log

where applied='YES' AND SEQUENCE#=(SELECT MAX(SEQUENCE#)

FROM V$ARCHIVED_LOG WHERE applied='YES');

exit;

XFF

GET_M=`cat /tmp/check_dg.log`

rm /tmp/check_dg.log

if [ ${CHECK_M} -lt ${GET_M} ];

then

echo "check dataguard time:`date`">$RESULT_FILE

echo "The last time application archivelog happened in $GET_M minutes ago">>$RESULT_FILE

else

echo ''>$RESULT_FILE

fi

针对这样的脚本,根据你的dg归档切换的频率,设置监控dg的最近一次日志应用与当前时间差,然后判断dg是否工作正常.根据监控程序的特点,可以通过判断结果集文件,然后邮件/短信或者其他方式处理.

最后

以上就是不安小甜瓜为你收集整理的dataguard mysql,shell监控dataguard备库是否正常应用日志的全部内容,希望文章能够帮你解决dataguard mysql,shell监控dataguard备库是否正常应用日志所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部