欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

应用出现ORA-24550: signal received: [si_signo=6] [si_errno=0] [s

程序员文章站 2022-06-17 12:28:29
...

前天应用测试的时候,说是应用出现了ORA-24550: signal received: [si_signo=6] [si_errno=0] [si_code=9][si_addr=0]的错误,Go

应用出现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

然后重启一下监听,我的是Oracle 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

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