栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

python小应用:Oracle数据库批量巡检

python小应用:Oracle数据库批量巡检

说明

巡检代码主体
仅供练习使用

import os
import shutil
import daycheck_v1.source.database as dbc
import daycheck_v1.source.readfile as rf


# 日期转换+空值判断
def date_rep(t_date):
    if t_date is None:
        return 'Null'
    else:
        return t_date.ctime()


# 数据库列表配置文件
dfilename = '.configdatabaselist'
dfile = rf.dbreadlist(dfilename)
# 数据库报告存储目录
r_path = r'E:testdaycheck_v1report'
os.chdir(r_path)
# 判断目录是否存在,若存在则删除
if 'dbreport' in os.listdir():
    shutil.rmtree('dbreport')
os.mkdir('dbreport')
dr_path = r'E:testdaycheck_v1reportdbreport'
# 根据数据库列表查询数据
for dbl in dfile:
    # 初始化数据库对象
    db = dbc.Database(dbl.split(',')[0], dbl.split(',')[1], dbl.split(',')[2])
    # 生成报告
    os.chdir(dr_path)
    dbname = dbl.split(',')[2].split(':')[0] + '_' + dbl.split(',')[2].split(':')[1].split('/')[1]
    os.mkdir(dbname)
    os.chdir(dr_path + '\' + dbname)
    dbrf = dbname + '.txt'
    dbr = open(dbrf, 'w+')
    # 数据库用户状态
    rep = db.c_usr_stat()
    if rep.count('查询错误') != 0:
        dbr.write('数据库用户状态' + rep)
    else:
        dbr.write('数据库用户状态n')
        dbr.write('%-30s%-20s%-30s%-30sn' % ('用户名', '状态', '锁定时间', '失效时间'))
        for row in rep:
            dbr.write('%-30s%-20s%-30s%-30sn' % (row[0], row[1], date_rep(row[2]), date_rep(row[3])))
    dbr.close()
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/336106.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号