用脚本自动生成AWR报告!
2013-11-18 15:03
465 查看
脚本转载自:http://www.oracle-base.com/dba/10g/generate_multiple_awr_reports.sql
脚本需要修改一下snap_id,可以利用这个脚本来定时生成数据库AWR报告。
-- ----------------------------------------------------------------------------------- -- File Name : http://www.oracle-base.com/dba/10g/generate_multiple_awr_reports.sql -- Author : DR Timothy S Hall -- Description : Generates AWR reports for all snapsots between the specified start and end point. -- Requirements : Access to the v$ views, UTL_FILE and DBMS_WORKLOAD_REPOSITORY packages. -- Call Syntax : Create the directory with the appropriate path. -- Adjust the start and end snapshots as required. -- @generate_multiple_awr_reports.sql -- Last Modified: 02/08/2007 -- ----------------------------------------------------------------------------------- CREATE OR REPLACE DIRECTORY awr_reports_dir AS '/tmp/'; DECLARE -- Adjust before use. l_snap_start NUMBER := 1; l_snap_end NUMBER := 10; l_dir VARCHAR2(50) := 'AWR_REPORTS_DIR'; l_last_snap NUMBER := NULL; l_dbid v$database.dbid%TYPE; l_instance_number v$instance.instance_number%TYPE; l_file UTL_FILE.file_type; l_file_name VARCHAR(50); BEGIN SELECT dbid INTO l_dbid FROM v$database; SELECT instance_number INTO l_instance_number FROM v$instance; FOR cur_snap IN (SELECT snap_id FROM dba_hist_snapshot WHERE instance_number = l_instance_number AND snap_id BETWEEN l_snap_start AND l_snap_end ORDER BY snap_id) LOOP IF l_last_snap IS NOT NULL THEN l_file := UTL_FILE.fopen(l_dir, 'awr_' || l_last_snap || '_' || cur_snap.snap_id || '.htm', 'w', 32767); FOR cur_rep IN (SELECT output FROM TABLE(DBMS_WORKLOAD_REPOSITORY.awr_report_html(l_dbid, l_instance_number, l_last_snap, cur_snap.snap_id))) LOOP UTL_FILE.put_line(l_file, cur_rep.output); END LOOP; UTL_FILE.fclose(l_file); END IF; l_last_snap := cur_snap.snap_id; END LOOP; EXCEPTION WHEN OTHERS THEN IF UTL_FILE.is_open(l_file) THEN UTL_FILE.fclose(l_file); END IF; RAISE; END; /
脚本需要修改一下snap_id,可以利用这个脚本来定时生成数据库AWR报告。
sys@ORCL> select snap_id,BEGIN_INTERVAL_TIME,END_INTERVAL_TIME from dba_hist_snapshot; SNAP_ID BEGIN_INTERVAL_TIME END_INTERVAL_TIME ---------- --------------------------------------------------------------------------- --------------------------------------------------------------------------- 640 29-10月-13 04.31.28.000 下午 29-10月-13 04.42.39.936 下午 641 29-10月-13 04.42.39.936 下午 29-10月-13 05.00.46.050 下午 643 29-10月-13 05.30.05.878 下午 29-10月-13 06.00.33.355 下午 644 29-10月-13 06.00.33.355 下午 29-10月-13 06.30.58.569 下午 645 29-10月-13 06.30.58.569 下午 29-10月-13 07.00.40.386 下午 646 29-10月-13 07.00.40.386 下午 29-10月-13 07.30.56.970 下午 647 29-10月-13 07.30.56.970 下午 29-10月-13 08.00.09.230 下午 648 29-10月-13 08.00.09.230 下午 29-10月-13 08.30.26.101 下午 649 29-10月-13 08.30.26.101 下午 29-10月-13 09.00.42.668 下午 ... ... 722 06-11月-13 08.00.49.765 下午 06-11月-13 08.30.04.755 下午 723 06-11月-13 08.30.04.755 下午 06-11月-13 09.00.14.621 下午 724 06-11月-13 09.00.14.621 下午 06-11月-13 09.30.26.473 下午 739 08-11月-13 03.28.00.283 下午 08-11月-13 04.00.09.595 下午 757 12-11月-13 03.06.31.000 下午 12-11月-13 03.17.47.553 下午 已选择119行。 sys@ORCL> @generate_multiple_awr_reports.sql 目录已创建。 PL/SQL 过程已成功完成。
相关文章推荐
- 【转】Oracle AWR 报告 每天自动生成并发送邮箱 Python脚本(一)
- Oracle AWR 报告 每天自动生成并发送邮箱 Python脚本
- 自动生成awr报告shell脚本--每天早8点到晚12点每四个小时生成一次
- 自动批量生成AWR报告的脚本
- Oracle AWR 报告 每天自动生成并发送邮箱 Python脚本
- oracle 自动生成 awr 报告的 简单 shell 脚本
- python脚本自动生成ORACLE AWR报告
- 转: Oracle AWR 报告 每天自动生成并发送邮箱
- 自动生成AWR报告
- 转: Oracle AWR 报告 每天自动生成并发送邮箱
- Oracle AWR 报告 每天自动生成并发送邮箱
- 自动生成AWR HTML报告
- Oracle 每天自动生成AWR报告
- 批量生成awr报告 脚本
- Oracle AWR报告自动生成并ftp脚本
- 自动生成awr报告并发送邮件
- Appium跑python脚本自动生成简单测试结果报告
- 生成AWR、ASH、ADDM、AWRINFO报告脚本
- Oracle AWR报告自动生成并ftp脚本
- 调用生成通过存储过程自动生成AWR报告