需求
存储日志监控无法监控存储运行情况
原因:监控日志和存储名对应,需要修改存储日志
实现原理:
存储定时任务-在存储中插入存储日志表,对该存储进行运行监控。
OUT_ERROR_ID := 0;
OUT_ERROR_MSG := '成功';
INSERT INTO [存储监控表]
VALUES
(SEQ_AUTO_TASK_MONITOR.NEXTVAL,
'[存储过程名]',
SYSDATE,
'IN',
'1',
'运行成功',
'{存储结果表名}',
''||[结果表数据量]||'');
COMMIT;
EXCEPTION --异常捕获
WHEN OTHERS THEN
ROLLBACK;
OUT_ERROR_ID := -1;
OUT_ERROR_MSG := OUT_ERROR_MSG || SQLCODE || ':' || SQLERRM;
LC_ERROR_CODE := SQLCODE;
LC_ERROR_MSG := 'err' || '->>' || LC_ERROR_CODE || '->>' ||
SUBSTR(SQLERRM, 1, 200);
DBMS_OUTPUT.PUT_LINE(TO_CHAR(LC_ERROR_CODE) || ':' || LC_ERROR_MSG);
INSERT [存储监控表]
VALUES
(SEQ_AUTO_TASK_MONITOR.NEXTVAL,
'[存储过程名]',
SYSDATE,
'DD',
'2',
LC_ERROR_MSG,--异常描述
'{存储结果表名}',
''||[结果表数据量]||'');
解决思路:
实现:
1.找到全部需要监控的存储并且放入临时表中
----找到全部需要监控的存储并且放入临时表中
CREATE table tmp_1_315 as
SELECT/*+parallel(8)*/ DISTINCT(a.name) FROM USER_SOURCE a WHERE a.type='PROCEDURE' and a.name like '%BSS30%'