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

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[Oracle] ORA-16957: SQL Analyze time limit interrupt

[复制链接]
跳转到指定楼层
楼主
发表于 2020-10-21 15:29:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
报错现象:
Fri Dec 21 22:00:00 2018
Setting Resource Manager plan SCHEDULER[0x32DD]:DEFAULT_MAINTENANCE_PLAN via scheduler window
Setting Resource Manager plan DEFAULT_MAINTENANCE_PLAN via parameter
Fri Dec 21 22:00:00 2018
Starting background process VKRM
Fri Dec 21 22:00:00 2018
VKRM started with pid=52, OS id=163996
Fri Dec 21 22:00:02 2018
Begin automatic SQL Tuning Advisor run for special tuning task "SYS_AUTO_SQL_TUNING_TASK"
Fri Dec 21 22:01:12 2018
Thread 1 advanced to log sequence 3392 (LGWR switch)
Current log# 3 seq# 3392 mem# 0: /u01/app/oracle/oradata/jrdw/redo03.log
Fri Dec 21 22:01:12 2018
LNS: Standby redo logfile selected for thread 1 sequence 3392 for destination LOG_ARCHIVE_DEST_2
Fri Dec 21 22:01:14 2018
Archived Log entry 6736 added for thread 1 sequence 3391 ID 0x55c5148c dest 1:

文档 ID 1275248.1

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 context off';   




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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 03:17 , Processed in 0.092462 second(s), 20 queries .

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

© 2001-2020

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