目的
SQL*Plus 作为 Oracle 数据库的传统命令行工具,默认情况下不支持使用键盘上下箭头键浏览历史命令。这一限制导致用户在重复执行 SQL 语句或修正之前的命令时,需手动输入或依赖 HISTORY 命令,操作效率低下。本文旨在通过配置 rlwrap 工具,实现以下目标:
- 支持使用上下箭头键快速浏览和选择历史命令
- 提供类似 bash 的命令行编辑功能(如左右箭头移动光标、Ctrl+R 搜索历史)
- 保存和管理大量 SQL 历史命令,方便回顾和复用
- 提升数据库管理员和开发人员的命令行操作体验
适用环境
本配置方案适用于以下环境:
1)Oracle 数据库版本:
- Oracle 9i 及以上所有版本
- 包括但不限于 10g、11g、12c、18c、19c、21c 等
2)操作系统:
- Linux(Red Hat、CentOS、Ubuntu、Oracle Linux 等)
- macOS(需安装 Homebrew 或 MacPorts)
- Unix 系统(如 Solaris、AIX 等,需自行编译安装 rlwrap)
3)SQL*Plus 客户端:
- 本地安装的 SQL*Plus 命令行工具
- 通过 SSH 远程连接的 SQL*Plus 会话
配置过程
(一)上传安装包,安装(注意安装是要在root用户下)
cpp
1、创建软件目录
[root@database soft]# mkdir -p /usr/soft
2、将软件上传
[root@database soft]# rz
选择软件包上传
3、解压安装
[root@database soft]# tar -xf rlwrap-0.42.tar.gz
[root@database soft]# cd rlwrap-0.42
[root@database soft]# ./configure
[root@database soft]# make && make install
(二) 配置环境变量
1)在Oracle用户的变量文件.bash_profile文件里追加下面两行。
cpp
[oracle@database ~]$ cat .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
alias sqlplus='rlwrap sqlplus';
alias rman='rlwrap rman';
2)使配置生效
cpp
[oracle@database ~]$ source .bash_profile
通过以上配置,SQL*Plus 将获得现代化的命令行体验,大大提高数据库操作效率。建议将此配置推广到团队环境,提升整体工作效率。
#Oracle #SQL*Plus #上下翻页