Oracle 支援週期分三級:Premier Support(5年) → Extended Support(3年,逐年加費 10%/20%/20%) → Sustaining Support(永久,僅存檔修復)。11g R2 升級為必然選擇。本文記錄從 11.2.0.1 升級至 11.2.0.4 的完整手工步驟與 DBUA 圖形化對比。
/u01/app/oracle/product/11.2.0.4/dbhome_1),減少停機窗口。utlu112i.sql,記錄輸出。SQL> SPOOL upgrade_info.log
SQL> @/u01/app/oracle/product/11.2.0.4/dbhome_1/rdbms/admin/utlu112i.sql
SQL> SPOOL OFFdbupgdiag.sql(Doc 556610.1),無效物件跑 utlrp.sql 直到穩定。ORACLE_HOME、PATH、LD_LIBRARY_PATH)。/etc/oratab 指向新 Home。spfile/pfile、口令文件、網絡配置(listener.ora、tnsnames.ora)到新 Home。ORACLE_HOME/<host_dbname> 及 OC4J_DBConsole_<host_dbname> 目錄。COMPATIBLE=11.2.0,java_pool_size、shared_pool_size ≥ 250M(防 JVM 升級失敗 ORA-07445)。

sqlplus "/ as sysdba"
SQL> SPOOL /tmp/upgrade.log
SQL> STARTUP UPGRADE
SQL> SET ECHO ON
SQL> @$ORACLE_HOME/rdbms/admin/catupgrd.sql
SQL> SPOOL OFF
SQL> SHUTDOWN IMMEDIATE
若遇廢棄參數報錯,轉換為 PFILE 編輯移除後再試。
@utlu112s.sql 查看組件升級狀態與耗時。@catuppst.sql 執行非 UPGRADE 模式下的後續動作。@utlrp.sql 重編譯無效 PL/SQL/Java。dbupgdiag.sql 確認零無效物件。srvctl upgrade database -d <db_unique_name> -o <new_Oracle_Home>。DBMS_STATS.UPGRADE_STAT_TABLE)。DV_PATCH_ADMIN 角色。dbca),若提示已配置則刪除 ORACLE_HOME/host_dbname 及 OC4J_DBConsole_host_dbname 後重試。
SQL> SELECT COMP_NAME, VERSION, STATUS FROM DBA_REGISTRY;
-- 所有組件 VERSION=11.2.0.4.0, STATUS=VALID
調用 dbua,一路確認,自動完成上述步驟。適合非核心、可接受較長停機窗口的環境。RAC/Data Guard 環境建議手工升級以精確控制每節點順序。
