Oracle 10.2.0.1升级至 10.2.0.4【备忘】

刚开始接触Oracle数据库,边学边记录。最近需要在虚拟机上装一个空的10.2.0.4版本的Oracle数据库以满足以前的一个项目的使用,但手头上只有Oracle 10.2.0.1版本的安装包(官方已经不再提供11g以前的程序安装包了,所以没地方下载),以及10.2.0.4版本的升级包。因此需要先安装Oracle 10.2.0.1,然后再进行升级。

下边是我的虚拟机的情况:

操作系统:Windows XP SP3 32bit

数据库安装包:Oracle 10.2.0.1

数据库升级包:Oracle 10.2.0.4 Patch Set for Windows 32BIT

没有安装包或升级包的童鞋可以留言或者邮件说声,我给你发过去~

接下来开始具体工作:

1. 安装10.2.0.1的安装包,安装过程就不详细说了,一路next即可:

1

 

2. 安装完成后关闭数据库:

开始——运行——cmd——sqlplus——system as sysdba

然后 SQL> SHUTDOWN,如下图:

安装过程

有时候服务关闭很慢,可能等很长时间也没有反应,这时候可以自己关闭相关Oracle数据库服务(右击“我的电脑”——“管理”——“服务”——找到Oracle相关的服务,右击,停止),如下图所示:

关闭服务

 

3. 开始安装10.2.0.4升级包,也是一路next,但是要注意的是在下边这个界面时,注意选择名称的时候选“Oradb10g_home1”,这是你旧版本的Oracle主要文件所在的目录:

注意界面

 

4. 在是否启用“Oracle Configuration Manager”这里选不启用,即不用打钩直接next;

5. 安装结束后,在“服务”中将刚才停止的服务启用。接下来是运行脚本升级数据库(从第6步开始),这一步很关键,因为如果只安装了升级包,没有进行数据库字典等信息升级的话,数据库将不能正常启动,会报ORA-01092 ORACLE 例程终止错误,这和Oracle9i有点不同,对Oracle9i做了升级后,不升级数据库字典信息,仍然可以启动数据库使用,但对exp/imp,RMAN之类的工具不能使用;

6. 运行数据库预升级检查(Pre-Upgrade Information Tool)

运行cmd,以sysdba身份登录,输入

SQL> STARTUP UPGRADE

SQL> SPOOL upgrade_info.log

SQL> @ E:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\utlu102i.sql(这里是我的Oracle安装路径,你要将其改成你的安装路径)

SQL> SPOOL OFF

7. 进行数据库字典信息升级(Upgrading a Release 10.2 Database)

启动监听器:

运行cmd——lsnrctl start——sqlplus /NOLOG

然后以sysdba身份登录,输入:

SQL>STARTUP UPGRADE

SQL> SPOOL patch.log

SQL> @ E:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\catupgrd.sql(路径还是结合你实际路径填写,这个执行时间稍微长点,要耐心等待)

SQL> SPOOL OFF

8. 重启动数据库:

SQL> SHUTDOWN IMMEDIATE

SQL> STARTUP

9. 运行utlrp.sql脚本重新编译无效PL/SQL包:

SQL> @ E:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\utlrp.sql

10. 运行命令检查所有组件是否升级成功:

SQL> SELECT COMP_NAME, VERSION, STATUS FROM SYS.DBA_REGISTRY;

所有输出为VALID表示升级成功:

升级成功