Oracle 10g Release 2 修正版升級標準流程:10.2.0.1 → 10.2.0.5。涵蓋停機、安裝補丁集、資料庫升級、編譯無效物件、驗證。
$ORACLE_HOME 擴展、暫存空間)。DBA_REGISTRY 現有元件狀態均為 VALID。-- 單機資料庫
SQL> CONNECT SYS AS SYSOPER
SQL> SHUTDOWN IMMEDIATE
-- 停止相關服務
emctl stop dbconsole
lsnrctl stop
isqlplusctl stop
export DISPLAY=localhost:0.0./runInstaller。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.log | utlu102i.sql 輸出:空間、參數、相容性警告 |
| patch.log | catupgrd.sql 執行過程:ORA- 錯誤、編譯失敗、時間消耗 |
| alert_<SID>.log | 啟動階段錯誤、背景進程異常 |
ORA-00600 / ORA-07445:查閱 MOS 對應 Patch Set 已知問題清單。utlrp.sql 或手動編譯。DBMS_STATS.GATHER_DICTIONARY_STATS。lsnrctl start。srvctl stop database -d <db_name> 停止叢集資料庫。