m6米乐安卓版下载-米乐app官网下载
5

dg standby time 监控脚本部署 -m6米乐安卓版下载

布衣 2022-11-10
290

背景

从遇到dg 同步延迟之奇怪的经典报错:ora-16191这个报错,从而受到启发,再通过dg standby_time 监控脚本优化逻辑,完成以下脚本的编写,希望对大家有所有帮助。

一、创建主库的tns_name

primary_db =
  (description =
    (address = (protocol = tcp)(host = 192.168.5.30)(port = 1521))
    (connect_data =
      (server = dedicated)
      (service_name = primary)
    )
  )

二、脚本

  • 注意:这个位置要修改成上面的tns_name
  • 监控阀值:2处都需要调
    1、这里可调天、时、分

    2、 这里只能调分
#!/bin/bash
export oracle_sid=
export oracle_unqname=
export oracle_base=/u01/oracle
export con_sys='sqlplus -s system/密码'
f_check_standby_time(){
standby_time=`$con_sys<< eof
set serveroutput on;
    set pagesize 0;
    set feedback off;
    set heading off;
        declare
         value_day    number(2);
          value_hour   number(2);
          value_mins   number(2);
          value_sec    number(2);
          value_result varchar(20);
          value_null number(1);
        begin
          -- value 字段截取     
                 select count(1)
                   into value_null
                   from v\\$dataguard_stats
                  where name = 'apply lag' and value is not null;
if value_null=1 then 
                select substr(value, 2, 2),
                           substr(value, 5, 2),
                           substr(value, 8, 2),
                           substr(value, 11, 2),
                           value
                  into value_day, value_hour, value_mins, value_sec, value_result
                  from v\\$dataguard_stats
                 where name = 'apply lag'; 
#监控阀值              天              时                    分
                if value_day > 0 or  value_hour > 0 or  value_mins > 10 then
                        dbms_output.put_line(value_result);
                else 
                        dbms_output.put_line(' 00 00:00:00');
                end if;
else
        dbms_output.put_line('value_null');
end if;
        end;                 
/
eof`
if [ "$standby_time" = ' 00 00:00:00' ] ; then
pri_res=`$con_sys@primary_db <

脚本下载:check_standby_time.sh

执行:

-- 输出:
[oracle@standby ~]$ sh check_standbt_time.sh  
standby_time:  00 00:00:00    -------->apply lag 的值
pri_res: 2022-11-08 21:50:13  --------> 主库的scn时间
standby_res: 2022-11-08 21:47:24 --------> 备库的scn
2mi49s                         --------> 脚本最终输出值
-- 同步正常
[oracle@standby ~]$ sh check_standbt_time.sh  
 00 00:00:00
-- 同步异常:
[oracle@standby ~]$ sh check_standbt_time.sh  
3mi43s

欢迎赞赏支持或留言指正

「喜欢文章,快来给作者赞赏墨值吧」
1人已赞赏
z
【米乐app官网下载的版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

网站地图