linux下oracle客戶端安裝
原文地址:http://hanqunfeng.iteye.com/blog/1955277
檢視oracle伺服器端的版本:
select * from V$version
結果中有:Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
所以oracle客戶端也選擇11.2.0.3.0版本。
下載如下三個檔案:
instantclient-basic-linux.x64-11.2.0.3.0.zip
instantclient-sqlplus-linux.x64-11.2.0.3.0.zip
instantclient-sdk-linux.x64-11.2.0.3.0.zip
二。解壓
mkdir -p /opt/oracle/lib
mkdir -p /opt/oracle/network/admin
解壓三個下載檔案
unzip instantclient-basic-linux.x64-11.2.0.3.0.zip
unzip instantclient-sqlplus-linux.x64-11.2.0.3.0.zip
unzip instantclient-sdk-linux.x64-11.2.0.3.0.zip
解壓後內容將在當前目錄下的instantclient_11_2下
cd instantclient_11_2
mv sdk /opt/oracle/sdk
mv * /opt/oracle/lib
三。配置環境變數
vi /etc/profile
Java程式碼- ORACLE_HOME=/opt/oracle
- DYLD_LIBRARY_PATH=$ORACLE_HOME/lib
- PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$ORACLE_HOME/lib:$PATH
- CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
-
export JAVA_HOME ANT_HOME PATH CLASSPATH DYLD_LIBRARY_PATH ORACLE_HOME
儲存後使其生效 source /etc/profile 或者 . /etc/profile
四。配置監聽器和網路環境
cd /opt/oracle/network/admin
新建三個檔案sqlnet.ora,tnsnames.ora,listener.ora
在sqlnet.ora中加入如下內容:
Java程式碼- SQLNET.AUTHENTICATION_SERVICES= (NTS)
- NAMES.DIRECTORY_PATH= (TNSNAMES)
在tnsnames.ora中加入如下內容:
Java程式碼- orcl_db =
- (DESCRIPTION =
- (ADDRESS_LIST =
- (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.xxx.xxx)(PORT = 1521))
- )
- (CONNECT_DATA =
- (SERVICE_NAME = orcl)
- )
- )
- EXTPROC_CONNECTION_DATA =
- (DESCRIPTION =
- (ADDRESS_LIST =
- (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
- )
- (CONNECT_DATA =
- (SID = PLSExtProc)
- (PRESENTATION = RO)
- )
- )
在listener.ora中加入如下內容:
Java程式碼- SID_LIST_LISTENER =
- (SID_LIST =
- (SID_DESC =
- (SID_NAME = PLSExtProc)
- (ORACLE_HOME = /opt/oracle)
- (PROGRAM = extproc)
- )
- )
- LISTENER =
- (DESCRIPTION_LIST =
- (DESCRIPTION =
- (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
- (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
- )
- )
五。測試
# sqlplus [email protected]_db
SQL*Plus: Release 11.2.0.3.0 Production on Fri Oct 11 10:59:17 2013
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Enter password:
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ok,說明連結伺服器成功。
六。安裝sqlldr
windows版本的client會有sqlldr命令,但是linux版本的client就沒有這個命令了,不過可以從伺服器端copy這個命令。
先按照上面的方式安裝linux客戶端,然後將伺服器端的如下兩個檔案拷貝到客戶端:
從伺服器端將$ORACLE_HOME/bin/sqlldr拷貝到/opt/oracle/lib下,並授予執行許可權,
從伺服器端將$ORACLE_HOME/rdbms/mesg/ulus.msb 拷貝到/opt/oracle/rdbms/mesg下。
檢視sqlldr的依賴是否都存在
$> cd /opt/oracle/lib/
$> ldd -r sqlldr
測試:
$> sqlldr
列印幫助資訊
注意:執行sqlplus時可能會遇到如下錯誤:
oracle instant client 安裝 libaio.so.1: cannot open shared object file
原因是sqlplus命令引用到的這個包沒有找到,先使用ldd看一下還有其它包沒有找到否:
cd /opt/oracle/lib/
ldd sqlplus
linux-vdso.so.1 => (0x00007fff4ccce000)
libsqlplus.so => /opt/oracle/lib/libsqlplus.so (0x00007faa788d4000)
libclntsh.so.11.1 => /opt/oracle/lib/libclntsh.so.11.1 (0x00007faa76042000)
libnnz11.so => /opt/oracle/lib/libnnz11.so (0x00007faa75c76000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007faa75a6a000)
libm.so.6 => /lib64/libm.so.6 (0x00007faa757e5000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007faa755c8000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x00007faa753af000)
libc.so.6 => /lib64/libc.so.6 (0x00007faa7501b000)
/lib64/ld-linux-x86-64.so.2 (0x00007faa78abd000)
libaio.so.1 => not found
只有libaio.so.1沒有找到,ok,安裝即可:
查詢:yum search libaio
安裝:yum install libaio.x86_64