該錯誤是環境變量配置錯誤,未生效后給出的;
如果安裝的是客戶端:
# 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目錄,加上后可以進去了。
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>
這樣測試客戶端沒問題了。
參考:
--------------------------------------------------------------------
------------------分割線-----------------------分割線-----------------
---------------------------------------------------------------------
在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=....的方式引入環境變量,查看是否正確。
...