DB
II V
for ORACLE 创建nickname时导致DB
CRASH的解决方法(Linux)
(注:DB II 已经改名为Websphere II)
在使用 IIO时创建Wrapper user mapping都没问题但是当创建nickname时DB crash
在dbdiaglog 中有如下信息: + EG LEVEL: Severe
PID : TID : PROC : dbagent
(SAMPLE)
INSTANCE: dbinst NODE : DB : SAMPLE
APPHDL : APPID: GACNEF
FUNCTION: DB UDB oper system services sqloEDUCodeTrapHandler
probe:
MESSAGE : ADMC An unexpected internal processing error has occurred ALL
DB PROCESSES ASSOCIATED WITH THIS INSTANCE HAVE BEEN SHUTDOWN
Diagnostic information has been recorded Contact IBM Support for
further assistance
+ IG LEVEL: Severe
PID : TID : PROC : dbagent
(SAMPLE)
INSTANCE: dbinst NODE : DB : SAMPLE
APPHDL : APPID: GACNEF
MESSAGE : RDS UCINTFC: pStatementText =
DATA # : Hexdump bytes
xBE : E BE D CREATE NICKNAME
xBF : E EF CF DBINSTORALOCA
xBA : C F E E L FOR TSHDBIN
xBA : E C F C STLOCAL
+ IG LEVEL: Severe
PID : TID : PROC : dbtcpcm
INSTANCE: dbinst NODE :
FUNCTION: DB UDB oper system services sqloEDUSIGCHLDHandler probe:
DATA # : String bytes
Detected the death of an EDU with process id
The signal number that terminated this process was
Look for trap files (t*) in the dump directory
检查trap文件 t 在 call stack会发现: FRAME CODE LOCATION
BFFEE CA x + A_SHAFinalCommon
(/opt/IBM/db/V/lib/libdbeso)
BFFEF BED xae + A_XRandomUpdate
(/home/oracle/OraHome/lib/libclntshso)
BFFEF CCEB xd + ztcrseed
(/home/oracle/OraHome/lib/libclntshso)
这是DB II V 和 Oracle i/g 的一个兼容性问题
如果是ORACLE i Workaround:
============
) Back up your $ORACLE_HOME/lib/libclntshso and
$ORACLE_HOME/bin/genclntsh
) Add WlBsymbolic to the link line of $ORACLE_HOME/bin/genclntsh:
LD=gcc shared Wlrelax L${ORACLE_HOME}/lib WlBsymbolic # shared library link command
) Run genclntsh to create libclntshso
) Execute djxlinkOracle
) Stop and Start the instance
如果是ORACLE g Workaround:
============
) back up $ORACLE_HOME/bin/genclntsh
$ORACLE_HOME/lib/libclntshso $ORACLE_HOME/lib/libclntshso
) cd $ORACLE_HOME/lib; mv libnnzso libnnzsoorig (so libnnzso not exist in lib)
) cd $ORACLE_HOME/bin; modify the script genclntsh:
a) Add Wl Bsymbolic to linker line make sure there is no
spaces between the comma and B
ex LD=gcc shared Wlrelax L${ORACLE_HOME}/lib WlBsymbolic # shared library link command
b) Change libnnzso ==> libnnza in following line
* r ${OLIB}/libnnzso * && LNZ=lnnz