SQL*Plus是Oracle数据库的命令行工具,需先安装Oracle Instant Client(轻量级客户端)。有两种安装方式:手动下载解压或通过RPM包安装。
sudo mkdir -p /opt/oracle/instantclient_21_6
sudo unzip instantclient-basic-linux.x64-21.6.0.0.0.zip -d /opt/oracle/instantclient_21_6
sudo unzip instantclient-sqlplus-linux.x64-21.6.0.0.0.zip -d /opt/oracle/instantclient_21_6
若系统支持RPM包,可通过以下命令快速安装:
sudo yum localinstall oracle-instantclient-basic-21.6.0.0.0-1.x86_64.rpm oracle-instantclient-sqlplus-21.6.0.0.0-1.x86_64.rpm
安装后,Instant Client会自动安装至/usr/lib/oracle/21/client64目录。
需设置ORACLE_HOME(客户端路径)、LD_LIBRARY_PATH(库文件路径)、PATH(可执行文件路径)三个核心变量。
打开用户主目录下的.bashrc文件(或全局配置文件/etc/profile):
nano ~/.bashrc
export ORACLE_HOME=/opt/oracle/instantclient_21_6 # 替换为实际解压目录
export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME:$PATH
若使用RPM包安装,ORACLE_HOME可设置为/usr/lib/oracle/21/client64。
source ~/.bashrc
或重新登录终端。
运行以下命令检查SQL*Plus版本:
sqlplus -v
若配置正确,将显示类似以下输出:
SQL*Plus: Release 21.6.0.0.0 - Production on Mon Oct 25 10:00:00 2025
Version 21.6.0.0.0
若需通过服务名(而非IP/端口)连接远程数据库,需配置tnsnames.ora文件。
sudo mkdir -p $ORACLE_HOME/network/admin
sudo nano $ORACLE_HOME/network/admin/tnsnames.ora
MYDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = your_host)(PORT = 1521)) # 替换为数据库服务器IP和端口
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = your_service_name) # 替换为数据库服务名
)
)
保存后,可通过sqlplus username/password@MYDB连接。
使用以下命令测试本地或远程数据库连接:
sqlplus username/password@MYDB # 使用TNS服务名连接
# 或
sqlplus username/password@hostname:port/service_name # 直接指定连接信息
若连接成功,将进入SQL*Plus交互界面(显示SQL>提示符)。
若安装或运行时报错(如libaio缺失),需安装依赖包:
sudo yum install libaio libaio-devel
确保.bashrc或/etc/profile修改后执行了source命令,或重启终端。
通过以上步骤,即可在CentOS系统上完成SQL*Plus的配置,并实现与Oracle数据库的连接。