Python DB2 数据库巡检- 查看无效包

# coding=utf-8
import ibm_db


class db2_monitor(object):
    def __init__(self, database, hostname, port, protocol, uid, pwd):
        self.database = database
        self.hostname = hostname
        self.port = port
        self.protocol = protocol
        self.uid = uid
        self.pwd = pwd
        self.result = {}

    # 数据库无效包检查
    def check_invalid_package(self):
        try:
            conn_cfg = "database={database};hostname={hostname};port={port};protocol={protocol};uid={uid};pwd={pwd};"
            cfg_info = conn_cfg.format(database=self.database,
                                       hostname=self.hostname,
                                       port=self.port,
                                       protocol=self.protocol,
                                       uid=self.uid,
                                       pwd=self.pwd)
            conn = ibm_db.connect(cfg_info, "", "")
            conn_state = ibm_db.active(conn)
            if conn_state is True:
                sql = "select distinct PKGNAME from syscat.packages where PKGSCHEMA='ODS' and valid<>'Y'"
                stmt = ibm_db.exec_immediate(conn, sql)
                res = ibm_db.fetch_assoc(stmt)
                print res
                with open('/tmp/check_invalid_package.log', 'wt') as f:
                    f.write(json.dumps(result))
                return self.result["res"]
        except Exception as e:
            return "connect failed: %s" % str(e)


db = db2_monitor("testdb", "10.20.10.9", "50000", "TCPIP", "db2inst1", "12345678")
db.check_invalid_package()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值