一段python 写自定义查看oracle current event 的小工具

来源:互联网 发布:蔡司三坐标测量机编程软件教程 编辑:程序博客网 时间:2024/06/13 15:51
db.conf 配置文件格式如下:
这里的lixora 是tns 别名,当然也可以配置成 :  10.10.10.10:1521/lixora  这样的格式;
可以根据自己的需要改造sql 文本就可以自定义定义一个日常监控的小工具了,用pyinstaller 打包一个exe 独立文件,再配置一个db.conf .
db.conf
#########################################
[db]db_user = system  /*数据库用户名*/db_pass = oracle   /*数据库密码*/db_tnsname = lixora      /*tns 别名*/interval = 5             /*命令循环执行间隔时间,单位(秒)*/
################################################
# -*- coding: utf-8 -*-# powered by lixora#foxmail.com# auto show oracle event# 2017-08-08import ConfigParserimport string, os, sysimport cx_Oracleimport timecf = ConfigParser.ConfigParser()cf.read(".\db.conf")#read by typedb_tnsname = cf.get("db", "db_tnsname")db_user = cf.get("db", "db_user")db_pass = cf.get("db", "db_pass")interval = cf.getint("db","interval")print "db_tnsname:", db_tnsnameprint "db_user:", db_userprint "db_pass:", db_passprint "interval:", intervalprint '##########show oracle db event ##############'db1=cx_Oracle.connect(db_user,db_pass, db_tnsname)##获取游标cursor = db1.cursor()sql1='select event,count(*) from v$session group by event order by 2'print sql1#执行查询while (1 == 1):    time.sleep(interval)    print '----------------------------------------------------------'    print('|'+time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))+"|")    print '----------------------------------------------------------'    cursor.execute(sql1)    result = cursor.fetchall()#print  result    for row in result:         print row    print('----------end---------------------------------------------\n')cursor.closedb1.close()