首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle 資料庫管理腳本命名規範全解析:cat*/dbms*/prvt*/utl* 四大類功能對照表

     編輯:Oracle 資料庫基礎

腳本儲存位置

作業系統目錄路徑
Unix/Linux$ORACLE_HOME/rdbms/admin
Windows%ORACLE_HOME%\rdbms\admin

數百個腳本依功能分類命名,識別規則如下:

四大類命名規範對照表

命名模式功能領域典型代表執行時機
cat*.sql資料字典與目錄視圖建立catalog.sql, catproc.sql, catadt.sql建庫後、升級時
dbms*.sql內建 PL/SQL 套件規格與主體dbmsutil.sql, dbmspool.sql, dbmsstdx.sql建庫時(catproc 觸發)、手工補裝
prvt*.plb加密包裝體prvtstr.plb, prvtaq.plbcatproc 內部調用
utl*.sql工具類輔助表/視圖/函數utlxplan.sql, utlrp.sql, utlmail.sql按需手工執行

核心腳本詳細功能

1. cat*.sql 字典建立腳本

腳本核心功能備註
catalog.sql建立系統常用字典視圖、同義詞、基礎 PL/SQL 環境(型別、例外、內建函數)、審計、匯入匯出、SQL*Loader、安裝選項視圖必執行
catproc.sql建立伺服器端 PL/SQL 運行環境、擴展 RDBMS 功能套件:警告、管道、LogMiner、LOB、物件、Advanced Queuing、複寫、其他內建選項必執行
catadt.sql建立 ADT (Abstract Data Type) 相關字典視圖選用
catnoadt.sql移除 ADT 視圖與表反向操作

2. dbms*.sql 與 prvt*.plb 系統套件腳本

  • 大多由 catproc.sql 級聯執行
  • 部分需 DBA 手工執行,如 dbmspool.sql:顯示共享池物件大小、標記 KEEP/RECYCLE 減少碎片
  • prvt*.plb 為 wrap 工具加密後的包裝體,保護專有演算法

3. utl*.sql 實用工具腳本

升級與維護關鍵腳本

  • catupgrd.sql:主要升級腳本(10g+)
  • catuppst.sql:升級後處理
  • utlu112i.sql:升級前資訊收集(版本特定)
  • utlrp.sql:升級後重編譯無效物件
  • catctl.pl:並行升級驅動腳本(12c+)

執行原則與最佳實踐

  1. 必須以 SYS 身分執行(除非腳本註明其他)
  2. 執行前閱讀腳本內容,確認前置條件、影響範圍、回滾方案
  3. 建庫流程:catalog.sql → catproc.sql → catadt.sql(如需) → utlrp.sql
  4. 升級流程:備份 → utlu*pre.sql → catupgrd.sql → catuppst.sql → utlrp.sql → 驗證
  5. 記錄執行日誌:spool upgrade.log 保留完整輸出

快速查找指南

  • 需建立字典視圖 → 找 cat*.sql
  • 需安裝/重裝內建套件 → 找 dbms*.sql / prvt*.plb
  • 需輔助工具表/視圖 → 找 utl*.sql
  • 升級/遷移 → 找 catupgrd* / utlu*

熟悉命名規範,能在數百腳本中快速定位所需,構建標準化的資料庫建立、升級、維護操作手冊。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
腳本用途建立物件
utlxplan.sql建立 PLAN_TABLE 供 EXPLAIN PLAN 使用表 PLAN_TABLE
utlxpls.sql建立 PLAN_TABLE$(舊版相容)表 PLAN_TABLE$
utlrp.sql重新編譯所有無效 PL/SQL 物件(升級後必跑)無
utlmail.sql建立 UTL_MAIL 郵件發送套件套件 UTL_MAIL
utlfile.sql建立 UTL_FILE 檔案操作套件套件 UTL_FILE
utlhttp.sql建立 UTL_HTTP HTTP 請求套件套件 UTL_HTTP
utlsmpt.sql建立 UTL_SMTP 郵件協議套件套件 UTL_SMTP