从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服务
测试,升级完毕。