whitek 发表于 2018-9-9 11:03:54

查看Oracle自动优化建议

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

页: [1]
查看完整版本: 查看Oracle自动优化建议