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

Oracle 資料庫打補丁全攻略:分類、策略、OPatch 實戰與 CPU 安全更新

     編輯:Oracle 資料庫基礎

補丁體系分類

類型名稱特性適用時機
累積補丁包Patch Set (PSR)含該版本所有修復,累積性,安裝最新版即可。如 10.2.0.2, 9.2.0.8。定期維護窗口,系統穩定運行需修復已知 Bug。
臨時補丁Interim Patch / One-off Patch單一 Bug 修復,非累積,安裝在特定 PSR 之上。PSR 發布前緊急修復用。遭遇嚴重 Bug 影響業務,且下一 PSR 尚未釋出。
安全補丁Critical Patch Update (CPU)修復安全漏洞,累積性,含必要非安全修復。每季度發布 (1/4/7/10 月第 2 週二)。安全合規要求,或評估漏洞風險較高時。
診斷補丁Diagnostic Patch非修復用,僅收集診斷資訊,Oracle 支援要求時才裝,用畢即卸載。疑難雜症排查配合支援工程師。

安裝決策:利弊與時機選擇

  • 成本:需停機、關庫、備份軟體與資料、風險引入新 Bug (Regression)。
  • 策略原則:「補新不補舊」。
    • 系統已上線穩定,且 PSR 已知問題不涉及使用組件 → 可暫緩,等待下一 PSR。
    • 系統遇到 PSR 修復清單中的 Bug → 必須裝。
    • 開發/測試階段 → 無條件裝最新 PSR,作為穩定基線。
  • 個別補丁管理:裝在當前 PSR 上,下一 PSR 釋出前必須先卸載所有個別補丁,再裝新 PSR。強制使用 OPatch 工具管理,避免手動拷貝。
  • CPU 評估:雖名「關鍵」,實際風險需結合系統暴露面判斷。預設弱口令風險往往大於未裝 CPU。

PSR 安裝標準流程 (以 Linux 10.1.0.2 → 10.1.0.5 為例)

  1. 蒐集資訊:閱讀 Patch Set Notes (patchnote.htm/README.html)、修復清單 (功德簿)、已知問題 (悔過簿)、Metalink 相關技術文檔與用戶回報。
  2. 制定實施計劃:含正常步驟與異常回滾預案。關鍵步驟:停服務 → 關庫 → 備份軟體目錄 (建議分區 dd 備份) → 執行 OUI 安裝 → 升級資料字典 (STARTUP UPGRADE + @?/rdbms/admin/catpatch.sql) → 重編譯無效物件 (utlrp.sql) → 後續配置調整 → 驗證啟動應用測試。
  3. 執行與記錄:複雜命令從檔案複製貼上,記錄各階段耗時,保留所有螢幕輸出與日誌 ($ORACLE_HOME/inventory/logs/InstallActions*.log)。
  4. 驗證:檢查日誌無 ORA- / error;OUI 顯示新版本;資料字典版本一致;應用煙霧測試通過。

OPatch 工具管理個別補丁 (10g 標準內建,$ORACLE_HOME/OPatch)

  • 核心命令:
    • opatch apply (安裝,需在補丁解壓目錄下執行)
    • opatch rollback -id <patch_id> -ph <path> (卸載)
    • opatch lsinventory [-detail] (列出已裝補丁與組件版本)
    • opatch query (查看補丁詳情)
  • 實例:安裝 Patch 4518443 (修復 Listener 掛起):
    unzip p4518443_10105_Linux.zip
    cd 4518443
    $ORACLE_HOME/OPatch/opatch apply
    $ORACLE_HOME/OPatch/opatch lsinventory  # 確認
  • 注意:10.2 版 OPatch 與 10.1/9.2 不相容,勿混用。建議永遠從 Metalink 下載最新 OPatch。需 Perl 5.6+ (10g 自帶)。

CPU 安全補丁安裝實例

  1. 下載 p5225797_10105_Linux.zip,解壓。
  2. 檢查 Critical Patch Update Note,發現要求較新 OPatch 版本,先升級 OPatch。
  3. 進入補丁目錄 5225797,執行 opatch apply。
  4. opatch lsinventory 驗證。

CPU 下載需 Metalink 支援帳號。資訊來源:Oracle Security Alerts。

總結

補丁管理是 DBA 核心職責。建立「蒐集情報 → 風險評估 → 詳細計劃 → 紀律執行 → 完整驗證 → 歸檔備案」標準化流程,善用 OPatch 管理個別補丁,定期評估 CPU,才能在穩定與安全間取得平衡。

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