1.Linux RHEL 6.X X86_64操作系统
2.能从安装Oracle服务器的服务器上获取Oracle相关的文件(相同OS)
从Oracle的网址下载下面的软件包:
1) instantclient-basic-linux.x64-11.2.0.4.0.zip (59.282MB)
2)instantclient-sqlplus-linux.x64-11.2.0.4.0.zip(815KB)
3)instantclient-sdk-linux.x64-11.2.0.4.0.zip(629KB)
4)instantclient-jdbc-linux.x64-11.2.0.4.0.zip(1.572MB)
Oracle软件包的下载网址如下:
http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
配置过程关键是环境变量的配置,请根据自己实际情况进行配置。
1.使用root用户登录,创建目录:mkdir -p /opt/oracle
2.将所有的软件包解压到/opt/oracle目录下:
# unzp instantclient-basic-linux.x64-11.2.0.4.0.zip-d /opt/oracle
注:所有文件将自动解压到/opt/oracle/instantclient_11_2目录下。
3.创建配置文件a
#vi /opt/oracle/instantclie_11_2/tnsnames.ora
CZJGBS =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 81.17.1.23)(PORT = 1521)) //需要连接的IP
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = czjgbs) //需要连接的实例
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
在需要使用Oracle功能的测试用户环境变量中添加如下配置:
# vi ~/.bashrc
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export ORACLE_HOME=/opt/oracle/instantclient_11_2
export TNS_ADMIN=$ORACLE_HOME
export PATH=$PATH:$HOME/bin:$ORACLE_HOME
export LD_LIBRARY_PATH=$ORACLE_HOME:/usr/lib
export ORACLE_SID=czjgbs // (需要连接的实例名称)
注:TNS_ADMIN环境变量用于指定tnsnames.ora文件所在路径。
#source ~/.bashrc
测试sqlplus命令:
$ sqlplus scott/tiger@ora215
SQL*Plus: Release 10.2.0.4.0 - Productionon 星期五 8月 3 10:41:44 2012
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Oracle Database 10g Enterprise EditionRelease 10.2.0.4.0 - 64bit Production
With the Partitioning, Real ApplicationClusters, OLAP, Data Mining
and Real Application Testing options
SQL>
回到root用户,在其它Oracle机器上获取必要的文件。
# cd /opt/oracle/instantclient_11_2/
# scp [email protected]:/oracle/orahome/product/11.2.0/bin/tnsping./
上面的命令是从其他安装Oracle服务器的服务器上拷贝文件过来。
# mkdir -p network/mesg
# cd network/mesg
# scp [email protected]:/oracle/orahome/product/11.2.0/network/mesg/tnsus.msb./
测试tnsping工具:
$tnsping ora16
Oracle的InstantClient自带没有sqlldr巩固,也需要从Oracle服务器上获取相关文件。
使用root用户登录:
# cd /opt/oracle/instantclient_11_2/
# [email protected]:/oracle/orahome/product/11.2.0/bin/sqlldr ./
# mkdir -p rdbms/mesg/
# cd rdbms/mesg/
# scp [email protected]:/oracle/orahome/product/11.2.0/rdbms/mesg/ulus.msb./
测试用户中运行sqlldr:
$sqlldr
使用root用户登录,从Oracle服务器上拷贝相关的文件过来。
# cd /opt/oracle/instantclient_11_2/
# scp 192.168.21.16:/oracle/orahome/product/11.2.0/bin/imp./
# scp192.168.21.16:/oracle/orahome/product/11.2.0/bin/exp ./
# cd rdbms/mesg/
# scp192.168.21.16:/oracle/orahome/product/11.2.0/rdbms/mesg/impus.msb ./
# scp 192.168.21.16:/oracle/orahome/product/10.2.0/rdbms/mesg/expus.msb./
在Linux系统中安装Oracle客户端InstantClient,但是它缺少SQL*Loader、EXP等工具,本文描述如何安装这些命令工具。
直接从相同版本的数据库服务器的安装路径中拷贝sqlldr可执行文件过来,执行sqlldr会报如下错误:
Message 2100 notfound; No message file for product=RDBMS, facility=ULMessage 2100 not found; Nomessage file for product=RDBMS, facility=UL[etl@m1 instantclient_10_2]$^C
实际上,Instant Client安装sqlldr也只能使用拷贝文件的方式。报上面的错误是因为你还需要拷贝下面这些信息文件过来。
首先,从Oracle数据库服务器上找到$ORACLE_HOME/network/mesg下的tnsus.msb文件,以及$ORACLE_HOME/rdbms/mesg下的ulus.msb文件。
然后,把它们拷贝到InstantClient的安装目录中的相应目录下。例如:/usr/ocal/instantclient_10_2/[rdbms/mesg和network/mesg]。
现在你可以使用SQL*Loader工具了。
如何配置EXP和imp工具,如果只是拷贝可执行文件到对应的目录下,会报如下的错误:
Message 2100 notfound; No message file for product=RDBMS, facility=ULMessage 2100 not found; Nomessage file for product=RDBMS, facility=UL[etl@m1 instantclient_10_2]
此时,你需要从Oracle数据库服务器的安装目录中找到rdbms/mesg下的expus.msb和impus.msb,然后拷贝到对应的目录中文件即可解决。