oracle版本升级

之前帮别人处理过一次11.2.0.3升级到11.2.0.4的问题。
大致背景介绍一下:之前由于一个第三方的人员在升级一套11.2.0.3的rac环境到11.2.0.4。给别人搞坏了。紧急联系到我帮忙处理。
使用同样类似的方法:升级了一套11.2.0.4到12.2.0.1的rac
大致记录一下操作流程
listenr.log+tnsnam.ora等
1.停止集群
# ./crsctl stop crs
2.删除文件
# mkdir /u01/recyclebin/
# mv /etc/oratab /u01/recyclebin/
# mv /etc/oraInst.loc /u01/recyclebin/
# mv /usr/local/bin/dbhome /u01/recyclebin/
# mv /usr/local/bin/oraenv /u01/recyclebin/
# mv /usr/local/bin/coraenv /u01/recyclebin/
# mv /etc/oracle/olr.loc* /u01/recyclebin/
# mv /etc/oracle/ocr.loc.* /u01/recyclebin/
# mv /etc/oracle/scls_scr /u01/recyclebin/
3.使用dd命令清除ocr盘上的asm头信息 必须确认是ocr盘
# /usr/sbin/oracleasm querydisk -d ocr <<<-------确认哪块盘是ocr盘
# dd if=/dev/zero of=</dev/sdb1--代表仲裁盘> bs=1024k count=300
4.重建asm磁盘
# /usr/sbin/oracleasm createdisk OCR /dev/mapper/mpath32p1
5.安装11.2.0.4GI+DB (安装过程略) 注意:集群名和之前一致
6.安装GI完成之后,之前的未清理的asm磁盘也能识别到了
7.修改$ORACLE_HOME/bin/oracle的属组
chown oracle:asmadmin $ORACLE_HOME/bin/oracle
8.在其中一个节点对数据库做升级操作
# sqlplus / as sysdba
SQL> startup upgrade;
SQL> spool /tmp/upgrade.log
SQL> set echo on
SQL> @ ?/rdbms/admin/catupgrd.sql; ---升级脚本          

-----注意:从12.2开始,sqlplus不能再支持执行catupgrd.sql。需要使用类似脚本调用(具体看脚本说明)$ORACLE_HOME/perl/bin/perl catctl.pl catupgrd.sql

SQL> ho
$ cat /tmp/upgrade.log |grep \^* -------查看upgrade,使用grep过滤,如果为下面结果,说明升级版本没有错误

完成后按正常模式启动一个节点
SQL> startup
SQL> @ ?/rdbms/admin/catuppst.sql;
SQL> @ ?/rdbms/admin/utlrp.sql; ----可多次执行,确保数据库中对象编译后,都是有效的。
9.在GI中添加资源。重启数据库即可

posted on 2018-03-15 10:30  erwadba  阅读(1742)  评论(0编辑  收藏  举报

导航