在Linux下安装Oracle 客户端 连接远程的oracle主机完成数据操作是我这次要解决的问题。在google搜索 Linux oracle关键字 找到一些文章,但是感觉oracle cient安装有点复杂,另外主要功能是连接远程oracle 查询数据。
有一些文章提到用instant client 来实现功能,根据原来的经验 可行,但是实际操作利用sqlplus /nolog出现一个错误。
下面来记录我的安装过程:
程序:
wget http://download.oracle.com/otn/linux/instantclient/112020/oracle-instantclient11.2-basic-11.2.0.2.0.i386.rpm
wget http://download.oracle.com/otn/linux/instantclient/112020/oracle-instantclient11.2-sqlplus-11.2.0.2.0.i386.rpm
只下载这两个包 就可以了。
注意:下载这两个包就可以去www.oracle.com上去下载 但需要有oracle网站的注册帐号
第一步,查看包里内容:
rpm -qpl oracle-instantclient11.2-basic-11.2.0.2.0.i386.rpm
/usr/lib/oracle/11.2/client/bin/adrci
/usr/lib/oracle/11.2/client/bin/genezi
/usr/lib/oracle/11.2/client/lib/libclntsh.so.11.1
/usr/lib/oracle/11.2/client/lib/libnnz11.so
/usr/lib/oracle/11.2/client/lib/libocci.so.11.1
/usr/lib/oracle/11.2/client/lib/libociei.so
/usr/lib/oracle/11.2/client/lib/libocijdbc11.so
/usr/lib/oracle/11.2/client/lib/ojdbc5.jar
/usr/lib/oracle/11.2/client/lib/ojdbc6.jar
/usr/lib/oracle/11.2/client/lib/xstreams.jar
rpm -qpl oracle-instantclient11.2-sqlplus-11.2.0.2.0.i386.rpm
/usr/lib/oracle/11.2/client/bin/sqlplus
/usr/lib/oracle/11.2/client/lib/glogin.sql
/usr/lib/oracle/11.2/client/lib/libsqlplus.so
/usr/lib/oracle/11.2/client/lib/libsqlplusic.so
上面查看时间主要是两个目录:
/usr/lib/oracle/11.2/client
/usr/lib/oracle/11.2/client/lib/
第二步,安装包和修改配置
rpm -ivh oracle-instantclient11.2-basic-11.2.0.2.0.i386.rpm
rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.2.0.i386.rpm
把 .bashrc 里加了以下环境变量 (在登录用户的$HOME文件夹里有一个隐藏)
LD_LIBRARY_PATH=/usr/local/lib:/usr/lib/oracle/11.2/client64/lib
用sqlplus /nolog 启动报错
sqlplus: error while loading shared libraries: */libnnz*.so: cannot restore segment prot after reloc: Permission denied
当时忘记打错误记下 提供的大概如上
第三步,修改系统配置(这个得用root用户)
#vi /etc/ld.so.conf
/usr/lib/oracle/11.2/client/lib/
#/sbin/ldconfig
运行sqlplus /nolog
SQL*Plus: Release 11.2 - Production on Wed May 10 17:44:34 2011
Copyright (c) 1982, 2010, Oracle. All rights reserved.
SQL>
出现这个错误成功启动,
第四步,配置TNS连接远程的oracle
想要连接远程的oracle数据库得建立TNS
mkdir -p /usr/lib/oracle/11.2/network/admin/
cd /usr/lib/oracle/11.2/network/admin/
touch tnsnames.ora
编辑tnsnames.ora 添加自己的串
例子:
orcl =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.99)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER=DEDICATED)
(SID = orcl)
)
)
注意:得修改环境变量:
.bashrc 中添加
export ORACLE_HOME=/usr/lib/oracle/11.2
export TNS_ADMIN=/usr/lib/oracle/11.2/network/admin
利用source .bashrc命令重启一起配置
不行就注销一下用户
sqlplus username/userpass@orcl
就可以连接到远程数据库,
在此感谢在网上发布相关文章的网友,我把自己安装过程整理到这儿,大部分是借用你们的经验,在此感谢了