咱們有臺測試服務器pro*c/oci應用老是發生各類比較奇葩的現象,就這一臺機器會發生,其餘幾十臺都不會發生。html
sig 11的緣由,內存地址訪問越界。各signo的si_code含義可參考http://man7.org/linux/man-pages/man2/sigaction.2.html,在本異常中,signo=11表示SIGSEGV,si_code=1表示Address not mapped to object,也就是地址爲空或者無效。更多完整的信息,能夠參考http://pubs.opengroup.org/onlinepubs/009695399/basedefs/signal.h.html。linux
對於ora-24550 signo=11在oracle 11g下的發生,能夠說是oracle 11g新引入的一個bug,從11g開始,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
解決方法:
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=FALSEsql
官方解釋:https://doganay.wordpress.com/2012/03/16/ora-24550-signal-received-si_signo11-si_errno0-si_code1-si_addrc/服務器
http://www.orafaq.com/forum/t/96259/oracle
OCI ora-24550官方MOS解釋:https://blog.csdn.net/it_man/article/details/42494829app
https://blog.csdn.net/hzhsan/article/details/17189999ide
https://bbs.csdn.net/topics/360111259wordpress
log4cpp使用有問題。測試