Oracle 8.1.7.4升級Oracle 10.2
Oracle提供了升級工具讓使用者可以將Database從低版本升級到更高的版本,8i可以直接升級到10G,但 8i必須是8.1.7.4(含)以上的版本,8.1.7.0是不被支援的.Oracle提供了兩種升級方法,用嚮導升級和手工升級,以下分別介紹本人升級的過程.
一. 嚮導升級
1. 首先,應該備份8i 資料庫(但然,你也可以選擇不備份)
2. 安裝Oracle 10G在和8i不同的Home下,選擇不要建立資料庫
3. 以SysDBA的身份,登入到8i資料庫,
SQL>Spool info.log
SQL>@ORACLE_HOME/rdbms/admin/utlu102i.sql
SQL>Spool off
4. 查看 info.log,按照LOG上的提示,將RBS修改到符合要求,其它警告可以不去修改,在Upgrade的過程中系統會提示,點確定會由升級程式修改.
5. 在開始找到Oracle菜單的資料庫升級工具,點擊運行
6. 根據嚮導提示升級(因為之前已經備份,升級時選擇已經備份,不再需要升級程式幫你備份),在確認視窗,要選擇確定,繼續,是等肯定按鈕以完成升級動作.
如果你的初始化參數正確,一般情況會順利結束升級動作,如果過程中出現錯誤,就要將DB複原,用手動升級了.我在升級一台資料庫時曾遇到Ora-00064錯誤而終至升級.
二,手動升級
1. 首先,應該備份8i 資料庫(但然,你也可以選擇不備份)
2. 安裝Oracle 10G在和8i不同的Home下,選擇不要建立資料庫
3. 以SysDBA的身份,登入到8i資料庫,
SQL>Spool info.log
SQL>@ORACLE_HOME/rdbms/admin/utlu102i.sql
SQL>Spool off
4. Copy 8i的初始化參數檔案到 10G Home正確的位置
5. Copy密碼檔案到 10G Home正確的位置
6. 根據info.log的提示,修改10G下的初始化參數檔案,info.log會建議哪些參數修改為哪個值,那些參數已經不再需要,請刪除之,那些參數是新的,需要增加,請按照建議修改
7. 根據info.log修改redo log, Datafile, Rbs等的大小
8. Shutdown 8i資料庫
9. 停止原資料庫的服務
10. 用oradim刪除 Sid
11. 用你修改過的參數檔案建立新的資料庫執行個體(oradim)
12. 以SysDBA的身份進入Sqlplus,將資料庫啟動到upgrade狀態
SQL>startup upgrade
我在啟動時遇到Ora-00064的錯誤,修改初始化參數檔案,修改過數個參數後重新運行成功,因此不知到是那個參數起了效果,大家可以試一下.
13. Create tablespace SySaux
CREATE TABLESPACE sysaux DATAFILE 'sysaux01.dbf'
SIZE 500M REUSE
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO
ONLINE;
14. SQL>@C:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\catupgrd.sql
15. SQL>@C:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\utlu102s.sql
16. SQL>shutdown immediate
17. SQL>startup
18. SQL>@C:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\olstrig.sql
19. SQL>@C:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\utlrp.sql
20. 停止8i的監聽器服務
21. 建立 10G的監聽器服務
升級完成