一、安装Oracle Instant Client(基础工具)
SQL*Plus需依赖Oracle Instant Client才能运行。首先从Oracle官网下载对应CentOS版本的basic(基础包)和sqlplus(命令行工具包)rpm文件(如19.8或12.2版本)。使用rpm命令安装:
rpm -ivh oracle-instantclient19.8-basic-19.8.0.0.0-1.x86_64.rpm
rpm -ivh oracle-instantclient19.8-sqlplus-19.8.0.0.0-1.x86_64.rpm
安装路径通常为/usr/lib/oracle/<version>/client64(如19.8版本为/usr/lib/oracle/19.8/client64)。
二、配置环境变量
编辑用户或系统的环境变量文件(如~/.bashrc或/etc/profile),添加以下关键变量(根据实际安装路径调整):
export ORACLE_HOME=/usr/lib/oracle/19.8/client64 # Instant Client安装目录
export PATH=$ORACLE_HOME/bin:$PATH # 将sqlplus加入PATH
export TNS_ADMIN=$ORACLE_HOME # tnsnames.ora文件所在目录
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH # 动态库路径
执行source ~/.bashrc使变量立即生效。
三、配置TNS连接文件(定义远程数据库连接)
$TNS_ADMIN目录下创建network/admin子目录(若不存在):mkdir -p $ORACLE_HOME/network/admin
tnsnames.ora文件,添加远程数据库连接配置(替换为实际IP、端口、服务名):ORCL_REMOTE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521)) # 数据库服务器IP和端口
(CONNECT_DATA =
(SERVICE_NAME = orcl) # 数据库服务名(可通过lsnrctl status查看)
)
)
保存后,可通过tnsping ORCL_REMOTE测试连接配置是否正确。四、设置网络与安全权限
firewall-cmd --zone=public --add-port=1521/tcp --permanent # 永久开放端口
firewall-cmd --reload # 重新加载防火墙规则
getenforce返回Enforcing),需临时禁用或设置为宽松模式:setenforce 0 # 临时禁用(重启后恢复)
或修改配置文件/etc/selinux/config,将SELINUX=enforcing改为SELINUX=permissive,然后重启系统。五、测试SQL*Plus远程连接
在CentOS终端输入以下命令,使用远程数据库的用户名、密码及连接串登录:
sqlplus username/password@ORCL_REMOTE
若配置正确,将进入SQL*Plus命令行界面,可执行SELECT * FROM dual;等SQL语句验证连接。
六、常见问题排查
tnsping ORCL_REMOTE测试TNS配置;用ping 192.168.1.100测试网络连通性;用telnet 192.168.1.100 1521测试端口是否开放。echo $ORACLE_HOME和echo $PATH确认变量是否设置正确;若未生效,重新执行source ~/.bashrc。libaio缺失),需安装对应依赖:yum install libaio -y