在linux环境下做了一下10.2.0.1到10.2.0.4的升级,下面把主要过程记录一下:
一、下载补丁
补丁为:p6810189_10204_Linux-x86.zip 可以到Oracle官方网站上去下载
二、 升级安装前准备工作
1、关闭数据库所有服务
1.关闭所有可能访问数据库的工具, 例如 Oracle Enterprise Manager Database Control or iSQL*Plus:
2.[oracle@localhost ~]$emctl stop dbconsole
3.[oracle@localhost ~]$isqlplusctl stop
4.[oracle@localhost ~]$lsnrctl stop
5.[oracle@localhost ~]$sqlplus /NOLOG
6.SQL> CONNECT SYS AS SYSDBA
7.Enter password:SYS_Password
8.SQL> SHUTDOWN
三、备份系统
备份内容包括: Oracle Inventory, Oracle 10g home 和 Oracle 10g Database.
四、安装升级包软件
1.以具有操作系统管理员权限的用户登陆系统.
2.解压升级包,运行./runInstall.
3.除了需要指定你想升级的Oracle home,或者选择“路径”,其他全部默认即可。
4.在安装结束画面, 单击“退出”, 然后确认退出 Oracle Universal Installer,至此,ORACLE升级包软件安装结束
五、运行脚本升级数据库
如果只安装了升级包,没有进行数据库字典信息升级,启动数据库将报
——ORA-01092 ORACLE 例程终止。强行断开连接。
注:此时Google的结果会给出多种解释,除了检查SID和服务配置外,还需要检查防火墙等。
而此时,针对升级所产生的错误,是正常的。
1.进行数据库字典信息升级(Upgrading a Release 10.2 Database)
启动监听器:lsnrctl start
sqlplus /NOLOG
SQL> CONNECT / AS SYSDBA
STARTUP UPGRADE
SQL> SPOOL c:/patch.log --设定跟踪文件
SQL> @?/rdbms/admin/utlu102i.sql --运行数据库预升级检查
SQL> @?/rdbms/admin/catupgrd.sql --数据库字典信息升级包
SQL> SPOOL OFF
检查 patch.log 文件,如果有问题,重新运行catupgrd.sql。
2.重启动数据库:
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP
3 运行utlrp.sql脚本重新编译无效PL/SQL包
SQL> @?/rdbms/admin/utlrp.sql
4 运行命令检查所有组件是否升级成功:
SQL> SELECT COMP_NAME, VERSION, STATUS FROM SYS.DBA_REGISTRY;
所有输出为 VALID表示升级成功.
5 如果使用Oracle Recovery Manager catalog, 需要对catalog进行升级,如下:
[oracle@localhost ~]$ rman catalog username/password@alias
RMAN> UPGRADE CATALOG;
六、检查基本的数据库工具可用性
对数据库中的用户进行EXP和IMP操作,对数据库用RMAN进行备份和恢复操作。确认备份恢复没问题。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/gguxxing008/archive/2011/04/23/6347082.aspx