Oracle 11.2.0.1升级到11.2.0.3 on windows平台
Oracle从11.2.0.2开始,Oracle database的补丁集合是完整的安装包,将不再需要安装11.2.0.1版本。所以升级的方式和以前的补丁包不同。11.2.0.3的软件需要安装在一个全新的目录,而不是在原有的11.2.0.1的目录下打补丁。
1 首先备份已有的oracle数据库
2 生成initorcl.ora参数文件
SQL> create pfile='initorcl.ora' from spfile;
备份11.2.0.1的init参数和口令文件(%ORACLE_HOME%/database目录)
initorcl.ora, PWDorcl.ora
3 安装11.2.0.3到一个新目录D:\oracle\product\11.2.0.3\dbhome_1 (选仅安装数据库软件)ORACLE_HOME=D:\oracle\product\11.2.0.3\dbhome_1
PATH去掉D:\oracle\product\11.2.0\dbhome_1\bin
11.2.0.1的init参数和口令文件复制到D:\oracle\product\11.2.0.3\dbhome_1\database目录sqlplus / as sysdba
Pre-Upgrade Information Tool:
SQL> SPOOL upgrade_info.log
SQL>@?/rdbms/admin/utlu112i.sql
SQL> SPOOL OFF
4 停掉数据库
shutdown immediate
5 重建服务
NET STOP OracleServiceORCL
ORADIM -DELETE -SID orcl
ORADIM -NEW -SID ORCL -SYSPWD manager -STARTMODE AUTO -PFILE D:\oracle\product\11.2.0.3\dbhome_1\database\initorcl.ora
OracleServiceORCL改成自动
6 用upgrade参数启动数据库
sqlplus / as sysdba
SQL> startup upgrade
SQL> SPOOL upgrade.log
SQL> @?/rdbms/admin/utlu112i.sql
7 运行升级程序包
这个脚本才是真正的升级脚本,前面搞了那么多,就为了执行这个脚本
SQL> @?/rdbms/admin/catupgrd.sql
8 重新启动数据库,运行升级后的包
SQL> STARTUP
SQL> @?/rdbms/admin/utlu112s.sql - 显示升级各个组件所花的时间
SQL> @?/rdbms/admin/catuppst.sql - 执行一些未在升级包中的操作
SQL> @?/rdbms/admin/utlrp.sql - 重新编译不正确的包和java代码
9 停掉11.2.0.1的listener,启动11.2.0.2的listener
10. 最后调用一下dbca重建一下OEM