应用出现ORA-24550: signal received: [si_signo=6] [si_errno=0] [si_code=9] [si_addr=0]的错误

前天应用测试的时候,说是应用出现了ORA-24550: signal received: [si_signo=6] [si_errno=0] [si_code=9][si_addr=0]的错误,Google了一下,解决方法就是在Server端或者Client端的sqlnet.ora文件里面添加如下内容:

DIAG_ADR_ENABLED=FALSE
DIAG_SIGHANDLER_EANABLED=FALSE
DIAG_DDE_ENABLED=FALSE

然后重启一下监听,我的是11g的rac环境,并且使用了scan,所以需要重启listener和scan_listener,在其中一个节点执行即可!

[rac11g2@root]# srvctl stop listener 
[rac11g2@root]# srvctl stop scan_listener
[rac11g2@root]# srvctl start listener    
[rac11g2@root]# srvctl start scan_listener


附上MOS上的官文:

ORA-24550 Signal Received Error From Client Based Application [ID 1284564.1]

 修改时间 01-JUL-2011     类型 PROBLEM     状态 MODERATED 

In this Document
  Symptoms
  Changes
  Cause
  Solution
  References


This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) process and therefore has not been subject to an independent technical review.

Applies to:

Oracle Server - Enterprise Edition - Version: 11.2.0.1 and later   [Release: 11.2 and later ]
Information in this document applies to any platform.
OCI, OCCI, Precompiler based Applications such as Pro*C, Pro*COBOL.

Symptoms

When trying to execute C program on Server - Oracle 11g 11.2.0.1 on IBM AIX 64 bit, 6.1, the following error message is received.

Application connects to Server with Oracle 11g 11.2.0.1: 

ORA-24550 : signal received : [si_signo=11] [si_errno=0] [si_code=50] [si_adr = 2020202020202020] killed

Depending on the Operating System the stack would differ.  For example; 

Linux x86-64 would be something like; 

/lib64/libpthread.so.0[0x3412a0673d] /lib64/libc.so.6(clone+0x6d)[0x3411ed44bd] ORA-24550: signal received: [si_signo=6] [si_errno=0] [si_code=-6] [si_int=0] [si_ptr=0x200000000] [si_addr=0x1f400001c43] kpedbg_dmp_stack()+314<-kpeDbgCrash()+166<-kpeDbgSignalHandler()+158<-skgesig_sigactionHandler()+217<-__restore_rt()<-gsignal()+53<-000000000DE723A0<-000000000DE723A0<...

Changes

Upgraded Database from Oracle 10g 10.2.0.1 to Oracle 11g 11.2.0.1

Cause

Diagnosability features which are turned on by default on Oracle 11g Release 2 causes the problem.

Parameters are: 

DIAG_ADR_ENABLED 
DIAG_SIGHANDLER_ENABLED 
DIAG_DDE_ENABLED 

Solution

1. Such errors can occur if the "Diagnosability" features are 'ON'.

To turn off the OCI signal handler and re-enable standard Operating System failure processing, place the following parameter setting in sqlnet.ora:

DIAG_SIGHANDLER_ENABLED=FALSE

By default this parameter is set to true.

If you want to see the old behavior you can simply turn off the feature by placing the following parameter setting in your client side sqlnet.ora file under $ORACLE_HOME/network/admin directory.

2. In addition, please turn off other Diagnostics parameters as well by placing the following entries in the client side or server sqlnet.ora file. i.e., from where the application is run.

DIAG_ADR_ENABLED=OFF
DIAG_SIGHANDLER_ENABLED=FALSE
DIAG_DDE_ENABLED=FALSE

References

BUG:9342118 - OCISTMTRELEASE CRASHES WITH CORE DUMP WHEN CALLED OUTSIDE A TRANSACTION
NOTE:1062759.1 - ORA-24550 AND CRASH IN OCISTMTRELEASE after client upgrade to ORACLE 11.2


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值