同学,有没有遇见在sql 下出现删除退格都是乱码,向上向下键无法翻阅命令。
同学,是不是习惯了安装readline 必备rlwrap 。删除、退格键,tab自动补全都失效的情况。
当在生产环境中无法使用rlwrap时、OCM考试时,又该如何操作呢。

rlwrap设置和glogin设置
--1、rlwrap安装后的设置以下
export PS1="[`whoami`@`hostname`:\$PWD]# "
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
alias lsnrctl='rlwrap lsnrctl'
alias asmcmd='rlwrap asmcmd'
alias adrci='rlwrap adrci'
--2、使用sqlplus修改glogin.sql
[oracle@dba ~]$ vi $ORACLE_HOME/sqlplus/admin/glogin.sql
set linesize 120
set pagesize 999
define _editor=vi
set sqlprompt "_user'@'_connect_identifier> "
Oracle三大数据库操作工具SQL*Plus、SQLcl和SQL Developer的详细功能对比及适用场景:
一、核心工具对比总览
| 维度 | SQL*Plus | SQLcl | SQL Developer |
| 类型 | 命令行工具 | 现代化命令行工具 | 图形化集成开发环境(IDE) |
| 核心功能 | 执行SQL/PL/SQL、脚本批处理 | 增强版命令行(自动补全、多格式输出) | 可视化开发、调试、报表生成 |
| 交互体验 | 基础命令行,无智能提示 | 语法高亮、历史命令回顾 | 拖拽式界面、代码调试器 |
| 适用场景 | DBA维护、批量任务 | 开发调试、数据迁移 | 复杂开发、数据建模、团队协作 |
二、详细功能与优势解析
1. SQL*Plus
- 功能
- 执行原生SQL/PL/SQL语句,支持事务控制(COMMIT/ROLLBACK)。
- 脚本批处理(@script.sql),环境变量设置(SET linesize 100)。
- 基础数据导出(SPOOL命令生成文本报表)。
- 优势
- 轻量级:无需安装客户端,仅需Oracle基础环境。
- 自动化强:适合定时任务(如备份脚本)。
- 典型场景
- DBA日常维护(启停数据库、用户权限管理)。
- 生产环境批量数据更新(避免GUI资源占用)
设置sqlplus的常用命令
--设置编辑器用vi打开,windows客户端可以换成NotePad
define _editor=vi
--设置dbms_output输出缓冲区大小
set serveroutput on size 1000000
--设置输出格式
set long 200
set linesize 500
set pagesize 9999
--去除重定向输出每行拖尾空格
set trimspool on
--设置name列长
col Name format a80
2. SQLcl (SQL Command Line)
- 功能
- 智能编辑:代码自动补全(按Tab键)、语法高亮。
- 多格式输出:支持CSV/JSON/XML等格式导出
- 内置数据泵:直接执行impdp/expdp命令。
- 优势
- 开发友好:减少命令行记忆负担,提升编码效率。
- 跨平台:基于Java开发,支持Linux/Windows/macOS。
- 典型场景
- 开发人员调试SQL(实时反馈错误信息)。
- 数据迁移(JSON/CSV格式转换)
SQLcl(set sqlformat ansiconsole) 可以大大提高输入的速度,可以退格、删除、上下翻页。
ssh -X oracle@host01
[oracle@host01~]$
export ORACLE_SID=PRODCDB
sql as sysdba
SQL> set sqlformat ansiconsole;
SQL>
----
Esc之后u键,撤销上一步的操作
Shift+G 到最后一行
Ctrl+方向键,跳过1个单词
3. SQL Developer--设置DBA模式可以直接图形操作数据库
- 功能
- 可视化开发:拖拽式查询构建器、PL/SQL调试器(断点、变量监控)。
- 对象管理:图形化操作表、索引、存储过程。
- 高级工具:性能分析(SQL执行计划)、数据比对(Diff工具)。
- 优势
- 生产力提升:减少手动编码,支持版本控制(Git集成)。
- 跨数据库支持:可连接MySQL/SQL Server等非Oracle数据库。
- 典型场景
- 复杂PL/SQL程序开发与调试。
- 数据建模(ER图设计)、团队协作开发



三、使用场景选择
| 需求类型 | 推荐工具 | 理由 |
| 紧急生产维护 | SQL*Plus | 快速响应,无依赖环境。 |
| 开发调试与数据迁移 | SQLcl | 智能提示加速编码,多格式输出适配现代应用。 |
| 可视化建模/团队协作 | SQL Developer | 图形化界面降低学习成本,集成版本控制和调试工具。 |
| 自动化脚本任务 | SQL*Plus 或 SQLcl | 二者均支持脚本批处理,SQLcl更适合作业日志格式化 |
四、DBA运维:
sqlcl和sql developer都是基于java开发,偶然还是有卡顿的,紧急 稳定 保险的时候还是sqlplus。
ocm考试三个都用到了,稳定的、手顺的就适合自己。OCM考试中重点使用sqlplus和sqlcl。
DBA运维:优先掌握 SQLPlus(基础维护) + SQLcl(高效操作)。
开发人员:主力使用 SQL Developer(开发调试),辅以 SQLcl(命令行快速测试)。
数据工程师:SQLcl处理数据流转,SQL Developer进行报表设计与跨库查询。
TIPS:
SQLPlus 是Oracle自带工具,无需额外安装。
SQLcl 需单独下载(免费),建议搭配Java 11+环境。
SQL Developer 可以下载集成JAVA或非集成JAVA的环境,Windows Linux macOS均支持,同时支持插件扩展(如数据比对工具),可通过Help→Check for Updates更新。目前最新版24.3
Oracle SQL Developer - Oracle SQL Developer Releases
另外医疗内网和工业企业内部很多地方使用的PLSQL的设置:
一、Windows 环境下 PL/SQL Developer 的常用设置整理
1.字符集设置(防乱码)
添加系统环境变量 NLS_LANG,值为 SIMPLIFIED CHINESE_CHINA.ZHS16GBK。
若查询仍乱码,检查数据库字符集是否一致(可通过 SELECT * FROM v$nls_parameters 验证)。
2.TNS 配置
设置环境变量 TNS_ADMIN,指向 tnsnames.ora 文件所在目录(如 D:\app\instantclient_11_2\NETWORK\ADMIN)。
- 在 PL/SQL 首选项中设置:
- Oracle Home: Instant Client 解压路径(如 D:\instantclient_12_1)
- OCI Library: oci.dll 完整路径(如 D:\instantclient_12_1\oci.dll)
二、编辑器与界面优化
代码编辑
关键字自动大写:Preferences → User Interface → Editor → Keyword case → Uppercase。
显示行号:Preferences → Window Types → SQL Window → 勾选 Show gutter (line numbers)。
自动补全:Preferences → User Interface → Code Assistant → 启用 Automatically activated。
SQL 窗口增强
自动选择单条语句:Preferences → SQL Window → 勾选 AutoSelect Statement(语句需以分号结尾)。
格式化 SQL:选中代码后点击工具栏 PL/SQL Beautifier 按钮或按 Alt+F。
三、连接与会话管理
保存登录密码
Tools → Preferences → Oracle → Logon History → 勾选 Store with password。
防连接超时
Preferences → Oracle → Connection → 勾选 Check connection。
关闭自动备份
Preferences → Files → Backup → 选择 Disabled 避免生成冗余备份文件
请注意:
简体中文包单独下载,不要随意使用网上的绿色版本,防止被加入病毒锁住数据库文件头被勒索。
8491

被折叠的 条评论
为什么被折叠?



