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

Oracle 10.2.0.1 單機升級至 10.2.0.5 完整步驟筆記

     編輯:Oracle 資料庫相關知識

Oracle 10g Release 2 修正版升級標準流程:10.2.0.1 → 10.2.0.5。涵蓋停機、安裝補丁集、資料庫升級、編譯無效物件、驗證。

一、升級前準備

  • 完整冷備份(資料檔、控制檔、參數檔、密碼檔)。
  • 確認磁碟空間足夠($ORACLE_HOME 擴展、暫存空間)。
  • 檢查 DBA_REGISTRY 現有元件狀態均為 VALID。
  • 收集效能基準(AWR/Statspack 快照)。

二、停止服務

-- 單機資料庫
SQL> CONNECT SYS AS SYSOPER
SQL> SHUTDOWN IMMEDIATE

-- 停止相關服務
emctl stop dbconsole
lsnrctl stop
isqlplusctl stop

三、安裝 10.2.0.5 Patch Set

  1. 設定顯示環境:export DISPLAY=localhost:0.0
  2. 解壓 Patch Set 媒體,執行 ./runInstaller。
  3. 選擇現有 ORACLE_HOME,套用補丁集(僅更新軟體二進位,不動資料檔)。

四、資料庫升級

-- 1. 以 UPGRADE 模式啟動
SQL> STARTUP UPGRADE

-- 2. 執行升級前檢查工具
SQL> SPOOL upgrade_info.log
SQL> @?/rdbms/admin/utlu102i.sql
SQL> SPOOL OFF

-- 3. 執行核心升級腳本
SQL> SPOOL patch.log
SQL> @?/rdbms/admin/catupgrd.sql
SQL> SPOOL OFF

-- 4. 重啟資料庫
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP

-- 5. 重新編譯無效物件
SQL> @?/rdbms/admin/utlrp.sql

五、升級後驗證

-- 檢查元件版本與狀態
SQL> SELECT COMP_NAME, VERSION, STATUS FROM SYS.DBA_REGISTRY;

-- 檢查無效物件
SQL> SELECT OWNER, OBJECT_NAME, OBJECT_TYPE FROM DBA_OBJECTS WHERE STATUS='INVALID';

-- 基本功能測試
SQL> SELECT * FROM V$VERSION;

六、關鍵日誌檢查點

日誌檔關注重點
upgrade_info.logutlu102i.sql 輸出:空間、參數、相容性警告
patch.logcatupgrd.sql 執行過程:ORA- 錯誤、編譯失敗、時間消耗
alert_<SID>.log啟動階段錯誤、背景進程異常

七、常見問題與對策

  • ORA-00600 / ORA-07445:查閱 MOS 對應 Patch Set 已知問題清單。
  • 無效物件殘留:重跑 utlrp.sql 或手動編譯。
  • 統計資訊遺失:升級後執行 DBMS_STATS.GATHER_DICTIONARY_STATS。
  • 監聽器版本不符:升級後重新啟動 lsnrctl start。

八、RAC 環境差異提醒

  • 使用 srvctl stop database -d <db_name> 停止叢集資料庫。
  • 各節點輪流套用 Patch Set(Rolling Upgrade 不支援 10.2.0.5,需全停)。
  • 升級腳本僅在其中一節點執行即可。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved