oracle 库文件解决的方法 bad ELF interpreter: No such file or directory
今天是2014-05-27,今天遇到一个lib问题,再次记录一下。这是一个案例,更是一种解决该问题的方法过程。
当我们在使用sqlplus 登陆unix数据库的时候,有可能出现类似:xxxxxx bad ELF interpreter: No such file or directory的问题。该问题的解决办法也是lib的问题。正常情况例如以下:
[root@dg1 ~]# su - oracle
[oracle@dg1 ~]$ ldd `which sqlplus`
linux-vdso.so.1 => (0x00007fff2e5ff000)
libsqlplus.so => /u01/app/oracle/product/11.2.0/dbhome_1/lib/libsqlplus.so (0x00007fba1fef6000)
libclntsh.so.11.1 => /u01/app/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so.11.1 (0x00007fba1d48b000)
libnnz11.so => /u01/app/oracle/product/11.2.0/dbhome_1/lib/libnnz11.so (0x00007fba1d0be000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000003c93800000)
libm.so.6 => /lib64/libm.so.6 (0x0000003c94400000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003c94000000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x0000003ca3000000)
libc.so.6 => /lib64/libc.so.6 (0x0000003c93c00000)
libaio.so.1 => /lib64/libaio.so.1 (0x00007fba1cea4000)
/lib64/ld-linux-x86-64.so.2 (0x0000003c93400000)
[oracle@dg1 ~]$
但有时候可能会缺失对应的lib文件。
那么对于该问题的解决思路是:
1、查看程序缺少的lib文件是那些
2、推断相应的lib文件时缺少还是环境变量问题。
3、假设是lib文件缺少那么须要安装相应的软件包或是复制相应的lib文件。假设是环境变量问题,那就须要更具不同系统设置不同的环境变量了。
另外对于oracle我们安装的32位的是lib32,是64位的那么是lib文件夹。
例如以下是我今天遇到的一个启动RealSync的样例,其它程序类似:
启动Realsync提演示样例如以下错误:
dsg@dg2 scripts]$ ./start
./start: /dsg/bin/archivelog: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
./start: /dsg/bin/archivelog: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
[dsg@dg2 scripts]$ ./stop
INFO: Stop realsync normally...
INFO: Stopping Vagentd ...
INFO: Stopping Loader -s for fullsync loader ...
INFO: Stopping Loader -r for realsync loader ...
[dsg@dg2 scripts]$
[dsg@dg2 scripts]$ exit
那么对于ld-linux.so.2是相应的glibc.i686这个包。因此进行安装:例如以下:
[root@dg2 ~]# cd /media/OL6.4\ x86_64\ Disc\ 1\ 20130225/Packages/
[root@dg2 Packages]# yum install glibc.i686
Loaded plugins: refresh-packagekit, security
oel6 | 3.7 kB 00:00 ...
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package glibc.i686 0:2.12-1.107.el6 will be installed
--> Processing Dependency: libfreebl3.so(NSSRAWHASH_3.12.3) for package: glibc-2.12-1.107.el6.i686
--> Processing Dependency: libfreebl3.so for package: glibc-2.12-1.107.el6.i686
--> Running transaction check
---> Package nss-softokn-freebl.i686 0:3.12.9-11.el6 will be installed
--> Finished Dependency Resolution Dependencies Resolved =======================================================================================================================
Package Arch Version Repository Size
=======================================================================================================================
Installing:
glibc i686 2.12-1.107.el6 oel6 4.3 M
Installing for dependencies:
nss-softokn-freebl i686 3.12.9-11.el6 oel6 116 k Transaction Summary
=======================================================================================================================
Install 2 Package(s) Total download size: 4.4 M
Installed size: 13 M
Is this ok [y/N]: y
Downloading Packages:
-----------------------------------------------------------------------------------------------------------------------
Total 60 MB/s | 4.4 MB 00:00
Running rpm_check_debug
Running Transaction 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]$
那么须要安装libaio.so.1相应的软件包:
[root@dg2 Packages]# yum install libaio-
libaio-0.3.107-10.el6.i686.rpm libaio-0.3.107-10.el6.x86_64.rpm libaio-devel-0.3.107-10.el6.i686.rpm libaio-devel-0.3.107-10.el6.x86_64.rpm
[root@dg2 Packages]# yum install libaio-0.3.107-10.el6.i686.rpm
Loaded plugins: refresh-packagekit, security
Setting up Install Process
Examining libaio-0.3.107-10.el6.i686.rpm: libaio-0.3.107-10.el6.i686
Marking libaio-0.3.107-10.el6.i686.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package libaio.i686 0:0.3.107-10.el6 will be installed
--> Finished Dependency Resolution Dependencies Resolved =======================================================================================================================================================================
Package Arch Version Repository Size
=======================================================================================================================================================================
Installing:
libaio i686 0.3.107-10.el6 /libaio-0.3.107-10.el6.i686 31 k Transaction Summary
=======================================================================================================================================================================
Install 1 Package(s) Total size: 31 k
Installed size: 31 k
Is this ok [y/N]: Y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : libaio-0.3.107-10.el6.i686 1/1
Verifying : libaio-0.3.107-10.el6.i686 1/1 Installed:
libaio.i686 0:0.3.107-10.el6 Complete!
[root@dg2 Packages]#
再次查看:
[dsg@dg2 bin]$ ldd vagentd
linux-gate.so.1 => (0xf772c000)
libclntsh.so.11.1 => /u01/app/oracle/product/11.2.0/dbhome_1/lib32/libclntsh.so.11.1 (0xf5a2d000)
libnnz.so => /u01/app/oracle/product/11.2.0/dbhome_1/lib32/libnnz.so (0xf57e0000)
libpthread.so.0 => /lib/libpthread.so.0 (0xf57ae000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0xf577d000)
libdl.so.2 => /lib/libdl.so.2 (0xf5778000)
libm.so.6 => /lib/libm.so.6 (0xf574e000)
librt.so.1 => /lib/librt.so.1 (0xf5745000)
libc.so.6 => /lib/libc.so.6 (0x48cb8000)
libnnz11.so => /u01/app/oracle/product/11.2.0/dbhome_1/lib32/libnnz11.so (0xf54f7000)
libnsl.so.1 => /lib/libnsl.so.1 (0xf54dc000)
libaio.so.1 => /lib/libaio.so.1 (0xf54da000)
/lib/ld-linux.so.2 (0x48c96000)
libfreebl3.so => /lib/libfreebl3.so (0xf548b000)
[dsg@dg2 bin]$
启动RealSync:
[dsg@dg2 scripts]$ ./start
dsg 5203 1 0 12:04 pts/1 00:00:00 /dsg/bin/vagentd 50001
dsg 5204 5203 0 12:04 pts/1 00:00:00 /dsg/bin/vagentd 50001
dsg 5214 1 0 12:04 pts/1 00:00:00 /dsg/bin/loader -r -qno 0 1
dsg 5216 5214 0 12:04 pts/1 00:00:00 /dsg/bin/loader -r -qno 0 1
dsg 5213 1 0 12:04 pts/1 00:00:00 /dsg/bin/loader -s -qno 0 1
dsg 5215 5213 0 12:04 pts/1 00:00:00 /dsg/bin/loader -s -qno 0 1
dsg 5199 5174 0 12:04 pts/1 00:00:00 /dsg/bin/archivelog /dsg/log/log.vagentd /dsg/log/archivelog/log.vagentd_archlog 43200 5G
dsg 5208 5174 0 12:04 pts/1 00:00:00 /dsg/bin/archivelog /dsg/log/log.r0 /dsg/log/archivelog/log.r0_archlog 43200 5G
[dsg@dg2 scripts]$
至此问题得到解决:
oracle 库文件解决的方法 bad ELF interpreter: No such file or directory的更多相关文章
- 安装JDK出现错误:-bash: /usr/java/jdk1.7.0_71/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory解决办法
1.错误描述:安装好jdk之后,通过java -version,javac,java等命令测试是否安装成功时出现错误-bash: /usr/java/jdk1.7.0_71/bin/java: /li ...
- 解决/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory报错 (转)
解决/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory报错 念淅 2020-01-03 15:02:25 3793 收 ...
- CentOS /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
使用的时候出现一个错误 bash: /usr/local/bin/rar: /lib/ld-linux.so.2: bad ELF interpreter: No such file or direc ...
- /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory 错误:
在安装tomcat时报了错: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory 本机环境: [root@AY1405 ...
- CentOS安装软件出现错误:bash: /usr/local/bin/rar: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
CentOS安装软件出现错误: bash: /usr/local/bin/rar: /lib/ld-linux.so.2: bad ELF interpreter: No such file or d ...
- JDK1.3安装出现/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory Done.
今天是出道以来第一次安装JDK1.3,大学的时候接触的也已是JDK1.4,而且是在Red Hat Enterprise Linux Server release 6.6上,安装JDK1.3是由于软件组 ...
- Symantec Backup Exec 2010 安装报 bad ELF interpreter: No such file or directory
在64位的Red Hat Enterprise Linux Server release 6.6上安装Symantec Backup Exec 2010时, 遇到下面错误: # ./installra ...
- 修复/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory问题
在配置MongDB的是时候出现这/lib/ld-linux.so.2问题 [root@localhost local]# /usr/local/mongodb/mongodb/bin/mongod - ...
- bad ELF interpreter: No such file or directory
1.在64系统里执行32位程序如果出现/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory,安装下glic即可 yum ...
随机推荐
- vmware虚拟机迁移系统到其它磁盘(xjl456852原创)
有时我们将vmware安装的系统放在了磁盘空间比较小的盘里,后来磁盘空间不够用了,我们需要将文件移动到其它磁盘.腾出这个磁盘的空间. 我安装的系统有10个,总占空间大小170多GB.需要从D盘迁移到G ...
- iOS开发之Crash分析,以及收集
一 先谈谈iOS的Crash收集方式: 1. APP 发生crash,用户手机手机上肯定会有crash纪录,当然删除了该app,或是删了再装 crash纪录还是没了. 2. 如果用户设置-隐私 同 ...
- JSTL解析——003——core标签库02
上一节主要讲解了<c:if/><c:choose/><c:when/><c:otherwise><c:out/>标签的使用,下面继续讲解其它 ...
- Redis 安装教程 (Windows 2.6.13 稳定版)
redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set ...
- TortoiseSVN和VisualSVN-下载地址
isualSVN的下载地址http://www.visualsvn.com/visualsvn/ 它可以以插件的形式嵌入到visual studio里面,让团队协作更轻松,最新的版本已经支持Visua ...
- java学习基础
Q: What if the static modifier is removed from the signature of the main method? A: Program compiles ...
- (原)vs2013静态及动态链接opencv3.0的库
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5477551.html 静态链接步骤如下: 1. 在“通用配置”-“VC++目录”-“包含目录”中添加: ...
- Jquery表单与表格的运用
1,表单的应用: a. 单行文本框的应用 多行文本框的应用 b.复选框的框的应用 c.下拉框的应用 d.表单验证 2,表格的应用: a. 表格变色 b.表格展开关闭 d.表格内容筛选 3,多行文本框 ...
- mac下 WebStorm下主题包安装
mac下: 主题包 1.mac下,点击桌面,使用shift+command+G 输入:~/Library/Preferences 前往(mac查找安装目录的方法,因为默认这些文件夹是隐藏的),进入We ...
- 用PHP向MySql中写入图片
我们经常遇到的问题是如何将图片文件放到Mysql数据库当中,这样可以避免没有认证的用户找到我们的图片资源! 1.看看数据库里的表结构怎么写 CREATE TABLE Images ( PicN ...