-
Notifications
You must be signed in to change notification settings - Fork 51
/
db_archive_monitor.py
79 lines (66 loc) · 2.5 KB
/
db_archive_monitor.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import db_conn
from db_log import db_archive_monitor_log
# 获取日志
logger = db_archive_monitor_log.logger
# 获取数据库连接
db = db_conn.db
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL 查询语句
# 需要归档的任务数量
sql_archive_summary = "select count(*) qty from db_archive_info"
# 归档失败的任务数量
sql_archive_results = "select count(*) qty from vw_db_archive_fail"
try:
# 执行SQL语句
cursor.execute(sql_archive_summary)
# 获取所有记录列表
results_archive_summary = cursor.fetchall()
# 获取需要归档的任务数量
for row in results_archive_summary:
qty_archive_summary = row[0]
#print qty_archive_summary
# 执行SQL语句
cursor.execute(sql_archive_results)
# 获取所有记录列表
results_archive_results = cursor.fetchall()
# 获取归档失败的任务数量
for row in results_archive_results:
qty_archive_results = row[0]
#print qty_archive_results
# 判断是否归档成功
if qty_archive_results == 0:
logger.info("ok\n")
logger.info("=========== DB归档汇总 ===========\n")
logger.info("归档任务:" + str(qty_archive_summary))
logger.info("归档失败:" + str(qty_archive_results))
logger.info("\n=========== DB归档汇总 ===========")
else:
logger.info("false\n")
logger.info("=========== DB归档汇总 ===========\n")
logger.info("归档任务:" + str(qty_archive_summary))
logger.info("归档失败:" + str(qty_archive_results))
logger.info("归档失败详细信息")
# 归档失败信息
sql_select = "select id, substr(server_source,1,20) server_source, db_source, table_source from vw_db_archive_fail"
# 执行SQL语句
cursor.execute(sql_select)
# 获取所有记录列表
results = cursor.fetchall()
for row in results:
id = row[0]
server_source = row[1]
db_source = row[2]
table_source = row[3]
# 打印归档失败详细信息
logger.info("[" + str(id) + "] " + server_source + " " + db_source + " " + table_source )
logger.info("\n=========== DB归档汇总 ===========")
except Exception, e:
print str(Exception)
print str(e)
# 关闭游标
cursor.close()
# 关闭数据库连接
db.close()