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
From:http://tw.wingwit.com/Article/program/Oracle/201311/16771.html