DB2数据库建立nickname而导致CRASH

数据库
以下的文章主要向大家讲述的是DB2数据库建立nickname而导致CRASH的正确解决方法,下面就是正文的主要内容描述。

DB2数据库建立nickname而导致CRASH是文章的主要内容,假如你在DB2数据库建立nickname而导致CRASH此方面遇到遇到不懂的地方,或许本文会为你解开疑惑,以下就是文章的主要内容讲述。

DB2 II V8.2 for Oracle 创建nickname时导致DB2 CRASH的解决方法(Linux)

(注:DB2 II 已经改名为Websphere II)

在使用 II4O时,创建Wrapper, user mapping都没问题,但是,当创建nickname时,DB2 crash。

在DB2diag.log 中,有如下信息:


 

  1. 2005-03-13-14.22.36.412133+480 E7747G606 LEVEL: Severe   
  2. PID : 19883 TID : 3007177376 PROC : db2agent   
  3. (SAMPLE)   
  4. INSTANCE: db2inst1 NODE : 000 DB : SAMPLE   
  5. APPHDL : 0-14 APPID: GAC80471.NE04.00F483062900   
  6. FUNCTION: DB2 UDB, oper system services, sqloEDUCodeTrapHandler,   
  7. probe:10   
  8. MESSAGE : ADM0503C An unexpected internal processing error has occurred. ALL   
  9. DB2 PROCESSES ASSOCIATED WITH THIS INSTANCE HAVE BEEN SHUTDOWN.   
  10. Diagnostic information has been recorded. Contact IBM Support for   
  11. further assistance.   
  12. .   
  13. .   
  14. .   
  15. 2005-03-13-14.22.36.421935+480 I16005G624 LEVEL: Severe   
  16. PID : 19883 TID : 3007177376 PROC : db2agent   
  17. (SAMPLE)   
  18. INSTANCE: db2inst1 NODE : 000 DB : SAMPLE   
  19. APPHDL : 0-14 APPID: GAC80471.NE04.00F483062900   
  20. MESSAGE : RDS UCINTFC: pStatementText =   
  21. DATA #1 : Hexdump, 59 bytes   
  22. 0xB33849E0 : 4352 4541 5445 204E 4943 4B4E 414D 4520 CREATE NICKNAME   
  23. 0xB33849F0 : 4442 3249 4E53 5431 2E4F 5241 4C4F 4341 DB2INST1.ORALOCA   
  24. 0xB3384A00 : 4C20 464F 5220 5453 4831 2E44 4232 494E L FOR TSH1.DB2IN   
  25. 0xB3384A10 : 5354 312E 224C 4F43 414C 22 ST1."LOCAL"   
  26. .   
  27. .   
  28. .   
  29. 2005-03-13-14.22.36.476913+480 I39423G431 LEVEL: Severe   
  30. PID : 19824 TID : 3007177376 PROC : db2tcpcm   
  31. INSTANCE: db2inst1 NODE : 000   
  32. FUNCTION: DB2 UDB, oper system services, sqloEDUSIGCHLDHandler, probe:50   
  33. DATA #1 : String, 158 bytes   
  34. Detected the death of an EDU with process id 19883   
  35. The signal number that terminated this process was 11   
  36. Look for trap files (t19883.*) in the dump directory  

检查trap文件, t19883.000, 在 call stack,会发现:


 

  1. -FRAME-- --CODE-- --LOCATION--   
  2. BFFE8E70 83C4286A 0x0083 + A_SHAFinalCommon   
  3. (/opt/IBM/db2/V8.1/lib/libdb2e.so.1)   
  4. BFFE8F00 8B55E48D 0x00ae + A_X931RandomUpdate   
  5. (/home/oracle/OraHome1/lib/libclntsh.so.9.0)   
  6. BFFE8F60 83C40CEB 0x00d0 + ztcrseed3   
  7. (/home/oracle/OraHome1/lib/libclntsh.so.9.0)  


这是DB2数据库 II V8.2 和 Oracle 9i/10g 的一个兼容性问题.

如果是ORACLE 9i Workaround:


 

  1. 1) Back up your $ORACLE_HOME/lib/libclntsh.so and   
  2. $ORACLE_HOME/bin/genclntsh   
  3. 2) Add '-Wl,-Bsymbolic' to the link line of $ORACLE_HOME/bin/genclntsh:   
  4. LD="gcc -shared -Wl,-relax -L${ORACLE_HOME}/lib -Wl,-Bsymbolic"   
  5. # shared library link command   
  6. 3) Run genclntsh to create libclntsh.so   
  7. 4) Execute djxlinkOracle   
  8. 5) Stop and Start the instance  


如果是ORACLE 10g Workaround:


 

  1. 1) back up $ORACLE_HOME/bin/genclntsh,   
  2. $ORACLE_HOME/lib/libclntsh.so.10.1, $ORACLE_HOME/lib32/libclntsh.so.10.1   
  3. 2) cd $ORACLE_HOME/lib; mv libnnz10.so libnnz10.so.orig   
  4. (so libnnz10.so not exist in lib)   
  5. 3) cd $ORACLE_HOME/bin; modify the script genclntsh:   
  6. a). Add "-Wl, -Bsymbolic" to linker line, .... make sure there is no   
  7. spaces between the comma and -B.   
  8. ex. LD="gcc -shared -Wl,-relax -L${ORACLE_HOME}/lib -Wl,   
  9. -Bsymbolic" # shared library link command   
  10. b) Change libnnz10.so ==> libnnz10.a in following line   
  11. * -r ${OLIB}/libnnz10.so * && LNZ="-lnnz10  

以上的相关内容就是对DB2数据库建立nickname导致CRASH解决方法的介绍,望你能有所收获。

【编辑推荐】

  1. 实现DB2HADRv8.2 EE实施的正确操作步骤
  2. DB2快照函数全解析经典版
  3. DB2:信息管理 尽在掌握
  4. DB2 9 XML 性能优势
  5. DB2 V7存储过程构建环境设置的正确操作步骤描述
责任编辑:佚名 来源: 比特博客
相关推荐

2010-08-06 13:40:06

DB2建立nickna

2010-07-30 13:21:21

2010-08-03 14:40:05

DB2数据库

2010-09-07 10:29:34

DB2数据库

2010-08-26 17:11:50

DB2database Pa

2010-08-06 09:39:27

DB2数据库分区

2010-08-04 13:22:17

2011-03-11 16:02:03

DB2数据库安装

2010-08-25 10:50:48

DB2数据库

2010-08-05 16:19:06

DB2建立数据库分区

2010-11-01 11:30:41

DB2数据库权限

2010-11-03 16:21:18

DB2数据库授权

2010-08-26 16:15:25

DB2数据库管理

2010-09-30 11:49:21

DB2数据库权限

2009-07-06 17:34:26

远程复制DB2

2010-08-31 11:26:59

DB2数据库

2010-11-03 16:32:10

DB2创建数据库

2010-11-02 11:49:18

SQL SERVER连

2010-08-31 13:06:49

DB2数据库

2010-09-01 13:38:41

DB2数据复制
点赞
收藏

51CTO技术栈公众号