Oracle SQL*Plus 配置上下翻页功能

目的

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 #上下翻页

相关推荐
IT 小阿姨(数据库)18 小时前
PostgreSQL通过pg_basebackup物理备份搭建流复制备库(Streaming Replication Standby)
运维·服务器·数据库·sql·postgresql·centos
小蒜学长18 小时前
springboot基于javaweb的小零食销售系统的设计与实现(代码+数据库+LW)
java·开发语言·数据库·spring boot·后端
云边有个稻草人19 小时前
从内核调优到集群部署:基于Linux环境下KingbaseES数据库安装指南
linux·数据库·金仓数据库管理系统
EnCi Zheng19 小时前
JPA 连接 PostgreSQL 数据库完全指南
java·数据库·spring boot·后端·postgresql
Raymond运维19 小时前
MySQL包安装 -- RHEL系列(Yum资源库安装MySQL)
linux·数据库·mysql
他们叫我技术总监20 小时前
Oracle数据库常见问题实战:从连接错误到自动清理空闲会话
数据库·oracle
菲兹园长1 天前
MySql(SQL)
数据库·sql·mysql
一只小bit1 天前
MySQL表的操作:创建—修改—删除流程解析
数据库·mysql·oracle
做运维的阿瑞1 天前
PostgreSQL 从入门到精通:Windows 环境下安装与使用指南
数据库·windows·postgresql
学编程的小鬼1 天前
MySQL的快速入门
数据库·mysql