问题描述
在连接oracle数据库时,如果本机安装了oracle数据库,那么会自带安装有sqlplus,我们可以使用sqlplus直接连接即可,但是如果oracle安装在另外一台服务器上,而我们当前主机没有安装oracle,那么是需要工具去连接的。在windows下我们可以选择navicat直接连接,但是在linux下我们可以从官网上下载sqlplus程序使用。
安装sqlplus
- 首先在官网下载rpm包
https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html
找到oracle版本(查看oracle版本:http://www.muzhuangnet.com/show/76802.html)对应的下列rpm包:
我的oracle版本是11.2,所以选择如下版本:
- oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm
- oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
- 安装rpm包
rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
- 配置oracle连接
在 /usr/lib/oracle/21/client64目录下创建目录:
mkdir network/admin
创建配置文件:
vim network/admin/tnsnames.ora
插入如下数据
ORAL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oral)
)
)
其中HOST、PORT、SERVICE_NAME必须填写,其他的都可以不填,SERVICE_NAME是实例名称,HOST是ORACLE所在服务器地址,PORT是数据库的端口号。(实际上不使用sqldeveloper这步可以不要)
4. 添加环境变量
vim /etc/profile
插入如下内容
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
export PATH=$ORACLE_HOME/bin:$PATH
使之生效
source /etc/profile
- 测试连接
sqlplus username/password@远端ip:端口号/服务名