SQL Tuning Advisor引起的ORA-07445

单实例数据库环境,日志报错:ORA-07445:[apaneg()+227]、ORA-07445:[kkqcsnlocbk()+97],解决方法关闭SQL Tuning Advisor或者设置参数alter system set "_no_or_expansion" = true;。具体日志等如下:

1.数据库alert日志中报错
$ cat alert_oradb.log |grep ORA-07445
ORA-07445: exception encountered: core dump [kkqcsnlocbk()+97] [SIGSEGV] [ADDR:0x0] [PC:0x24C6289] [Address not mapped to object] []
ORA-07445: exception encountered: core dump [apaneg()+227] [SIGSEGV] [ADDR:0x8] [PC:0x21607D1] [Address not mapped to object] []
ORA-07445: exception encountered: core dump [kkqcsnlocbk()+97] [SIGSEGV] [ADDR:0x0] [PC:0x24C6289] [Address not mapped to object] []
---
Wed May 09 22:26:53 2018
VKRM started with pid=31, OS id=4874
Wed May 09 22:26:56 2018
Begin automatic SQL Tuning Advisor run for special tuning task  "SYS_AUTO_SQL_TUNING_TASK"
Exception [type: SIGSEGV, Address not mapped to object] [ADDR:0x0] [PC:0x24C6289, kkqcsnlocbk()+97] [flags: 0x0, count: 1]
Errors in file /u01/app/oracle/diag/rdbms/oradb/oradb/trace/oradb_j000_4878.trc  (incident=96321):
ORA-07445: exception encountered: core dump [kkqcsnlocbk()+97] [SIGSEGV] [ADDR:0x0] [PC:0x24C6289] [Address not mapped to object] []
Incident details in: /u01/app/oracle/diag/rdbms/oradb/oradb/incident/incdir_96321/oradb_j000_4878_i96321.trc
2.查看相应的trace报错文件
--主要就是在MODULE NAME:(DBMS_SCHEDULER)做/* SQL Analyze(1142,1) */

Unix process pid: 28431, image:  (J002)
*** 2018-05-06 18:13:30.848
*** SESSION ID:(1142.133) 2018-05-06 18:13:30.848
*** CLIENT ID:() 2018-05-06 18:13:30.848
*** SERVICE NAME:(SYS$USERS) 2018-05-06 18:13:30.848
*** MODULE NAME:(DBMS_SCHEDULER) 2018-05-06 18:13:30.848
*** ACTION NAME:(ORA$AT_SQ_SQL_SW_12) 2018-05-06 18:13:30.848
 
Dump continued from file: /u01/app/oracle/diag/rdbms/oradb/oradb/trace/oradb_j002_28431.trc
ORA-07445: exception encountered: core dump [apaneg()+227] [SIGSEGV] [ADDR:0x8] [PC:0x21607D1] [Address not mapped to object] []
 
========= Dump for incident 80282 (ORA 7445 [apaneg()+227]) ========
----- Beginning of Customized Incident Dump(s) -----
Exception [type: SIGSEGV, Address not mapped to object] [ADDR:0x8] [PC:0x21607D1, apaneg()+227] [flags: 0x0, count: 1]
Registers:
………………
*** 2018-05-06 18:13:30.852
dbkedDefDump(): Starting a non-incident diagnostic dump (flags=0x3, level=3, mask=0x0)
----- Current SQL Statement for this session (sql_id=f0z6ybsa0d8yy) -----
/* SQL Analyze(1142,1) */ select * from ( wi………………)) select ali.c_loanaccountcode

3.解决方法:
关闭SQL Tuning Advisor或者设置参数alter system set "_no_or_expansion" = true;。 参考文档: ORA-7445 [apaneg] (文档 ID 1994477.1) Bug 18758878 - Automatic SQL tuning advisor fails with ORA-7445 [apaneg] (文档 ID 18758878.8) ---ID 18758878.8中的解决方法如下: Description Automatic SQL tuning advisor may fail with an ORA-7445 [apaneg]. Workaround Disable OR expansion using below parameter: alter system set "_no_or_expansion" = true;

我这里就简单粗暴的关闭了自动sql tuning advisor功能,关闭过程如下:
SQL> exec dbms_auto_task_admin.disable(client_name=>'sql tuning advisor',operation=>null,window_name=>null);
 
PL/SQL procedure successfully completed.
 
 
SQL> 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> select window_name,autotask_status,OPTIMIZER_STATS,SEGMENT_ADVISOR,SQL_TUNE_ADVISOR from dba_autotask_window_clients;
 
WINDOW_NAME                    AUTOTASK OPTIMIZE SEGMENT_ SQL_TUNE
------------------------------ -------- -------- -------- --------
MONDAY_WINDOW                  ENABLED  ENABLED  ENABLED  DISABLED
TUESDAY_WINDOW                 ENABLED  ENABLED  ENABLED  DISABLED
WEDNESDAY_WINDOW               ENABLED  ENABLED  ENABLED  DISABLED
THURSDAY_WINDOW                ENABLED  ENABLED  ENABLED  DISABLED
FRIDAY_WINDOW                  ENABLED  ENABLED  ENABLED  DISABLED
SATURDAY_WINDOW                ENABLED  ENABLED  ENABLED  DISABLED
SUNDAY_WINDOW                  ENABLED  ENABLED  ENABLED  DISABLED
 
7 rows selected.

  • 21
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值