首页主机资讯SQLPlus命令行工具有哪些隐藏功能

SQLPlus命令行工具有哪些隐藏功能

时间2025-12-19 02:50:06发布访客分类主机资讯浏览341
导读:SQL*Plus 的隐藏功能与高阶用法 一 启动与会话初始化 使用 -S(无提示模式)可隐藏横幅、提示与回显,适合在脚本或自动化任务中静默运行:sqlplus -S user/pass@ORCL @script.sql。 使用 -R 1|...

SQL*Plus 的隐藏功能与高阶用法

一 启动与会话初始化

  • 使用 -S(无提示模式)可隐藏横幅、提示与回显,适合在脚本或自动化任务中静默运行:sqlplus -S user/pass@ORCL @script.sql
  • 使用 -R 1|2|3(受限模式)限制与文件系统的交互,最高级别 -R 3 禁用所有用户级文件命令,提升受控环境的安全性。
  • 使用 -M “HTML ON … SPOOL ON” 一键输出为 HTML 报表,便于共享与打印。
  • 使用 -C 10.2.0 等兼容模式,让当前会话的受支持命令按指定版本行为执行(兼容性开关)。
  • 登录后可自动执行站点与用户概要文件:$ORACLE_HOME/sqlplus/admin/glogin.sql 与当前目录的 login.sql,常用于统一设置格式、编辑器、提示符等。
  • 启动时不连库可用 /nolog,进入后再 CONNECT,便于先做环境检查或条件化连接。

二 安全交互与脚本参数

  • ACCEPT 不仅支持交互输入,还支持 DEFAULT 默认值与 HIDE 隐藏输入(如密码),减少泄露风险:ACCEPT p PROMPT 'Pwd:' HIDE
  • 在脚本中结合 DEFINE 预设变量,配合 & 变量名 引用,实现参数化脚本:DEFINE owner=SCOTTSELECT * FROM & owner.emp;
  • 为避免敏感信息回显,脚本中可临时关闭回显与反馈:SET VER OFFSET FEEDBACK OFF;输出到文件时用 SPOOL 捕获结果。

三 输出格式与报表增强

  • 常用“静默与美化”组合:SET LINESIZE 500 PAGESIZE 9999 TRIMSPOOL ON LONG 200 SERVEROUTPUT ON SIZE UNLIMITED,解决列折行、尾部空格、LOB 显示截断与 DBMS_OUTPUT 不可见等问题。
  • 列级控制:COLUMN 支持多子句,如 COL NAME FORMAT a40 HEADING 'Employee|Name' JUSTIFY CENTER,实现多行标题、对齐、换行与截断策略。
  • 页眉页脚与报表分隔:TTITLE/ BTITLE 定制报表头尾;BREAKCOMPUTE 做分组小计/合计(如按部门打断、统计人数与薪资合计)。
  • 交互式浏览长结果:SET PAUSE ON 分页显示,配合 SET PAUSE '--- More ---'SET PAGESIZE 控制每屏行数。

四 命令行编辑与执行技巧

  • 快速重跑与查看缓冲区:/RUN 执行当前缓冲区;LIST(简写 L)查看;SAVE file.sql 保存;EDIT(可设 DEFINE _EDITOR=vi)调用编辑器。
  • 行内编辑三件套:CHANGE /old/new/(简写 C)、APPEND text(简写 A)、INPUT(简写 I)逐行修补 SQL,避免整段重写。
  • 在 SQL*Plus 中无缝执行操作系统命令:Linux 用 !cmd$ cmd,Windows 用 $ dir;需要返回时 exit
  • 会话内临时切到 Shell:输入 ! 直接开启子 Shell,完成后 exit 回到 SQL*Plus。
  • 提升命令行体验(非内置):在 Linux 上用 rlwrap 为 sqlplus 提供 readline 能力(历史、光标移动、搜索),如 alias sqlplus='rlwrap sqlplus',显著改善交互效率。

五 日志、HTML 与自动化

  • 一键 HTML 报表:启动时加 -M "HTML ON SPOOL ON",或在会话中 SET MARKUP HTML ON SPOOL ON,再 SPOOL report.html,即可生成带样式的查询结果页面。
  • 静默批处理:sqlplus -S /nolog @script.sql > run.log 2> & 1,结合 SET ECHO OFF FEEDBACK OFF VER OFF 生成干净日志。
  • 会话级时间格式:在 glogin.sql 或脚本中 ALTER SESSION SET NLS_DATE_FORMAT='HH24:MI:SS',统一显示风格。
  • 安装命令行帮助:以具备权限的用户执行 @$ORACLE_HOME/sqlplus/admin/help/hlpbld.sqlhelpus.sql,随后可用 HELP INDEX 查询内置帮助主题。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: SQLPlus命令行工具有哪些隐藏功能
本文地址: https://pptw.com/jishu/775838.html
如何通过SQLPlus管理大型数据库 SQLPlus如何实现复杂查询

游客 回复需填写必要信息