首页 > 数字化转型 > ERP > 10G新特性笔记之自动管理
1、ADDM
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/85922/viewspace-1006174/
,如需转载,请注明出处,否则将追究法律责任。
相关进程为MMON
ADDM默认情况下是起用了的。通常数据库默认情况下每小时会从SGA中抓取统计信息存储在AWR(Automatic Workload Repository)中,每次SNAPSHOT被收集,ADDM被启动对最近的两个SNAPSHOT进行分析。
为了让ADDM自动工作,必须设置STATISTICS_LEVEL为typical或者all.
ADDM对IO性能的分析倚赖于IO子系统的速度,该速度ORACLE默认为10,000 microseconds,可以手工设置DBIO_EXPECTED的值,具体方式为:
SQL> exec DBMS_ADVISOR.SET_DEFAULT_TASK_PARAMETER('ADDM', 'DBIO_EXPECTED', 8000);
查询该参数值大小的语句为:
SELECT parameter_value, is_default
FROM dba_advisor_def_parameters
WHERE advisor_name = 'ADDM' AND
parameter_name = 'DBIO_EXPECTED';
两种方式获取ADDM报告:
下面的SQL语句获取最近两个SNAPSHOT的ADDM报告:
SELECT dbms_advisor.GET_TASK_REPORT(task_name)
FROM dba_advisor_tasks
WHERE task_id = (
SELECT max(t.task_id)
FROM dba_advisor_tasks t,
dba_advisor_log l
WHERE t.task_id = l.task_id AND
t.advisor_name = 'ADDM' AND
l.status = 'COMPLETED');
下面的脚本用于获取任意两个SNAPSHOT的ADDM报告:
@?/rdbms/admin/addmrpt
2、自动共享内存管理
目的:自动适应工作负荷,最大化内存使用,减少内存空间不足的错误
相关进程为MMAN
如果使用SPFILE,那么相关自动调整的结果可以保存到下次启动。使用自动内存管理必须要求statistics_level为typical或者ALL。
下面的内存组件不支持自动管理:
Log buffer
Other buffer caches (KEEP/RECYCLE, other block sizes)
Streams pool (new in Oracle Database 10g)
Fixed SGA and other internal allocations
相关视图:v$sga_dynamic_components
禁用自动共享内存管理可设置sga_target为0或者不设置该参数
对于自动共享内存管理的可自动调整组件,如果相关组件的参数不为0,则为最小值
3、自动统计信息收集
缺省情况下,数据库创建后自动创建GATHER_STATS_JOB,该JOB在MAINTENANCE_WINDOW_GROUP所规定的时间窗口内执行过程DBMS_STATS.GATHER_DATABASE_STATS_JOB_PROC.MAINTENANCE_WINDOW_GROUP包含两个时间窗口,分别是WEEKNIGHT_WINDOW和WEEKEND_WINDOW.
GATHER_STATS_JOB使用的Scheduler class是AUTO_TASKS_JOB_CLASS,该scheduler class与AUTO_TASKS_CONSUMER_GROUP相关
可以对一些表的统计信息进行LOCK,可通过视图dba_tab_statistics查看是否lock
DBMS_STATS的很多过程增加了force变量,使用force变量将忽略LOCK
当使用DBMS_STATS包进行统计信息修改时,老版本的统计信息被保存.视图DBA_OPTSTAT_OPERATIONS用于查看DBMS_STATS操作的开始和结束时间.DBA_TAB_STATS_HISTORY可以用于查询过去31天表统计信息修改的历史.必须注意用ANALYZE命令将不能恢复老版本的统计信息.相关的过程如下:
dbms_stats.restore_table_stats(, timestamp);
dbms_stats.purge_stats(
dbms_stats.alter_stats_history_retention(
4、自动undo retention调整
10G默认情况下启动了undo retention的自动调整,该自动调整包含两个方面的内容:
主动调整:每30秒收集一次查询持续时间的信息,将undo retention调整成适应最长的查询
被动调整:在空间压力下,undo retention慢慢下调,但是不会低于所设置的undo retention的值和15分钟这两个值中较小的那个
5、checkpoint的自动调整
当参数FAST_START_MTTR_TARGET没有显式设置为0,10G将启动checkpoint的自动调整