刚开始接触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即可:
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表示升级成功: