您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

自动生成AWR1(sql)

2024/4/9 20:34:24发布9次查看
目前从网上搜索到比较靠谱的2种awr自动生成方法 第一sql法: 参考sql链接:http://www.oracle-base.com/dba/10g/generate_multiple_awr_reports.sql -- ------------------------------------------------------------------------------------- file name :
目前从网上搜索到比较靠谱的2种awr自动生成方法
第一sql法:
参考sql链接:http://www.oracle-base.com/dba/10g/generate_multiple_awr_reports.sql
-- ------------------------------------------------------------------------------------- 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;/
具体做法是:
1.先将上面的sql保存到db主机上,generate_multiple_awr_reports.sql
2.查看系统生成的awr快照:
select snap_id, begin_interval_time, end_interval_time from dba_hist_snapshot;
3.将第二步所得结果中的snap_id的值手动修改到generate_multiple_awr_reports.sql,替换掉1和10这2个数:
l_snap_start number := 1;
l_snap_end number := 10;
4.在sqlplus中调用sql文件
sql>@generate_multiple_awr_reports.sql
5.最后去/tmp目录html的文件是否生成
结论:其实该方法只适合于替换sqlplus交互命令行,实际作用不是很大,现在toad等工具直接提供了awr查看工具
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product