CRASH caused by the establishment of nickname in the DB2 database is the main content of the article. If you create a nickname in the DB2 database and cause CRASH to encounter problems in this aspect, this article may solve your doubts, the following describes the main content of the article.
DB2 II V8.2 for Oracle create nickname causes DB2 CRASH solution (Linux)
(Note: DB2 II has been renamed Websphere II)
When II4O is used, it is okay to create Wrapper and user mapping. However, DB2 crash is used when nickname is created.
The following information is contained in DB2diag. log:
- 2005-03-13-14.22.36.412133+480 E7747G606 LEVEL: Severe
- PID : 19883 TID : 3007177376 PROC : db2agent
- (SAMPLE)
- INSTANCE: db2inst1 NODE : 000 DB : SAMPLE
- APPHDL : 0-14 APPID: GAC80471.NE04.00F483062900
- FUNCTION: DB2 UDB, oper system services, sqloEDUCodeTrapHandler,
- probe:10
- MESSAGE : ADM0503C An unexpected internal processing error has occurred. ALL
- DB2 PROCESSES ASSOCIATED WITH THIS INSTANCE HAVE BEEN SHUTDOWN.
- Diagnostic information has been recorded. Contact IBM Support for
- further assistance.
- .
- .
- .
- 2005-03-13-14.22.36.421935+480 I16005G624 LEVEL: Severe
- PID : 19883 TID : 3007177376 PROC : db2agent
- (SAMPLE)
- INSTANCE: db2inst1 NODE : 000 DB : SAMPLE
- APPHDL : 0-14 APPID: GAC80471.NE04.00F483062900
- MESSAGE : RDS UCINTFC: pStatementText =
- DATA #1 : Hexdump, 59 bytes
- 0xB33849E0 : 4352 4541 5445 204E 4943 4B4E 414D 4520 CREATE NICKNAME
- 0xB33849F0 : 4442 3249 4E53 5431 2E4F 5241 4C4F 4341 DB2INST1.ORALOCA
- 0xB3384A00 : 4C20 464F 5220 5453 4831 2E44 4232 494E L FOR TSH1.DB2IN
- 0xB3384A10 : 5354 312E 224C 4F43 414C 22 ST1."LOCAL"
- .
- .
- .
- 2005-03-13-14.22.36.476913+480 I39423G431 LEVEL: Severe
- PID : 19824 TID : 3007177376 PROC : db2tcpcm
- INSTANCE: db2inst1 NODE : 000
- FUNCTION: DB2 UDB, oper system services, sqloEDUSIGCHLDHandler, probe:50
- DATA #1 : String, 158 bytes
- Detected the death of an EDU with process id 19883
- The signal number that terminated this process was 11
- Look for trap files (t19883.*) in the dump directory
Check the trap file, t19883.000. On the call stack, you will find:
- -FRAME-- --CODE-- --LOCATION--
- BFFE8E70 83C4286A 0x0083 + A_SHAFinalCommon
- (/opt/IBM/db2/V8.1/lib/libdb2e.so.1)
- BFFE8F00 8B55E48D 0x00ae + A_X931RandomUpdate
- (/home/oracle/OraHome1/lib/libclntsh.so.9.0)
- BFFE8F60 83C40CEB 0x00d0 + ztcrseed3
- (/home/oracle/OraHome1/lib/libclntsh.so.9.0)
This is a compatibility problem between DB2 database II V8.2 and Oracle 9i/10g.
For ORACLE 9i Workaround:
- 1) Back up your $ORACLE_HOME/lib/libclntsh.so and
- $ORACLE_HOME/bin/genclntsh
- 2) Add '-Wl,-Bsymbolic' to the link line of $ORACLE_HOME/bin/genclntsh:
- LD="gcc -shared -Wl,-relax -L${ORACLE_HOME}/lib -Wl,-Bsymbolic"
- # shared library link command
- 3) Run genclntsh to create libclntsh.so
- 4) Execute djxlinkOracle
- 5) Stop and Start the instance
For ORACLE 10g Workaround:
- 1) back up $ORACLE_HOME/bin/genclntsh,
- $ORACLE_HOME/lib/libclntsh.so.10.1, $ORACLE_HOME/lib32/libclntsh.so.10.1
- 2) cd $ORACLE_HOME/lib; mv libnnz10.so libnnz10.so.orig
- (so libnnz10.so not exist in lib)
- 3) 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 -Wl,-relax -L${ORACLE_HOME}/lib -Wl,
- -Bsymbolic" # shared library link command
- b) Change libnnz10.so ==> libnnz10.a in following line
- * -r ${OLIB}/libnnz10.so * && LNZ="-lnnz10
The above content is an introduction to the CRASH solution caused by the establishment of nickname in the DB2 database. I hope you will gain some benefits.