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>