重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1371|回复: 0
打印 上一主题 下一主题

[参考文档] ORA-16957: "SQL Analyze time limit interrupt" Errors

[复制链接]
跳转到指定楼层
楼主
发表于 2022-7-22 16:01:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
SYMPTOMS
The following error is reported in the alert.log:
ORA-16957: SQL Analyze time limit interrupt
  
CAUSE
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.

SOLUTION
1. Check the current values for the time limit related parameters:
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;
/

   
Or

-- This procedure updates the value of a SQL tuning parameter of type VARCHAR2 or NUMBER as used for the reserved auto tuning task, SYS_AUTO_SQL_TUNING_TASK.
BEGIN
  DBMS_AUTO_SQLTUNE.SET_AUTO_TUNING_TASK_PARAMETER(parameter => 'TIME_LIMIT', value => 7200);
END;
/


2. ORA-16957 may appear in the alert.log together with other error messages or alone:
  • Together with other errors:Exception [type: SIGSEGV, Address not mapped to object] [ADDR:0x2B3533343949] [PC:0x22F0025, kxsffir()+337] [flags: 0x0, count: 1]
    Errors in file /diag/rdbms/orcl/trace/ORCL_j000_32621.trc  (incident=353044):
    ORA-07445: exception encountered: core dump [kxsffir()+337] [SIGSEGV] [ADDR:0x2B3533343949] [PC:0x22F0025] [Address not mapped to object] []
    ORA-16957: SQL Analyze time limit interrupt
    Incident details in: /diag/rdbms/orcl/ORCL/incident/incdir_353044/ORCL_j000_32621_i353044.

  • ORA-00600: internal error code, arguments: [17183]
    ORA-16957: SQL Analyze time limit interrupt

      
    In these cases, investigate the underlying error that resulted in the Tuning Task timing out
  • The error appears without reference to other errors:

    When the error appears in the alert.log alone, you need to investigate the SQL that is hitting the time limit in order to understand whether the timeout is legitmate or not: Is the SQL indeed large and complex and should it take 30 minutes to analyze?

    In order to obtain more information on the relevant SQL, check the trace file indicated with the ORA-16957 error in the alert.log
    Setting the following event may provide more information in the trace file:alter system set events '16957 trace name ERRORSTACK level 3';
      
    Once the error occurs and a trace file is created disable the event as follows:alter system set events '16957 trace name ERRORSTACK off';


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-11-25 23:16 , Processed in 0.095102 second(s), 21 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表