從QQ群里找到的oracle升級方式!
1、 關閉原9208數據庫,執行一個完全冷備。
2、 安裝ORACLE10g,選擇一個跟9208不同的Home,安裝的時候選擇不裝數據庫。
3、 以SYSDBA身份登陸到SQLPLUS,執行:
Sql>spool upgrade.info
Sql>@ oracle10G_HOMErdbmsadminutlu102i.sql
Sql>spool off
注意屏幕的輸出
4、在Tablespace欄提示有些表空間需要額外的空間:
Autoextend Additional space required:165mb.
查詢原原數據庫的空間大小和剩余空間。
Sql>select tablespace_name,bytes from dba_data_files;
Sql>select tablespace_name,sum(bytes) from dba_free_space group by tablespace_name;
擴展提示需增加空間的表空間。
Sql>alter database tablespace system add datafile
‘dracleoradatatestsystem02.dbf’ size 200m;
Sql>alter database datafile
‘dracleoradatatestxdb01.dbf’ resize 50m’;
4、 拷貝9i的initsid.ora文件到10gHomedatabase目錄下。
運行菜單下的Database Upgrade Assistant,根據提示一步一步操作。如不能成功,則手工升級,依次執行以下順序。
5、 拷貝9i的密碼文件pwdsid.ora到10gHomedatabase目錄下。
6、 拷貝9iHomenetworkadmin下的tnsname.ora、listerna.ora、sqlnet.ora到10GHomenetworkadmin目錄。
7、 根據upgrade.info的提示,修改10GHomedatabaseinitSid.ora參數文件。
8、 關閉9I數據庫
9、 在命令行用cmd>oradim –delete –sid sid刪除WINDOWS服務下的實例。
10、 在命令行用cmd.>oradim –new –sid sid pfile=’path’建立新的實例。
11、 停止原9i的listerner服務
12、 用sysdba的身份登陸到sqlplus,以upgrade的方式啟動數據庫。
Startup upgrade
啟動時提示LRM-00116: ‘D:ORACLELOGSDB后跟’=’出現語法錯誤
ORA-01078:處理系統參數失敗
根據提示,修改10GHomedatabaseinitsid.ora,將utl_file_dir=draclelogs
注釋掉。重新執行sql>startup upgrade成功。
13、 創建sysaux表空間。
Sql>create tablespace sysaux
Datafile ‘dracleoradatatestsysaux01.dbf’ size 500m
Extent management local
Segment space management auto
Online;
15、@dracle10.2rdbmsadmincatupgrd.sql;(此過程在我電腦花費約1個半小時)。
16、sql>shutdown immediate;
17、sql>startup
18、sql>@dracle10.2rdbmsadminutlrp.sql
To recompile any invalid application object
執行完畢后執行查詢所有重新編譯錯誤
Sql> select * from utl_recomp_errors;
19、啟動10G的listerner服務
測試,升級完畢。