从网上摘录关于AWR的一些知识点
要使用AWR必须设置STATISTICS_LEVEL参数,共有三个:BASIC、TYPICAL、ALL。Oracle 10g后,默认值是TYPICAL。
查看默认参数设置:
select snap_interval, retention from dba_hist_wr_control;
默认情况为AWR的统计数据保留7天,并且每小时获取一次快照。
Oracle 10g提供以下命令可以修改快照收集时间间隔和保存时间:
execute dbms_workload_repository.modify_snapshot_settings(interval => 20,
retention => 10080);
以上命令修改为每20分钟收集一次并保留七天。
可以为AWR数据创建baseline,保存这些数据用于将来分析和比较:
execute dbms_workload_repository.create_baseline (start_snap_id =>1,
end_snap_id =>100, baseline_name => 'baseline name', dbid => yourdbid);
Oracle10g Release2提供两个新工具来完成导出和迁移AWR数据的工作。
DBMS_SWRF_INTERNAL.AWR_EXTRACT用来导出数据:
Begin
DBMS_SWRF_INTERNAL.AWR_EXTRACT (
dmpfile => 'awr.dmp',
dmpdir => 'TMP_DIR',
bid => 3,
eid => 5);
end;
DBMS_SWRF_INTERNAL用来迁移AWR数据文件到其他数据库。
导入AWR数据的过程分为两个步骤,首先使用DBMS_SWRF_INTERNAL.AWR_LOAD方法把数据导入到一个中间模式中,再转移到SYS模式中:
begin
DBMS_SWRF_INTERNAL.AWR_LOAD (
SCHNAME => 'AWR',
dmpfile => 'awr_data',
dmpdir => 'TMP_DIR');
end;
exec DBMS_SWRF_INTERNAL.MOVE_TO_AWR (SCHNAME => 'AWR');
命令行方式:
你也可以手工运行快照,或者删除快照,具体可以参考DBMS_WORK_LOAD_REPOSITORY的使用说明。Oracle已经提供几个SQL用于分析,常用的有:
$ORACLE_HOME/rdbms/admin/addmrpt.sql
$ORACLE_HOME/rdbms/admin/awrinfo.sql
$ORACLE_HOME/rdbms/admin/awrrpt.sql
$ORACLE_HOME/rdbms/admin/awrrpti.sql
$ORACLE_HOME/rdbms/admin/awrinput.sql
其中awrinfo.sql提供AWR的基本信息,如大小,数据分布等。它不是设计用来分析实例运行情况的,已经有专门的程序来提供这些功能,如awrrpt.sql。AWR的采集数据可以导出成data pump文件,用于传输到其他数据库进行分析。比如客户将采集数据提交给专业人士进行分析。
也可以使用Oracle提供的两个脚本进行导出/导入:
$ORACLE_HOME/rdbms/admin/awrextr.sql
$ORACLE_HOME/rdbms/admin/awrload.sql
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/2073/viewspace-1020955/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/2073/viewspace-1020955/