首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

SQL*Plus 系統環境變量配置與批量操作實戰技巧

     編輯:MySQL 資料庫相關知識

SQL*Plus 作為 Oracle 核心命令行工具,掌握其環境變量控制與批量腳本生成技巧,能劇增 DBA 運維開發效率。

一、核心環境變量速查表

環境:Windows NT 4.0 + Oracle 8.0.4,安裝路徑 C:\ORANT。SHOW 與 SET 是維護系統變量的雙核命令:

命令功能默認值實戰場景
SHOW ALL查看全部 68 個變量-環境審計
SET HEADING OFF禁止列標題輸出ON腳本生成純數據
SET FEEDBACK OFF禁止行計數反饋6 行以上 ON靜默執行
SET TIMING ON顯示查詢耗時OFFSQL 性能基準測試
SET LINESIZE 1000設置屏幕行寬100避免長文本換行截斷
SET LONG 1000設置 LONG 類型顯示長度80完整查看 View 定義等
SET AUTOCOMMIT ON自動提交事務OFF批量 DML 快速確認
SET ARRAYSIZE 1設置批量獲取行數15調優網絡往返
SET PAUSE ON分頁暫停顯示OFF大結果集人工檢視

二、變量定義與引用技巧

-- 定義帶格式的日期時間常量
DEFINE a = '2000-01-01 12:01:01'
-- 引用變量(注意 & 前綴)
SELECT &a FROM dual;
-- 輸出: 2000-01-01 12:01:01

三、批量生成 DDL/DML 腳本實戰模式

核心思路:SET HEADING OFF FEEDBACK OFF + SELECT 'SQL文本' || 表名 || 'SQL文本' FROM 數據字典 生成可直接執行的腳本:

  • 批量查詢所有表行數:SELECT 'SELECT '''||tname||''', COUNT(*) FROM '||tname||';' FROM tab WHERE tabtype='TABLE';
  • 批量授予 SELECT 權限:SELECT 'GRANT SELECT ON '||table_name||' TO PUBLIC;' FROM user_tables WHERE 條件;
  • 批量刪除對象:SELECT 'DROP '||tabtype||' '||tname||';' FROM tab;
  • 批量刪除用戶:SELECT 'DROP USER '||username||' CASCADE;' FROM all_users WHERE user_id>25;
  • 快速重編譯所有視圖:利用 PL/SQL 循環執行 ALTER VIEW ... COMPILE,解決跨表空間遷移後視圖失效問題

四、同義詞驗證查詢

SELECT 'DESC '||tname FROM tab WHERE tabtype='SYNONYM';

可快速驗證同義詞指向對象是否真實存在。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved