暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

0202.O goldengate(ogg)状态检测脚本(ogg_check_v1.0.sh)

rundba 2024-12-28
178

 

使用oracle goldengate的环境中,点检可以查看ogg各进程运行状态,有时排查问题需要查看某个时间节点各进程的状态,是否有延迟等,那么采用脚本记录ogg进程状态,就非常有帮助了。文中通过ogg_check_v1.0.sh完成对ogg各进程历史状态进行记录,便于后续进程状态排查及故障分析。


 1. 脚本概况

ogg_check_v1.0.sh脚本每间隔10分钟(可调)检查ogg进行运行状态,将ogg状态信息保存到log中,log按天保存,保留30天(可调),提升可读性加入了颜色区别,后有效果展示

2. 创建脚本目录

bin目录作为脚本存放目录,logs/ogg_check作为日志存放目录。

    mkdir -p home/oracle/bin home/oracle/logs/ogg_check


    3. 创建shell脚本

    shell下直接创建脚本ogg_check_v1.0.sh到/home/oracle/bin/目录下: 

      cat > home/oracle/bin/ogg_check_v1.0.sh <<-'OGGEOF'
      #!/bin/bash
      # author by KunWang, landnow@gmail.com
      source ~/.bash_profile


      ### 1 variable
      export DATE_FILE_NAME=ogg_check_`date '+%Y-%m-%d'`.log
      export DATE_CONTENT=`date '+%Y-%m-%dT%H:%M:%S'`
      export LOG_DIR=/home/oracle/logs/ogg_check


      ###2 function: ogg_check
      ogg_check(){
      echo -ne "\033[32m =====> $DATE_CONTENT: info all =====> \033[0m"


      cd /ogg
      echo "info all" | ./ggsci
      }


      ###3 delete logs
      delete_logs(){
      #echo "delete logs"
      find $LOG_DIR -name "*.log" -mtime +30 -type f -exec ls -lrt {} \;
      find $LOG_DIR -name "*.log" -mtime +30 -type f -exec rm -f {} \;


      echo -e "\033[32m <===== $DATE_CONTENT: end <===== \033[0m"
      }


      ###4 if log exist
      if [ -a $LOG_DIR/$DATE_FILE_NAME ]
      then
      # echo $LOG_DIR/$DATE_FILE_NAME is exsit
      ogg_check >> $LOG_DIR/$DATE_FILE_NAME
      delete_logs >> $LOG_DIR/$DATE_FILE_NAME
      # pwd
      else
      touch $LOG_DIR/$DATE_FILE_NAME
      ogg_check >> $LOG_DIR/$DATE_FILE_NAME
      delete_logs >> $LOG_DIR/$DATE_FILE_NAME
      # pwd
      fi


      OGGEOF

       

      4. 权限

       给脚本赋予oracle用户可执行权限

        chmod u+x ~/bin/ogg_check_v1.0.sh

         

        5. 测试脚本

         手动执行一次:

          /home/oracle/bin/ogg_check_v1.0.sh


          也可只输入脚本名称执行:

            ogg_check_v1.0.sh


            6. 将脚本加入计划任务


             编辑crontab,调整脚本执行频率:

              crontab -e    #10分钟执行一次,*/10,可根据主机性能和功能需求调整时间间隔
              */10 * * * * home/oracle/bin/ogg_check_v1.0.sh

               

              7. 效果图


               查看日志效果图:

                head -40 /home/oracle/logs/ogg_check/ogg_check_2024-12-25.log

                当前结果显示两端执行记录,每段以绿色开始和结束,便于区分。后续可以根据检测内容,在脚本中添加更多ogg命令。



                往期推荐

                跟着论文学习数据库4:LSM-tree 数据结构

                0200.O docker运行Oracle Database 23ai Free

                0193.O 使用Docker快速部署OceanBase v4.0测试环境

                0149.D 16款国产数据库信息摘录

                0050.O 探秘ORACLE数据库发展

                0013.O ODA X7-2 HA实施文档

                0012.O【转】Oracle数据库勒索病毒自检工具

                0011.O BBED-00209 BBED-00451解决方法

                9.O 模拟2号数据文件头损坏恢复的方法

                O.6控制文件和redo丢失恢复

                0033.O ORACLE版本及部分特性摘要



                文章转载自rundba,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                评论