码迷,mamicode.com
首页 > 编程语言 > 详细

check datagurad scripts using python

时间:2015-12-18 16:29:07      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:

#!/usr/bin/python
# -*- coding: utf-8 -*-
import cx_Oracle  
import string
from email import encoders
from email.header import Header
from email.mime.text import MIMEText
from email.utils import parseaddr, formataddr
import smtplib
import sys
import getopt
import re

opts, args = getopt.getopt(sys.argv[1:], H:)

p = re.compile(r"^((?:(2[0-4]\d)|(25[0-5])|([01]?\d\d?))\.){3}(?:(2[0-4]\d)|(255[0-5])|([01]?\d\d?))$")
ip = opts[0][1]
flag = p.match(ip)
if not flag:
    sys.exit()


mail_host = smtp.qq.com
mail_user = 123123@qq.com
mail_pwd = 12312312
to_list = [ 123123@qq.com, 123123123@qq.com ]


conn = cx_Oracle.connect(read/read@%s/test % ip)    
cursor = conn.cursor ()  

cursor.execute (‘‘‘ select max(sequence#) from v$archived_log where dest_id=1 and thread#=%s ‘‘‘ % 1)  
#rows = cursor.fetchall()  
rows = cursor.fetchone()  
thread1Primary = rows[0]
cursor.execute (‘‘‘ select max(sequence#) from  v$log_history  where thread#=%s ‘‘‘ % 1)  
rows = cursor.fetchone()  
thread1Standby = rows[0]

cursor.execute (‘‘‘ select max(sequence#) from v$archived_log where dest_id=1 and thread#=%s ‘‘‘ % 2)  
rows = cursor.fetchone()  
thread2Primary = rows[0]
cursor.execute (‘‘‘ select max(sequence#) from  v$log_history  where thread#=%s ‘‘‘ % 2)  
rows = cursor.fetchone()  
thread2Standby = rows[0]

#    print (",").join(map(lambda x: str(x),row))
cursor.close ()  
conn.close ()  

diffThread1 = thread1Primary - thread1Standby
diffThread2 = thread2Primary - thread2Standby

#msg = u‘‘‘
#            DATAGUARD SYNC ERROR
#              thread1Primary = %s 
#              thread1Standby = %s
#              thread2Primary = %s
#              thread2Standby = %s
#‘‘‘ % (str(thread1Primary),str(thread1Standby),str(thread2Primary),str(thread2Standby))
#
#
#print msg
if diffThread1 != 0 or diffThread2 !=0:
    msg = u DATAGUARD ERROR : thread1Primary = %s thread1Standby = %s thread2Primary = %s thread2Standby = %s  % (str(thread1Primary),str(thread1Standby),str(thread2Primary),str(thread2Standby))
    sys.exit(2)
else:
    msg = u DATAGUARD OK : thread1Primary = %s thread1Standby = %s thread2Primary = %s thread2Standby = %s  % (str(thread1Primary),str(thread1Standby),str(thread2Primary),str(thread2Standby))
    print msg
    

#    send_email( msg, to_list, ‘DATAGUARD SYNC ERROR‘)

 

check datagurad scripts using python

标签:

原文地址:http://www.cnblogs.com/zhaobin022/p/5057218.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!