sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory


该错误是环境变量配置错误,未生效后给出的;

如果安装的是客户端:

# vi /etc/profile中,应该这样配置:

export ORACLE_BASE=/usr/lib/oracle/11.2    #尤其注意这里要正确
export ORACLE_HOME=$ORACLE_BASE/client     #尤其注意这里要正确
export ORACLE_SID=ortl
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

# source /etc/profile

即可。

...

http://blog.csdn.net/yleesun/article/details/7804711

下载

从oracle官方网站上下载客户端和sqlplus程序。

安装
rpm -ivh oracle-instantclient-basic-11.1.0.1-1.x86_64.rpm
rpm -ivh oracle-instantclient-sqlplus-11.1.0.1-1.x86_64.rpm
配置
vim /etc/profile 添加
export ORACLE_HOME=/usr/lib/oracle/11.1.0.1/client64
export ORACLE_BASE=/usr/lib/oracle/11.1.0.1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

设置好环境变量需要重启机器!

创建配置文件

在ORACLE_HOME目录下创建以下目录network/admin,并创建文件tnsnames.ora,内容如下:

 

vim /usr/lib/oracle/11.1.0.1/client64/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /opt/oracle10g/u01/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.15.111)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = dmsdb)
)
)

测试

到ORACLE_HOME/bin目录下,执行命令:

[yleesun@centos bin]$ ./sqlplus zxd/zxd@ORCL
[yleesun@centos bin]$ ./sqlplus zxd/zxd@111

SQL*Plus: Release 11.2.0.3.0 Production on Mon Jul 9 19:14:25 2012

Copyright (c) 1982, 2011, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>

测试成功!

注:

如果出现以下错误:

 

sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory 
说明环境变量没有生效!

#####################################################

============

http://www.itpub.net/thread-1332441-1-1.html

第二个错误用nagios用户访问oracle,报错如下,这个oracle bug自己也遇到N多次了(参考metalink或http://www.dbanotes.net/database/oracle_10gr2_bug_libsqlplusso.html):
sqlplus: error while loading shared libraries: libsqlplus.so:cannot open shared object file: No such file or directory 
只需要:chmod -R a+rX /$ORACLE_HOME

http://blog.csdn.net/liaoyuanzi/article/details/7693503

 

(注意,环境变量设错可能会出现sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory)

http://blog.51yip.com/oracle/1290.html

 

解决问题三,sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory

当我用zhangying@ubuntu:~$ sqlplus / as sysdba去登录时,提示上面的错误,解决方法如下

chmod -R a+rX /opt/ora10/

这里/opt/ora10是的我$ORACLE_HOME目录,加上后可以进去了。

 

http://www.marathon-studios.com/blog/solved-sqlplus-error-while-loading-shared-libraries-libsqlplus-so-cannot-open-shared-object-file/

If you run into this error while trying to use Oracle’s SQL*Plus tool on Linux, it means you didn’t correctly add all of the necessary Oracle library paths to your LD_LIBRARY_PATH environment variable.

Run the following code on the command line, or add it to your .bashrc to run every time your shell is started:

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$ORACLE_HOME/bin"

This adds the bin directory in your Oracle installation folder to your system’s libraries. Now SQL*Plus should be able to find the includes it needs and successfully run.

 

 

============

#####################################################

 http://blog.csdn.net/liuyizhe567/article/details/7845579

首先补充或总结四点,原创内容,对原文进行补充,呵呵

1.    第五步中要配置的三个文件,应该不用全部配置,只配置tnsnames.ora应该就可以。
2.    如果在64位上案子64位的oracle客户端,运行“./sqlplus”时,会报错如下:
[root@bogon lib]# ./sqlplus
./sqlplus: error while loading shared libraries: libclntsh.so.11.1: wrong ELF class: ELFCLASS64
这是由于sqlplus不支持64位的导致的,
解决方法是:下载32位的basic和sqlplus(sqlplus 32位的和64位的一样),然后将两个文件里的东西解压到 oracle目录下的lib32目录下,然后按照上面步骤4中的方法修改“/etc/profile”并重新加载环境变量。引用:http://www.linuxidc.com/Linux/2008-03/11958.htm:    http://blog.163.com/ren_guangyuan/blog/static/98748841200810551941697/

3.    本文中环境变量未加 PATH,即是,未将需要的共享库文件的路径加入到path中,明天测试oci看这样是否会有问题:搞不懂这个问题,好像linux下寻找libsqlplus.so是在LD_LIBRARY_PATH下面找,不会再PATH下找,若找不到libsqlplus.so,只要export LD_LIBRARY_PATH=....应该就可以了。

4.还是按照最后一种方式在linux下安装rpm包吧,问题比较少。

--------------------------------------------------------------------

-----------------分割线-----------------------分割线-----------------

---------------------------------------------------------------------

安装过程引用:http://meviso.iteye.com/blog/726448

javama:总结 

首先说明:百度上面搜索的资料,都是垃圾资料,而且例子都是相互复制,确没有何参考价值, 
最可烦的是需要安装oracle 远程客户端,他们那些笨蛋都是以本地为主,一般情况下本地如果有 
安装oracle, 也会安装好客户端,不需要那如群笨蛋发布那些无用的信息,浪费人家的时间。 


1.要远程使用oracle,先下载下面三个文件,注意版本最好一致。 
  
  oracle-instantclient-basic-10.2.0.4-1.i386.zip 
  oracle-instantclient-devel-10.2.0.4-1.i386.zip     //这个是sdk 的,文件名上没有说明,特此说明 
  oracle-instantclient-sqlplus-10.2.0.4-1.i386.zip 
   
  //查看oracle的sql语句,当然你如果无法上去,只能问远程oracle  的管理员了。 
  select * from V$version ; 

  不同版本,或者不同操作系统的,请到官方网站下载,里面有详细说明。 
  http://www.oracle.com/technology/tech/oci/instantclient/index.html 
  

2.先创建三个客户端的安装目录,这三个目录可以自定义,但配置环境变量时,需要一致。 

   mkdir -p /opt/oracle/lib 
   mkdir -p /opt/oracle/sdk 
   mkdir -p /opt/oracle/network/admin               //配置监听器和网络环境。 

3.解压上面下载的三个文件。 
  unzip oracle-instantclient-basic-10.2.0.4-1.i386.zip 
  unzip oracle-instantclient-sqlplus-10.2.0.4-1.i386.zip 
  
  其中,这二个文件都解压到当前目录下的同一个目录下面:instantclient_10_2 
  cd instantclient_10_2 
  把这个目录下的所有文件搬到  /opt/oracle/lib 
   
  最后解压oracle-instantclient-devel-10.2.0.4-1.i386.zip  把解压出来的文件 /opt/oracle/sdk 


4.配置环境变量。 
  
  vi /etc/profile                   //注意,这是针对所有用户的环境变量,如果你想局限某用户,只能配置用户的配置文件了。 
  加入 
  export ORACLE_HOME=/opt/oracle 
  export LD_LIBRARY_PATH=/opt/oracle/lib 
  保存并退出。 
  [root@localhost tmp]# source /etc/profile              //使配置文件立刻生效 
  [root@localhost tmp]# echo $ORACLE_HOME                //查看一下配置的环境变量是否成功 
   /opt/oracle   

5.配置监听器和网络环境。 
  因为本地没有安装oracle 数据库,所以需要从安装oracle 数据库的目录弄三个文件过来。 

[root@localhost admin]# pwd 
/opt/oracle/network/admin 
[root@localhost admin]# ls 
  listener.ora  sqlnet.ora  tnsnames.ora       //就这三个文件,放到这个目录下 

6.编辑三个文件 

vi tnsnames.ora 
   
BOSSDATA = 
  (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST =192.168.1.107)(PORT = 1521))                    //192.168.1.107  IP地址   ,端口号:1521
    (CONNECT_DATA = 
      (SERVER = DEDICATED) 
      (SERVICE_NAME = bossdata)                                                   //bossdata  全局数据名
    ) 
  ) 

EXTPROC_CONNECTION_DATA = 
  (DESCRIPTION = 
    (ADDRESS_LIST = 
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 
    ) 
    (CONNECT_DATA = 
      (SID = PLSExtProc) 
      (PRESENTATION = RO) 
    ) 
  ) 

  vi listener.ora 
  SID_LIST_LISTENER = 
  (SID_LIST = 
    (SID_DESC = 
      (SID_NAME = PLSExtProc) 
      (ORACLE_HOME = \opt\oracle)         //注意,这个是刚才配置的$ORACLE_HOME 
      (PROGRAM = extproc) 
    ) 
  ) 

LISTENER = 
  (DESCRIPTION_LIST = 
    (DESCRIPTION = 
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.107)(PORT = 1521))      //这个上面有说明
    ) 
  ) 


7.已完成。测试。 
  
  cd \opt\oraclelib 
  


[root@localhost lib]# sqlplus 
sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory

//如果出现上面的问题,代表你的环境变量没设置好。请参考:第四点。 


[root@localhost lib]# sqlplus system/javama@bossdata 

SQL*Plus: Release 10.2.0.4.0 - Production on Sun Aug 1 12:20:08 2010 

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved. 


Connected to: 
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production 
With the Partitioning, OLAP and Data Mining options 

SQL> 


这样测试客户端没问题了。

参考:

 

--------------------------------------------------------------------

-----------------分割线-----------------------分割线-----------------

---------------------------------------------------------------------


引用:http://www.itroad.cn/?p=89

在LINUX下安装ORACLE客户端以使用sqlplus
发表于 2011 年 04 月 20 日 由 梁 作华 
概述:因为管理ORACLE服务器及实现自动化运维,需要在自己的LINUX虚拟机上运行sqlplus,以方便管理及实现脚本自动化操作。

示例:ORACLE服务器配置如下

ORACLE服务器IP:1.1.1.1

数据库名:DATABASE

SID:TEST

用户名:user

密码:pass

步骤:

首先需要在ORACLE网站上下载如下3个文件

instantclient-basic-linux32-10.1.0.5-20060511.zip

instantclient-sqlplus-linux32-10.1.0.5-20060511.zip

instantclient-sdk-linux32-10.1.0.5-20060511.zip

执行如下脚本:

mkdir -p /usr/local/oracle/lib
mkdir -p /usr/local/oracle/sdk
mkdir -p /usr/local/oracle/network/admin
unzip instantclient-basic-linux32-10.1.0.5-20060511.zip
unzip instantclient-sqlplus-linux32-10.1.0.5-20060511.zip
cp -r instantclient10_1/* /usr/local/oracle/lib
unzip instantclient-sdk-linux32-10.1.0.5-20060511.zip
cp -r instantclient10_1/sdk /usr/local/oracle/

修改配置文件:/etc/profile

vi /etc/profile

export ORACLE_HOME=/usr/local/oracle
export LD_LIBRARY_PATH=/usr/local/oracle/lib
export PATH=$PATH:/usr/local/oracle/lib

unset i
unset pathmunge

立即生效配置文件:/etc/profile

. /etc/profile

配置ORACLE文件:tnsnames.ora

vi /usr/local/oracle/network/admin/tnsnames.ora

DATABASE=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 1.1.1.1)(PORT = 1521))
)
(CONNECT_DATA =
(SID = TEST)
(SERVER = DEDICATED)
)
)

vi /usr/local/oracle/network/admin/sqlnet.ora

# SQLNET.ORA Network Configuration File: /usr/local/oracle/network/admin/sqlnet.ora
# Generated by Oracle configuration tools.

NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)

测试:

sqlplus user@DATABASE

输入密码(pass)即可成功登录

--------------------------------------------------------------------

-----------------分割线-----------------------分割线-----------------

---------------------------------------------------------------------

另外总结一篇 oralce精简客户端在windows下的安装。

引用:http://expert.blog.51cto.com/339473/70969/

大型项目开发中,常用的数据库,当属Oracle。但Oracle 客户端安装就要一张光盘,体积很大。而且安装后,基本上就用2个功能:TNS配置服务名,SqlPlus。在开发过程中,大量使用Toad和PL/SQL Developer。因此,Oracle客户端安装盘,仅仅是被作为一个驱动而需要,根本没必要装那么大的空间。因此,本文给出了如何使用精简的Oracle客户端。
我使用两种精简的Oracle客户端,大家可以任选其一:
一、Oracle 9i (版本: 9.0.1.0.1)精简客户端 绿色版
          占用35M空间, 带SqlPlus工具。绿色版,超级推荐!!!
使用方法:
1. 确定OracleHome目录:比如我准备把Oracle 客户端放在  d:\program files\Oracle 下
2. 把ora90目录复制到d:\program files\Oracle 目录下
3. 如果你的OracleHome目录与我的不同,请用计事本打开install_oracle9i.reg 文件,替换d:\\progra~1\\Oracle,保存。
4. 双击install_oracle9i.reg, 导入注册表。
5. 用计事本打开D:\Program Files\Oracle\ora90\network\ADMIN\tnsnames.ora 文件,增加一个自己的数据库别名配置,保存。 可以复制其中的一个,然后进行修改,主要改=前面的别名,Host为IP地址, SERVICE_NAME为数据库服务器的实例名。
6. 然后运行D:\Program Files\Oracle\ora90\BIN\sqlplusw.exe,输入用户名/密码@别名,即可。
卸载方法:
1. 双击uninstall_oracle9i.reg, 导入注册表。
2. 删除d:\program files\Oracle 目录。

 
下载地址:
[url]http://www.fs2you.com/zh-cn/files/fda64a07-0705-11dd-85d4-00142218fc6e/[/url]
 
 
二、Oracle 10g Instant Client 
Oracle Instant Client 是Oracle 公司推出的精简版客户端,不需要安装,但需要简单配置一下。
下载地址:     [url]http://www.oracle.com/technology/software/tech/oci/instantclient/index.html[/url]
我下载的是Win32平台下的10.2.0.3 Basic版本。Instant client 有2个版本:Basic和Basic Lite。
Basic版本包括了所有的支持运行OCI、OCCI、JDBC、JDBC-OCI的文件,支持多种语言。
Basic Lite是Basic版本的精简版,只包括了英文的错误描述,也只支持Unicode、ASCII和欧洲字符集。
因此,如果数据库服务器是中文字符集(如 SIMPLIFIED CHINESE_CHINA.ZHS16GBK),则必须下载Basic版本。
Basic Lite 占用25M空间,Basic 占用93M空间。要支持中文,就一下子多了70M,汗!
另外,可以下载sqlplus,不过是命令行的版本,不是图形界面的。
1. 把下载的Basic版压缩包解压,放到 D:\Program Files\instantclient_10_2 目录下,总共8个文件。
2. 桌面上,右键点“我的电脑”,选择“属性”,选择“高级”页中的“环境变量”,在系统变量中,增加:
   1) 变量名:ORACLE_HOME
      变量值:D:\Program Files\instantclient_10_2
   2) 变量名:TNS_ADMIN
      变量值:D:\Program Files\instantclient_10_2
   3) 变量名:NLS_LANG
      变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
   4) 修改Path变量,在后面添加 D:\Program Files\instantclient_10_2
   
   如果不愿意手工增加,可以下载 SetOraEnv.rar 附件, 解压后执行其中的 setOraEnv.bat.
3. 在D:\Progra~1\instantclient_10_2 新建一个文本文件,文件名为tnsnames.ora,文件中增加自己的数据库别名配置,
示例如下:
   MyDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.1.16)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ora10g)
    )
  )
主要改=前面的别名,Host为IP地址, SERVICE_NAME为数据库服务器的实例名。
4. 把sqlplus的压缩包中的文件,解压到 D:\Program Files\instantclient_10_2 目录下,共3个文件。
   在Dos命令行,在D:\Program Files\instantclient_10_2 目录下,运行 sqlplus username/password@dbname,即可连到数据库上。
   
卸载方法:
1.  桌面上,右键点“我的电脑”,选择“属性”,选择“高级”页中的“环境变量”,在系统变量中,
    删除 ORACLE_HOME, TNS_ADMIN, NLS_LANG 三个变量,修改path变量,去掉D:\Program Files\instantclient_10_2目录。
2. 删除D:\Progra~1\instantclient_10_2 目录.

三、第三方工具使用:
上面的任何一种客户端配置好后,都可以安装Toad 或者PL/SQL Developer 工具,不需要再额外进行任何设置,即可使用。
    


--------------------------------------------------------------------

-----------------分割线-----------------------分割线-----------------

---------------------------------------------------------------------

rpm按照oracle客户端

引用:http://blog.csdn.net/yleesun/article/details/7804711

下载

从oracle官方网站上下载客户端和sqlplus程序。

安装
rpm -ivh oracle-instantclient-basic-11.1.0.1-1.x86_64.rpm
rpm -ivh oracle-instantclient-sqlplus-11.1.0.1-1.x86_64.rpm
配置
vim /etc/profile 添加
export ORACLE_HOME=/usr/lib/oracle/11.1.0.1/client64
export ORACLE_BASE=/usr/lib/oracle/11.1.0.1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

设置好环境变量需要重启机器!

创建配置文件

在ORACLE_HOME目录下创建以下目录network/admin,并创建文件tnsnames.ora,内容如下:

 

vim /usr/lib/oracle/11.1.0.1/client64/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /opt/oracle10g/u01/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

 

ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.15.111)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = dmsdb)
)
)

测试

到ORACLE_HOME/bin目录下,执行命令:

[yleesun@centos bin]$ ./sqlplus zxd/zxd@ORCL
[yleesun@centos bin]$ ./sqlplus zxd/zxd@111

SQL*Plus: Release 11.2.0.3.0 Production on Mon Jul 9 19:14:25 2012

Copyright (c) 1982, 2011, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>

测试成功!

注:

如果出现以下错误:

 

sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory
说明环境变量没有生效。可通过export LD_LIBRARY_PATH=....的方式引入环境变量,查看是否正确。

...


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM