cx_Oracle环境配置

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

export LD_LIBRARY_PATH=$ORACLE_HOME/lib/

export TNS_ADMIN=$ORACLE_HOME/network/admin/

脚本正本

#!/usr/bin/python
# coding:utf-8 __author__ = 'Jipu FANG' import cx_Oracle
import sys # 主库状态
def pdb():
conn = cx_Oracle.connect('user/passwd@rac01/orcl')
cursor = conn.cursor ()
cursor.execute ("select switchover_status from v$database")
row = cursor.fetchone ()
status = row[0]
if status == 'TO STANDBY' or status == 'SESSIONS ACTIVE':
cursor.close ()
conn.close ()
return "0"
else:
return "200" # 备库状态
def sdb():
conn = cx_Oracle.connect('user/passwd@rdata01/phydb')
cursor = conn.cursor ()
cursor.execute ("select switchover_status from v$database")
row = cursor.fetchone ()
status = row[0]
if status == 'NOT ALLOWED':
cursor.close ()
conn.close ()
return "0"
else:
return "200" # DG延迟,基于SCN
class dg_delay():
def rac1_scn(self):
conn = cx_Oracle.connect('user/passwd@rac01/orcl')
cursor = conn.cursor ()
cursor.execute ("select current_scn from v$database")
row = cursor.fetchone ()
if row:
scn = row[0]
else:
scn = 0
cursor.close()
conn.close ()
return scn def sdb_scn(self):
conn = cx_Oracle.connect('user/passwd@rdata01/phydb')
cursor = conn.cursor ()
cursor.execute ("select current_scn from v$database")
row = cursor.fetchone ()
if row:
scn = row[0]
else:
scn = 0
cursor.close()
conn.close ()
return scn def run(self):
scn = int(self.rac1_scn()) - int(self.sdb_scn())
return scn item = sys.argv[1] if __name__ == '__main__':
if item == 'pdb':
print pdb()
elif item == 'sdb':
print sdb()
elif item == 'dg':
a = dg_delay()
print a.run()

脚本执行

# ./check_dg_delay_status.py dg
5

ADG监控的更多相关文章

  1. 转 Logs are not shipped to the physical standby database

    http://www.oracle-ckpt.com/dataguard_troubleshoot_snapper/ ######sample primay scripts: spool dg_Pri ...

  2. DBA_Oracle AWR Report性能监控报表(案例)

    2014-08-22 Created By BaoXinjian

  3. Oracle 11g Dataguard 配置,维护与详解 (ADG)

    一.前言: 本手册主要记录如何配置,还介绍了配置原因,以及注意要点,已经主备切换,以及故障转移等重要操作步骤,我希望这个文章可以作为进行dataguard配置的一个参考手册. 二.前提 1.主库是归档 ...

  4. 使用Monit监控本地进程

    目前用它监控某些服务,失败自动重启,同时监控特定的日志文件,如果有变化,就发邮件报警 安装不细写了,网上好多 我先用cat /proc/version看了下我的系统是el6的,于是wget http: ...

  5. node服务的监控预警系统架构

    需求背景 目前node端的服务逐渐成熟,在不少公司内部也开始承担业务处理或者视图渲染工作.不同于个人开发的简单服务器,企业级的node服务要求更为苛刻: 高稳定性.高可靠性.鲁棒性以及直观的监控和报警 ...

  6. 采用MiniProfiler监控EF与.NET MVC项目(Entity Framework 延伸系列1)

    前言 Entity Framework 延伸系列目录 今天来说说EF与MVC项目的性能检测和监控 首先,先介绍一下今天我们使用的工具吧. MiniProfiler~ 这个东西的介绍如下: MVC Mi ...

  7. Logstash实践: 分布式系统的日志监控

    文/赵杰 2015.11.04 1. 前言 服务端日志你有多重视? 我们没有日志 有日志,但基本不去控制需要输出的内容 经常微调日志,只输出我们想看和有用的 经常监控日志,一方面帮助日志微调,一方面及 ...

  8. C# 利用性能计数器监控网络状态

    本例是利用C#中的性能计数器(PerformanceCounter)监控网络的状态.并能够直观的展现出来 涉及到的知识点: PerformanceCounter,表示 Windows NT 性能计数器 ...

  9. 使用Zabbix监控Oracle数据库

    Orabbix介绍 监控Oracle数据库我们需要安装第三方提供的Zabbix插件,我们先测试比较有名的Orabbix,http://www.smartmarmot.com/product/orabb ...

随机推荐

  1. 简易RPC框架-熔断降级机制

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...

  2. 崩溃 golang入坑系列

    早上(11.30)收到邮件,Vultr东京机房网络故障.当时搭建SS时,考虑到了机房故障.所以特意分出了日本和香港两条线路.但千算万算,忘记数据库还在东京机房中. 现在网络故障,SS服务器无法读取数据 ...

  3. 使用docker搭建Jenkins 及slave的配置

    安装Jenkins 使用docker docker run -d -p 8080:8080 -p 50000:50000 -v /opt/jenkins_home:/var/jenkins_home ...

  4. 在azure中建立DDC集群

    在Azure上建立DDC集群 建立3台虚拟机作为UCP集群,3台虚拟机作为DTR集群. 资源组:HYD-DockerDateCenter 虚拟机size:DS3 4核14G 系统:ubuntu14.0 ...

  5. SQL基础知识一

    一.建库 show databases ;//显示已存在的数据库 create database 数据库库名; use 数据库名;//进入新建的数据 二.建表 show tables;//查询已存在的 ...

  6. 迭代子模式(Iterator)

    迭代子模式(Iterator) 顾名思义,迭代器模式就是顺序访问聚集中的对象,一般来说,集合中非常常见,如果对集合类比较熟悉的话,理解本模式会十分轻松.这句话包含两层意思:一是需要遍历的对象,即聚集对 ...

  7. HDU2159--二维费用背包,三重背包

    FATE Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  8. JavaSE初步学习笔记

    PS:个人用来随时记录学习的过程,格式比较混乱,仅供个人参考与复习知识点 Dos命令行,课程中常见的命令 Dir:列出当前目录下包含的文件 Md:在当前目录下创建文件 Rd:在当前目录下删除指定文件夹 ...

  9. 网页设计——4.html基本标签链接,图片,表格

    今天主要认识一个有趣的html标签 1.超链接标签a 基本结构:<a href="url" >内容 </a> url就是网页地址. 但直接用这种超链接,会自 ...

  10. 小白的Python之路 day1 变量

    Python之路,Day1 - Python基础1 变量 变量用于存储在计算机程序中引用和操作的信息.它们还提供了一种用描述性名称标记数据的方法,这样我们的程序就能更清晰地被读者和我们自己理解.将变量 ...