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. CYQ.Data 正式支持 DotNET Core 版本发布

    闲话几句: 自从上周开始,IOS人员逝去,就开始接手IOS的代码了. 并开始整理IOS的代码(包括当时一开始设计的开发框架). 在未来不远的日子里,设想是有一个系列详细的介绍I恋App和IT连App及 ...

  2. AndroidStudio cannot resolve symbol 解决办法 清楚缓存

    <?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android=&qu ...

  3. 一些公司对quantitative的要求

    来自日月光华BBS: Company: UBS AG Job Title: Quantitative Developers / Analysts (Entry Level, Multiple Posi ...

  4. 使用SpringBoot开发REST服务

    本文介绍如何基于Spring Boot搭建一个简易的REST服务框架,以及如何通过自定义注解实现Rest服务鉴权 搭建框架 pom.xml 首先,引入相关依赖,数据库使用mongodb,同时使用red ...

  5. python中的“.T”操作

    其实就是对一个矩阵的转置 看代码: a array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) a.T array([[1, 4, 7], [2, 5, 8], [3, 6, ...

  6. HDU1284--完全背包

    钱币兑换问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

  7. SQL面试题:有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列

    .请教一个面试中遇到的SQL语句的查询问题 表中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列. ------------------- ...

  8. XAMPP重要文件目录及配置

    一.XAMPP 的安装过程 1:下载XAMPP 的 Linux 版 (1.7.4) http://www.apachefriends.org/en/xampp-linux.html#374 2:安装( ...

  9. 程序员的自我救赎---11.3:WinService服务

    <前言> (一) Winner2.0 框架基础分析 (二)PLSQL报表系统 (三)SSO单点登录 (四) 短信中心与消息中心 (五)钱包系统 (六)GPU支付中心 (七)权限系统 (八) ...

  10. django1.11如何实时访问mysql数据库

    前几天,一直在研究django框架,发现它自身封装了很多有用的API,很有意思.比如,数据库操作基本的创表,查询,插值,更新,删除都有,很方便,再加上json库可以直接将数据json化,通过服务器传给 ...