首页 > Linux操作系统 > Linux操作系统 > oracle10g AWR
Oracle10G自动工作负荷储存库(AWR)
在oracle10G中引进了两个新的进程:mmon和mmnl,其中MMON承担了大部分的工作。以用来从SGA中直接收集统计数据。这些数据都存储在SYSAUX表空间中,并且以WRM$_* 和 WRH$_*的格式命名。前一种类型存储元数据信息(如检查的数据库和采集的快照),后一种类型保存实际采集的统计数据。新的接口包为:dbms_workload_repository.
SQL> select snap_interval, retention
2 from dba_hist_wr_control;
AWR的收集门限取决于STATISTICS_LEVEL 这个参数:
这个参数有三个值:
BASIC:只收集少量的数据库统计信息.
TYPICAL:默认值.
ALL : 捕获所有的统计数据,并且有操作系统的一些信息.
快照由ORACLE自动产生.但是也可以通过DBMS_WORKLOAD_REPOSITORY包来手工drop.create和modify
比如.手工创建一个快照:
BEGIN DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT ();
END;
手工删除指定范围的快照:
BEGIN DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE
(low_snap_id => 22, high_snap_id => 32, dbid => 3310949047);
END;
当然,也可以通过dbms_workload_repository包来修改采集时间和统计信息保留时间。如将收集间隔时间改为30 分钟一次。并且保留两天时间。注:单位都是为分钟
SQL>exec dbms_workload_repository.modify_snapshot_settings(interval=>30,retention=>2*24*60);
PL/SQL 过程已成功完成。
baseline 一次典型的性能调整实践从采集量度的基准线集合、作出改动、然后采集另一个基准线集合开始。可以比较这两个集合来检查所作的改动的效果。在 AWR 中,对现有的已采集的快照可以执行相同类型的比较。
假定一个名称为 apply_interest 的高度资源密集的进程在下午 1:00 到 3:00 之间运行,对应快照 ID 56 到 59。我们可以为这些快照定义一个名称为 apply_interest_1 的基准线:
exec dbms_workload_repository.create_baseline (56,59,'apply_interest_1')
这一操作将快照从 56 到 59 编号,作为上面指定的基准线的一部分。查看现有的基准线:
select * from dba_hist_baseline;
在一些调整步骤之后,我们可以创建另一个基准线 — 假设名称为 apply_interest_2,然后只为那些与这两条基准线相关的快照比较量度。像这样把快照分隔在仅仅几个集合中有助于研究调整对于性能量度的影响。您可以在分析之后使用 drop_baseline() 来删除基准线;快照将保留。此外,当清除例程开始删除旧的快照时,与基准线相关的快照不会被清除,从而允许进行进一步的分析。
如果要删除一个基准线:
BEGIN DBMS_WORKLOAD_REPOSITORY.DROP_BASELINE
(baseline_name => ' apply_interest_1', cascade => FALSE);
END;
你可以通过运行awrrpt脚本来获取需要的信息.
快速测试驱动程序 通过运行$ORACLE_HOME/rdbms/admin目录中的awrrpt.sql脚本,AWR的功能可以立即通过它从采集的统计数据和量度中生成的报表得到最好的说明。这个脚本从外观和感觉上类似于Statspack,它显示所有的现有AWR快照并请求两个特定的快照作为时间间隔边界。它产生两种类型的输出:文本格式(类似于Statspack报表的文本格式但来自于AWR信息库)和默认的HTML格式(拥有到部分和子部分的所有超链接),从而提供了非常用户友好的报表。现在运行该脚本以查看报表,从而对AWR的功能有一个了解。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/16158219/viewspace-547171/ ,如需转载,请注明出处,否则将追究法律责任。