SQL*Plus是Oracle数据库的命令行交互工具,Ubuntu环境下可通过以下两种方式安装:
Oracle Instant Client是Oracle提供的精简客户端套件,包含SQL*Plus、基础库等组件,适合连接远程Oracle数据库。
instantclient-basic(基础功能包,必选)instantclient-sqlplus(SQL*Plus工具,必选)instantclient-tools(可选,包含数据泵、SQL*Loader等工具)sudo apt-get update
sudo apt-get install alien libaio1
alien工具转换为Debian包(.deb):sudo alien -i oracle-instantclient-basic-<version>.x86_64.rpm
sudo alien -i oracle-instantclient-sqlplus-<version>.x86_64.rpm
(将<version>替换为实际下载的版本号,如23.3.0.0.0)/opt/oracle/instantclient):unzip instantclient-basiclite-linux.x64-<version>.zip -d /opt/oracle/instantclient
unzip instantclient-sqlplus-linux.x64-<version>.zip -d /opt/oracle/instantclient
若需快速安装基础版本,可通过APT命令获取:
sudo apt-get install sqlplus
此方式安装的SQL*Plus版本可能较旧,建议优先使用Oracle Instant Client以获得最新功能。
安装完成后,需配置环境变量使系统识别SQL*Plus命令。编辑~/.bashrc(当前用户)或/etc/profile(全局)文件:
vim ~/.bashrc
在文件末尾添加以下内容(根据实际安装路径调整):
# Oracle Instant Client路径配置
export ORACLE_HOME=/opt/oracle/instantclient
export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME:$PATH
# 可选:设置默认数据库连接(替换为实际SID)
export ORACLE_SID=orcl
保存后执行以下命令使配置生效:
source ~/.bashrc
在终端输入以下命令,若显示SQL*Plus版本信息,则说明安装成功:
sqlplus -v
输出示例:
SQL*Plus: Release 23.3.0.0.0 - Production on Wed Nov 5 10:00:00 2025
Version 23.3.0.0.0
SQL*Plus连接数据库的语法为:
sqlplus <username>/<password>[@//<host>:<port>/<service_name>]
sqlplus username/password
sqlplus scott/tiger@//192.168.1.100:1521/orcl
(将scott、tiger、192.168.1.100、1521、orcl替换为实际用户名、密码、主机IP、端口和服务名)连接成功后,进入SQL*Plus交互界面,常用命令如下:
SELECT * FROM employees; -- 查询employees表所有记录
INSERT INTO employees (id, name, salary) VALUES (1, 'John Doe', 5000);
UPDATE employees SET salary = 5500 WHERE id = 1;
DELETE FROM employees WHERE id = 1;
query.sql文件,用以下命令执行:sqlplus username/password @query.sql
SPOOL命令将查询结果保存到文件:SPOOL output.txt
SELECT * FROM employees;
SPOOL OFF
CLEAR SCREEN
COLUMN name FORMAT A20 -- 将name列宽度设置为20字符
SET LINESIZE 100 -- 设置每行显示100字符
SET PAGESIZE 20 -- 每页显示20条记录
EXIT
或
QUIT
~/.bashrc中的PATH变量是否包含SQL*Plus的安装路径(如/opt/oracle/instantclient);source ~/.bashrc使配置生效;/opt/oracle/instantclient/sqlplus)。lsnrctl status);ping <host>);tnsnames.ora文件(位于$ORACLE_HOME/network/admin)中包含正确的连接描述符:ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
通过以上步骤,即可在Ubuntu环境下使用SQL*Plus连接Oracle数据库并执行SQL操作。如需更复杂的功能(如存储过程调试),可参考Oracle官方文档或相关教程。