oracle库文件解决办法badELFinterpreter:Nosuchfileordirectory(二)

2014-11-24 16:16:11 · 作者: · 浏览: 5
ction Test Transaction Test Succeeded Running Transaction Warning: RPMDB altered outside of yum. Installing : nss-softokn-freebl-3.12.9-11.el6.i686 1/2 Installing : glibc-2.12-1.107.el6.i686 2/2 Verifying : glibc-2.12-1.107.el6.i686 1/2 Verifying : nss-softokn-freebl-3.12.9-11.el6.i686 2/2 Installed: glibc.i686 0:2.12-1.107.el6 Dependency Installed: nss-softokn-freebl.i686 0:3.12.9-11.el6 Complete! [root@dg2 Packages]# su - dsg [dsg@dg2 bin]$ cd ../ ;cd scripts/;./start dsg 4416 4391 0 11:48 pts/0 00:00:00 /dsg/bin/archivelog /dsg/log/log.vagentd /dsg/log/archivelog/log.vagentd_archlog 43200 5G dsg 4426 4391 0 11:48 pts/0 00:00:00 /dsg/bin/archivelog /dsg/log/log.r0 /dsg/log/archivelog/log.r0_archlog 43200 5G [dsg@dg2 scripts]$

这是没有错误提示,查看日志如下:

[dsg@dg2 log]$ tail -f log.vagentd 
/dsg/bin/vagentd: error while loading shared libraries: libclntsh.so.11.1: wrong ELF class: ELFCLASS64
tail: log.vagentd: file truncated

查看该程序的使用lib信息:

[dsg@dg2 scripts]$ cd ../bin
[dsg@dg2 bin]$ ldd vagentd
        linux-gate.so.1 =>  (0xf77a6000)
        libclntsh.so.11.1 => not found
        libnnz.so => not found
        libpthread.so.0 => /lib/libpthread.so.0 (0xf7773000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0xf7743000)
        libdl.so.2 => /lib/libdl.so.2 (0xf773d000)
        libm.so.6 => /lib/libm.so.6 (0xf7713000)
        librt.so.1 => /lib/librt.so.1 (0xf770a000)
        libc.so.6 => /lib/libc.so.6 (0x48cb8000)
        /lib/ld-linux.so.2 (0x48c96000)
        libfreebl3.so => /lib/libfreebl3.so (0xf76bb000)
[dsg@dg2 bin]$ 

可以知道目前有两个问题,一个是libnnz.so没有,另一个是libclntsh.so.11.1没有。需要做的是安装相应的软件包或是直接复制相应的lib文件到相应目录。
现在需要做的事是修改环境变量

[dsg@dg2 ~]$ more .bash_profile 
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
####ORACLE#######3333
export TMP=/tmp
export TMPDIR=/tmp
export ORACLE_BASE=/u01/app/oracle
export ORACLE_SID=dg2
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
stty erase ^H
[dsg@dg2 ~]$ vi .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
####ORACLE#######3333
export TMP=/tmp
export TMPDIR=/tmp
export ORACLE_BASE=/u01/app/oracle
export ORACLE_SID=dg2
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
stty erase ^H
export LD_LIBRARY_PATH=$ORACLE_HOME/lib32:/u01/app/oracle/product/11.2.0/dbhome_1/lib32

再次查看该所需程序lib文件信息:

[dsg@dg2 bin]$ ldd vagentd
        linux-gate.so.1 =>  (0xf77ef000)
        libclntsh.so.11.1 => /u01/app/oracle/product/11.2.0/dbhome_1/lib32/libclntsh.so.11.1 (0xf5af0000)
        libnnz.so => /u01/app/oracle/product/11.2.0/dbhome_1/lib32/libnnz.so (0xf58a3000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xf5871000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0xf5840000)
        libdl.so.2 => /lib/libdl.so.2 (0xf583b000)
        libm.so.6 => /lib/libm.so.6 (0xf5811000)
        librt.so.1 => /lib/librt.so.1 (0xf5808000)
        libc.so.6 => /lib/libc.so.6 (0x48cb8000)
        libnnz11.so => /u01/app/oracle/product/11.2.0/dbhome_1/lib32/libnnz11.so (0xf55ba000)
        libnsl.so.1 => /lib/libnsl.so.1 (0xf559f000)
        /lib/ld-linux.so.2 (0x48c96000)
        libaio.so.1 => not found
        libfreebl3.so => /lib/libfreebl3.so (0xf5550000)
[dsg@dg2 bin]$
那么需要安装l