本次试验从数据库10.2.0.1升级到10.2.0.5:
下载升级包:p8202632_10205_LINUX.zip
解压之后升级crs:(不用停止crs)
这里选择升级的路径,首先升级crs就选着crs的路径:
RAC1:
rac2:
验证:
升级数据库软件:
这时候要停掉监听和数据库以及asm,两个节点都要停止。
OK升级完毕!!
启动asm和监听,此时如果启动数据库,会出现如下问题:
这是因为升级之后,会更改数据库很多的内置数据,查看alert日志:
1981.trc信息如下:
此时需要使用如下方法启动数据库:
但是数据库一直hang在mount,而且alert也看不出信息,这时候我用ctrl+c 退出启动,然后再次使用startup upgrade:
此时报错信息如下:
alert日志:
13550.trc信息如下:
此时执行如下操作
SQL> CONNECT SYS AS SYSDBA
SQL> STARTUP NOMOUNT
SQL> ALTER SYSTEM SET CLUSTER_DATABASE=FALSE scope=spfile ;
SQL> SHUTDOWN IMMEDIATE
然后打开数据库:
STARTUP UPGRADE
执行两个脚本:
@$ORACLE_HOME/rdbms/admin/catupgrd.sql;--该脚本会重建数据库对象,消耗时间长
@$ORACLE_HOME/rdbms/admin/utlrp.sql; --重新编译失效的object
然后重启数据库
shutdwon immediate;
startup
因为是修改数据库对象,所以不需要两个节点都执行
但是要注意的是,节点2要把CLUSTER_DATABASE改成原来的值(true),否者会出现如下错误:
ALTER SYSTEM SET CLUSTER_DATABASE=FALSE scope=spfile ;
然后就可以了