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