首页主机资讯Linux SQLPlus命令大全是什么

Linux SQLPlus命令大全是什么

时间2025-11-25 14:09:03发布访客分类主机资讯浏览1104
导读:Linux下 SQL*Plus 命令速查与实用示例 一 连接与登录 交互登录 格式:sqlplus username/password[@connect_identifier](如:sqlplus scott/tiger@orcl) 以...

Linux下 SQL*Plus 命令速查与实用示例

一 连接与登录

  • 交互登录
    • 格式:sqlplus username/password[@connect_identifier](如:sqlplus scott/tiger@orcl
    • 以管理员身份:sqlplus / as sysdba
    • 不连库启动:sqlplus /nolog,随后再 CONNECT 进入
  • 常用登录参数
    • -S 静默模式(无提示、无回显),常与 /nolog 配合写脚本
    • 登录后可执行:CONNECT [username[/password][@connect_identifier]] [AS { SYSOPER|SYSDBA} ]
  • Linux 前置检查
    • 设置环境变量(如 ORACLE_SID),否则可能报 ORA-12560: TNS: 协议适配器错误
    • 必要时先启动监听:lsnrctl start,再用 sqlplus 连接

二 脚本执行与文件操作

  • 执行脚本
    • @ script.sqlSTART script.sql(支持本地文件;在 iSQL*Plus 中仅支持 HTTP/FTP URL 形式)
    • 嵌套脚本推荐用 @@ nested.sql(相对路径与调用脚本一致)
  • 缓冲区与编辑
    • LIST 查看缓冲区;/ 执行缓冲区中最近一条 SQL/PLSQL
    • EDIT file.sql 调用编辑器(Linux 下常用 vi/emacs;可用 DEFINE _EDITOR='vim' 设置)
    • SAVE file.sql 将缓冲区保存到文件;GET file.sql 将文件读入缓冲区
  • 操作系统交互
    • HOST command 在 sqlplus 中执行 OS 命令(如 HOST ls -l
  • 输出与日志
    • SPOOL output.log 开始记录输出;SPOOL OFF 结束(配合 SET TERM[OUT] OFF 可显著提升批量导出性能)

三 格式化与报表输出

  • 常用显示开关
    • SET LINESIZE nSET PAGESIZE nSET NEWPAGE n|NONE
    • SET HEADING { ON|OFF} SET FEEDBACK { 6|n|ON|OFF}
    • SET NULL 'text'SET WRAP { ON|OFF}
    • SET SERVEROUT[PUT] { ON|OFF} (显示 DBMS_OUTPUT
    • SET TIMING { ON|OFF} SET VERIFY { ON|OFF}
  • 列级格式化
    • COL[UMN] col FORMAT fmtHEADING 'text'
    • JUSTIFY { LEFT|CENTER|RIGHT} NOPRINT/PRINT
    • NULL 'N/A'WRAPPED|WORD_WRAPPED|TRUNCATED
  • 页眉页脚与统计
    • TTITLE [printspec [text|variable] [OFF|ON]]BTITLE 同语法
    • BREAK ON col [SKIP n]COMPUTE function LABEL text OF expr ON { expr|column|REPORT|ROW}
    • 例:COL SAL FORMAT $99,990; TTITLE LEFT '员工列表' CENTER '页码' RIGHT page 1; BREAK ON DEPTNO SKIP 1

四 变量与交互

  • 替换变量(脚本交互)
    • DEFINE var = value 定义;UNDEFINE var 取消
    • & var 每次提示输入;& & var 首次提示后持久使用
    • ACCEPT var [NUMBER|CHAR|DATE] [FORMAT fmt] [DEFAULT def] [PROMPT text] [HIDE]
  • 绑定变量(PL/SQL 使用)
    • VARIABLE var [NUMBER|CHAR|VARCHAR2(n)|CLOB|...]
    • 引用::var;查看:PRINT var
  • 执行与输出
    • EXEC[UTE] plsql_block 执行单条 PL/SQL
    • PRINT 打印绑定变量值

五 数据库管理与实用脚本

  • 启停与实例状态
    • STARTUP(启动实例);SHUTDOWN [IMMEDIATE|ABORT](关闭实例)
    • 查看状态:SELECT status FROM v$instance;
  • 常用查询
    • 版本:SELECT * FROM v$version;
    • 会话:SELECT sid, serial#, username, status, machine FROM v$session;
    • 表空间使用:SELECT tablespace_name, SUM(bytes)/1024/1024 AS "Size(MB)", SUM(maxbytes)/1024/1024 AS "MaxSize(MB)" FROM dba_data_files GROUP BY tablespace_name;
  • 备份恢复与数据泵
    • 数据泵导出:expdp user/pass@tns DIRECTORY=dir DUMPFILE=file.dmp [FULL=Y]
    • 数据泵导入:impdp user/pass@tns DIRECTORY=dir DUMPFILE=file.dmp [FULL=Y]
  • 静默脚本模板(Linux)
    • 示例:
      #!/bin/bash
      sqlplus -S /nolog >
          startup.log <
          <
          'EOF'
      CONNECT / as sysdba
      STARTUP
      EXIT
      EOF
      
    • 说明:-S 静默;/nolog 先不连库;< < 'EOF'...EOF 多行输入;EXIT 退出 sqlplus

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


若转载请注明出处: Linux SQLPlus命令大全是什么
本文地址: https://pptw.com/jishu/755543.html
Debian上FileZilla多线程下载设置 如何用SQLPlus查询Linux数据

游客 回复需填写必要信息