1. 安装Oracle Instant Client(基础前提)
Debian系统需先安装Oracle Instant Client才能使用sqlplus。访问Oracle官方网站下载Basic Package(基础包,必选)和SQL*Plus Package(sqlplus工具包,必选),解压至指定目录(如/opt/oracle/instantclient
)。通过创建软链接简化命令调用,例如:
sudo ln -s /opt/oracle/instantclient/sqlplus /usr/bin/sqlplus
配置环境变量以让系统识别sqlplus,编辑~/.bashrc
(或~/.bash_profile
)文件,添加以下内容:
export ORACLE_HOME=/opt/oracle/instantclient export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH export PATH=$ORACLE_HOME:$PATH
执行source ~/.bashrc
使变量生效。
2. 优化命令行交互体验
sqlplus默认的命令行编辑功能较弱,可通过rlwrap
工具增强。安装rlwrap:
sudo apt install rlwrap
配置别名,将sqlplus
命令与rlwrap绑定(编辑~/.bash_profile
):
echo "alias sqlplus='rlwrap sqlplus'" >> ~/.bash_profile source ~/.bash_profile
此后使用sqlplus
时,可享受命令历史记录、行编辑等便捷功能。
3. 美化输出格式
通过修改glogin.sql
文件(sqlplus全局登录脚本)统一输出格式,该文件位于$ORACLE_HOME/sqlplus/admin/
目录下。若文件不存在,可手动创建。添加以下配置:
COLUMN
命令调整特定列的显示格式(如将EMPLOYEE_NAME
列宽设为30字符,居中显示):COLUMN employee_name FORMAT A30 HEADING 'Employee Name'
YYYY-MM-DD HH24:MI:SS
):SET LINESIZE 180 SET PAGESIZE 100 SET FEEDBACK OFF -- 关闭查询结果的“X rows selected”提示 SET HEADING ON -- 显示列标题 SET TIME OFF -- 关闭当前时间显示 SET TIMING OFF -- 关闭SQL执行时间统计 SET TRIMOUT ON -- 去除输出内容的右侧空格 SET TRIMSPOOL ON -- 去除输出到文件的右侧空格 ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS'; -- 设置日期格式 ALTER SESSION SET NLS_LANG = 'AMERICAN_AMERICA.AL32UTF8'; -- 设置字符集(适配中文等)
SET SQLPROMPT "_user'@'_connect_identifier > "
保存文件后,下次登录sqlplus时自动应用这些设置。
4. 保存并验证配置
完成上述步骤后,关闭终端重新打开,或执行source ~/.bashrc
使环境变量生效。运行sqlplus /nolog
进入sqlplus命令行,输入@?/sqlplus/admin/glogin.sql
(?
代表ORACLE_HOME
)加载全局配置,验证输出格式是否符合预期。例如,执行SELECT * FROM employees WHERE ROWNUM <= 5;
,应看到整齐的列宽、正确的日期格式及自定义提示符。