中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 数据库开发 > DB2
DB2建立nickname导致CRASH解决方法
作者:dsfjasdki 时间:2007-06-22 14:58 出处:qqread 责编:月夜寒箫
              摘要:DB2建立nickname导致CRASH解决方法

nickname时导致DB2 CRASH的解决方法(Linux)

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

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

在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

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

 

-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)

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

如果是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

如果是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
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有