由于工作需要由Linux/Unix远程访问Oracle database,所以需要在Linux/Unix安装Oracle Client。
在网上终于查到了一篇有帮助的资料(http://meviso.javaeye.com/blog/726448),感谢原作者。
下面以自己在Linux上安装Oracle Client为例:
1.下载安装文件
可以从这个地址下载: http://www.oracle.com/technetwork/topics/linuxsoft-082809.html,选择需要的Version。
以最新的Version 11.2.0.2.0为例:
instantclient-basic-linux32-11.2.0.2.0.zip
instantclient-sqlplus-linux32-11.2.0.2.0.zip
instantclient-sdk-linux32-11.2.0.2.0.zip
不同的OS,可以在http://www.oracle.com/technology/tech/oci/instantclient/index.html
search “oracle-instantclient” 然后找到自己需要的。
2.1 新建组和用户
使用root用户
用户帐户将称为 oracle,而组将称为 oinstall 和 dba。
命令:
# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba -s /bin/bash -d /home/oracle -m oracle
设置Oracle用户口令
命令:
passwd oracle
su到oracle用户进行2.2及3
2.2 创建三个客户端的安装目录,这三个目录可以自定义,但配置环境变量时,需要一致。
mkdir -p /home/oracle/lib
mkdir -p /home/oracle/sdk
mkdir -p /home/oracle/network/admin //配置监听器和网络环境。
3.解压上面下载的三个文件。
unzip instantclient-basic-linux32-11.2.0.2.0.zip
unzip instantclient-sqlplus-linux32-11.2.0.2.0.zip
其中,这二个文件都解压到当前目录下的同一个目录下面:instantclient_11_2
把这个目录下的所有文件move到 /home/oracle/lib
最后解压instantclient-sdk-linux32-11.2.0.2.0.zip
把解压出来的文件都move到 /opt/oracle/sdk
4.配置环境变量。
vi /etc/profile //注意,这是针对所有用户的环境变量,如果你想局限某用户,只能配置用户的配置文件了。
加入
#
# For ORACLE
#
export ORACLE_HOME=/home/oracle
export PATH=$ORACLE_HOME/lib:$PATH
export LD_LIBRARY_PATH=$PATH
#
(注:同时将/home/oracle/lib添加到PATH中,否则Perl install DBD::Oracle时会找不到sqlplus,从而无法判定oracle的version)
保存并退出。
source /etc/profile //使配置文件立刻生效
env|grep ORACLE //查看一下配置的环境变量是否成功
5.配置监听器和网络环境。
因为本地没有安装oracle 数据库,所以需要从安装oracle 数据库的目录弄三个文件过来。
$ORACLE_HOME/network/admin
listener.ora sqlnet.ora tnsnames.ora
Copy到/home/oracle/network/admin目录
6.编辑三个文件
vi tnsnames.ora
HELLY =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.1.107)(PORT = 1521)) //192.168.1.107 IP地址 ,端口号:1521
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = HELLY) //HELLY 全局数据名
)
)
## 可参照上面一节配置自己需要监听的DB
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
vi listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /home/oracle) //注意,这个是刚才配置的$ORACLE_HOME
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.107)(PORT = 1521)) //这个上面有说明
)
)
7.已完成。测试。
cd /home/oracle/lib
./sqlplus
sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory
//如果出现上面的问题,代表你的环境变量没设置好。请参考:第四点。
./sqlplus MDM/passw0rd@HELLY
SQL*Plus: Release 11.2.0.2.0 Production on Thu Mar 24 23:47:55 2011
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL>
至此,Oracle Client安装完成。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步