Oracle數據庫軟件十分龐大,數據庫引擎有好幾個G。通常情況下,我們的使用方式是安裝一個Oracle數據庫在服務器機器上,在客戶端通過PL/SQL Developer、sqlplus等工具操作服務器上的數據,當然Oracle 10g後,OEM(企業管理器)已經是WEB版了,在瀏覽器中也可以同樣操作數據庫。
但是Windows下客戶端工具 PL/SQL Developer 使用得最多,Linux下,我喜歡直接使用sqlplus。不論使用哪種工具,都需要在客戶端機器上安裝Oracle客戶端工具,安裝以下三種軟件均可連接Oracle服務器:
(a) Oracle 數據庫引擎 (b) Oracle Client (c) Oracle Instant Client
其中前兩種佔硬盤空間大,並且安裝也相對繁瑣,我一般喜歡採用第三種方式,因此,下面介紹 Oracle Instant Client 的安裝:
(1) Windows 下Oracle Instant Client 的安裝
(i) Oracle Instant Client 下載
進入Oracle官網首頁(http://www.oracle.com ),單擊首頁中的下載(downloads)鏈接,在新頁面中選擇 Database ---> Instant Client,進入 Instant Client Downloads 頁,選擇相應版本下載。
Oracle 中文網站是 http://www.oracle.com/cn/index.html
我下載的軟件包是:basic、sqlplus.
注意,必須下載basic或者basiclite其中之一,若需要做 OCI / OCCI 開發,還需下載 sdk.
例如,我下載的是:
instantclient-basic-win32-10.2.0.3-20061115.zip
instantclient-sqlplus-win32-10.2.0.3-20061115.zip
(ii) Oracle Instant Client 安裝
安裝很簡單,只需直接解壓兩個包即可, 將兩個包解壓到同一目錄下,例如解壓到目錄 D:\instantclient-10.2.0.3-win32\下。
最後目錄結構是:D:\instantclient-10.2.0.3-win32\instantclient_10_2,instantclient_10_2目錄下就是解壓後的 basic 和 sqlplus.
(iii) 創建數據庫連接文件
在 D:\instantclient-10.2.0.3-win32\instantclient_10_2 目錄下創建文件夾 admin,在 admin 目錄下創建文件 tnsnames.ora,根據數據庫連接輸入以下類似內容
# tnsnames.ora Network Configuration File: /opt/oracle_11g_R2_x64/product/11.2.0.1.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.232.133)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
該文件和數據庫服務器中的文件內容類似,其作用是配置 sqlplus 和 PL/SQL Developer 中連接時的連接字符串。大家都知道該文件的作用,不必贅述。
(iiii) 配置Windows環境變量
ORACLE_HOME=D:\instantclient-10.2.0.3-win32\instantclient_10_2
Path=%ORACLE_HOME%; xxxxxx ===> 作用是在命令行中可以找到 sqlplus 等命令,在運行sqlplus時加載相關庫
TNS_ADMIN=%ORACLE_HOME%\admin ===> 作用是在sqlplus等工具中連接數據庫時能找到 tnsnames.ora中的連接符
NLS_lANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK ===> 設置客戶端的字符集
(iiiii) 完成,測試!
經過以上步驟後,Oracle Instant Client 安裝完畢,在命令行中可以使用命令連接服務器.
C:\Users\zkl>sqlplus /nolog
SQL*Plus: Release 10.2.0.3.0 - Production on 星期二 1月 10 10:52:53 2012
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
SQL> conn scott/tiger@orcl ===> 使用到 %TNS_ADMIN% 下 tnsnames.ora中的連接符ORCL
(2) Linux 下 Oracle Instant Client 的安裝
(i) 下載
Linux 下的 Oracle Instant Client 有rpm包和zip包兩種,下載任意一種即可,這裏以下載的 zip 包爲例,下載rpm包的安裝見Oracle Instant Client rpm包安裝
oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.zip
oracle-instantclient11.2-sqlplus-11.2.0.1.0-1.x86_64.zip
oracle-instantclient11.2-sdk-11.2.0.1.0-1.x86_64.zip
(ii) 解壓安裝
[root@glnode04 linux-11.2.0.1.0-1.x86_64]# unzip oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.zip
[root@glnode04 linux-11.2.0.1.0-1.x86_64]# unzip oracle-instantclient11.2-sdk-11.2.0.1.0-1.x86_64.zip
[root@glnode04 linux-11.2.0.1.0-1.x86_64]# unzip oracle-instantclient11.2-sqlplus-11.2.0.1.0-1.x86_64.zip
文件被解壓到目錄 instantclient_11_2 下,目錄內容如下:
[root@glnode04 instantclient_11_2]# ls
adrci glogin.sql libocci.so.11.1 libsqlplusic.so ojdbc6.jar SQLPLUS_README
BASIC_README libclntsh.so.11.1 libociei.so libsqlplus.so sdk xstreams.jar
genezi libnnz11.so libocijdbc11.so ojdbc5.jar sqlplus
(iii) 創建數據庫連接文件
在 instantclient_11_2 目錄下創建 network/admin 目錄,使用命令 mkdir network/admin,並在 admin 目錄下創建 tnsnames.ora 文件,文件內容類似如下:
# tnsnames.ora Network Configuration File: /sdb1/oracle/11gR2_database_X64/product/11.2.0.1.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
ZKL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = glnode04)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = zkl)
)
)
(iiii) 配置環境變量
這裏配置 root 用戶環境變量: ~/.bashrc
export ORACLE_HOME=/root/linux-11.2.0.1.0-1.x86_64/instantclient_11_2
export PATH=$ORACLE_HOME:$PATH
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH
export NLS_LANG='simplified chinese_china.ZHS16GBK'
注意要配置LD_LIBRARY_PATH 變量,sqlplus等程序運行時需要加載相應庫,若不配置,則運行時會出現如下錯誤:
Error 6 initializing SQL*Plus
SP2-0667: Message file sp1<lang>.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
配置完畢後 source ~/.bashrc
(iiiiii) 完成,測試!
[root@glnode04 instantclient_11_2]# sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on 星期二 1月 10 11:14:31 2012
Copyright (c) 1982, 2009, Oracle. All rights reserved.
SQL> conn zkl/zkl@zkl
已連接。
SQL>