Linux SQLPlus命令大全是什么
导读: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.sql或START script.sql(支持本地文件;在 iSQL*Plus 中仅支持 HTTP/FTP URL 形式)- 嵌套脚本推荐用
@@ nested.sql(相对路径与调用脚本一致)
- 缓冲区与编辑
LIST查看缓冲区;/执行缓冲区中最近一条 SQL/PLSQLEDIT 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 n、SET PAGESIZE n、SET NEWPAGE n|NONESET 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 fmt、HEADING 'text'JUSTIFY { LEFT|CENTER|RIGHT}、NOPRINT/PRINTNULL '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/SQLPRINT打印绑定变量值
五 数据库管理与实用脚本
- 启停与实例状态
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
