你好,游客 登录 注册 搜索
背景:
阅读新闻

Oracle 11g 禁用 SQL Tuning Advisor

[日期:2017-01-06] 来源:Linux社区  作者:hbxztc [字体: ]

生产上有一套11g数据库alert.log报错ORA-16957: SQL Analyze time limit interrupt。
  查询MOS相关文档Troubleshooting: ORA-16957: "SQL Analyze time limit interrupt" Errors (文档 ID 1275248.1) 
  The ORA-16957 error is an internal error code used to indicate that SQL Tuning Task has reached the time limit for tuning a specific sql.

  The default time limit is 3600 seconds.
  1. Check the current timing:
1234567 COLUMN parameter_value FORMAT A30 
SELECT parameter_name, parameter_value 
FROM dba_advisor_parameters 
WHERE task_name = 'SYS_AUTO_SQL_TUNING_TASK'
AND parameter_name IN ('TIME_LIMIT', 
'DEFAULT_EXECUTION_TYPE', 
'LOCAL_TIME_LIMIT');


  Then, increase the time:

Using:

BEGIN
  DBMS_SQLTUNE.SET_TUNING_TASK_PARAMETER(task_name => 'SYS_AUTO_SQL_TUNING_TASK', parameter => 'TIME_LIMIT', value => 7200); 
END;
/

  意思是后台自动分析sql耗时超过了默认的时间限制3600s,需要使用DBMS_SQLTUNE.SET_TUNING_TASK_PARAMETER包增长时间限制。
  一般在生产上不默认是不开启SQL TUNING ADVISOR。可以使用下面代码关闭自动SQL TUNING ADVISOR。
--查询当前任务状态
SYS@db2> select client_name,status from DBA_AUTOTASK_CLIENT;
 
CLIENT_NAME                                                      STATUS
---------------------------------------------------------------- --------
auto optimizer stats collection                                  ENABLED
auto space advisor                                              ENABLED
sql tuning advisor                                              ENABLED
--禁用sql tuning advisor
SYS@db2> BEGIN
  2  dbms_auto_task_admin.disable(
  3      client_name => 'sql tuning advisor',
  4      operation  => NULL,
  5      window_name => NULL);
  6  END;
  7  /
 
PL/SQL procedure successfully completed.
--再次查询状态
SYS@db2> select client_name,status from DBA_AUTOTASK_CLIENT;
 
CLIENT_NAME                                                      STATUS
---------------------------------------------------------------- --------
auto optimizer stats collection                                  ENABLED
auto space advisor                                              ENABLED
sql tuning advisor                                              DISABLED
--启用sql tuning advisor
BEGIN
dbms_auto_task_admin.enable(
    client_name => 'sql tuning advisor',
    operation  => NULL,
    window_name => NULL);
END;

更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-01/139270.htm

linux
相关资讯       SQL Tuning Advisor 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款