Oracle运行一段时间后,系统会自动给出一些调优建议,放在dba_advisor_actions视图中,视图的几个主要字段见下:sql
task_name --优化任务名ide
execution_name --执行名优化
object_id --对象IDspa
command --使用的命令 对象
attr1 --具体命令:如,alter table xxx shrink space 索引
attr2 --具体命令:如,alter table xxx shrink space compactit
attr3 --具体命令:如,alter table xxx enable row movement io
attr4table
attr5 --索引建议。当attr4 = BTREE时,attr5给出的是须要建索引的列名,attr3是表名class
attr6
message --优化的中文说明
--查看系统自动优化建议(报告前一天的),'SYS_AUTO_SQL_TUNING_TASK'是系统自定义的
select dbms_sqltune.report_tuning_task('SYS_AUTO_SQL_TUNING_TASK') from dual;
--查看一个范围内的报告,begin_exec和end_exec取自execution_name 字段的值
select dbms_sqltune.report_auto_tuning_task(begin_exec => 'EXEC_5815',end_exec => 'EXEC_6166') from dual;
--查看execution_name的调优报告
select dbms_sqltune.report_tuning_task(task_name => 'SYS_AUTO_SQL_TUNING_TASK', execution_name => 'EXEC_6166') from dual;
--查看某个对象的调优报告,取object_id 的值
select dbms_sqltune.report_auto_tuning_task(object_id => '33075') from dual;
经过上面的调优建议,就能够参照加以实施优化了(以上在有DBA权限的帐户下执行)。