SQLPlus是Oracle数据库的命令行工具,需先安装Oracle Instant Client基础组件及SQLPlus工具。Ubuntu系统可通过以下两种方式安装:
推荐方式(自动依赖处理):使用alien工具将Oracle提供的RPM包转换为DEB包安装。
instantclient-basic(基础包,必选)、instantclient-sqlplus(SQLPlus工具,必选)、instantclient-tools(可选,提供额外工具如expdp/impdp)。sudo apt-get update
sudo apt-get install alien libaio1
instantclient-basic-23.6.0.0.0-1.x86_64.rpm为例):sudo alien -i oracle-instantclient-basic-23.6.0.0.0-1.x86_64.rpm
sudo alien -i oracle-instantclient-sqlplus-23.6.0.0.0-1.x86_64.rpm
备选方式(直接安装DEB包):若Oracle官网提供Ubuntu对应的DEB包,可直接通过dpkg安装,但需手动解决依赖问题。
安装完成后,需配置环境变量使系统识别SQLPlus及Oracle库文件。编辑~/.bashrc(当前用户)或/etc/profile(全局)文件:
vim ~/.bashrc
在文件末尾添加以下内容(根据实际安装路径调整,如instantclient_23_6为常见目录):
export ORACLE_HOME=/usr/lib/oracle/23/client64 # Instant Client安装根目录
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH # 库文件路径
export PATH=$ORACLE_HOME/bin:$PATH # SQLPlus可执行文件路径
export TNS_ADMIN=$ORACLE_HOME/network/admin # TNS配置文件目录
保存后执行source ~/.bashrc使配置生效。
SQLPlus通过tnsnames.ora文件存储数据库连接信息,需在$TNS_ADMIN目录下创建或修改该文件:
vim $TNS_ADMIN/tnsnames.ora
添加以下内容(替换为实际数据库信息:HOST=数据库服务器IP/域名,PORT=监听端口,默认1521,SERVICE_NAME=数据库服务名):
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
保存后,可通过ls $TNS_ADMIN/tnsnames.ora确认文件存在。
配置完成后,即可使用SQLPlus连接数据库,常见场景如下:
基本连接(使用TNS别名):
sqlplus username/password@ORCL
其中username为数据库用户名(如system、scott),password为对应密码,ORCL为tnsnames.ora中定义的连接别名。
直接连接(指定连接串):
若不想使用tnsnames.ora,可直接在命令中指定连接信息:
sqlplus username/password@//192.168.1.100:1521/ORCL
本地连接(SYSDBA权限):
若需以管理员身份连接本地数据库,可使用:
sqlplus / as sysdba
连接成功后,将进入SQLPlus交互界面,显示SQL>提示符。
连接后,可使用以下命令进行基本操作:
执行SQL查询:输入SQL语句后按Enter键执行,如查询dual表(Oracle测试表):
SELECT * FROM dual;
执行PL/SQL块:用BEGIN...END;包裹PL/SQL代码,如打印“Hello World”:
BEGIN
DBMS_OUTPUT.PUT_LINE('Hello, World!');
END;
/
注意:执行PL/SQL前需开启输出功能:
SET SERVEROUTPUT ON;
退出SQLPlus:输入EXIT或QUIT命令。
“sqlplus: command not found”错误:
此错误通常因环境变量未正确配置或SQLPlus未安装导致。解决步骤:
/usr/lib/oracle/23/client64/bin),并通过echo $PATH检查是否包含该路径;~/.bashrc添加路径并执行source ~/.bashrc;/usr/lib/oracle/23/client64/bin/sqlplus)。连接失败问题:
tnsnames.ora中的连接信息(主机、端口、服务名)与数据库实际配置一致;lsnrctl status)。通过以上步骤,即可在Ubuntu系统上完成SQLPlus的安装、配置及基本使用。如需更复杂操作(如存储过程调试、性能分析),可进一步学习SQLPlus高级命令及Oracle数据库知识。