zoukankan      html  css  js  c++  java
  • check datagurad scripts using python

    #!/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]?dd?)).){3}(?:(2[0-4]d)|(255[0-5])|([01]?dd?))$")
    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')
  • 相关阅读:
    [初学Untiy]SPACE SHOOTER TUTORIAL
    [OpenGL]第一章 OpenGL概述
    DSAA 第一章 引论
    Learn Python The Hard Way(27--)
    linux 系统tty、pty和pts 的概念及区别
    stuffs of install ubuntu
    第八章、Linux 磁盘与文件系统管理
    第七章 Linux文件与目录管理
    切换不同的echarts时,出现图标缩小,报警告,Can’t get dom width or height!
    echarts x轴的纵向区域随便点击获取点击的x轴那一纵向区域的值
  • 原文地址:https://www.cnblogs.com/zhaobin022/p/5057218.html
Copyright © 2011-2022 走看看