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權限的帳戶下執行)。