日期:2014-05-16  浏览次数:20580 次

oracle RAC 10g升级到11g (out of place)回退方案


  oracle RAC 10g升级到11g (out of place)回退方案

  从网上看到,有两种升级方式:

  1,直接在原来的安装用户oracle下面安装GI, 升级旧的crs, asm;

  2, 新建一个grid用户,屏蔽到10g crs信息,全新安装GI,再导入asm disk, 导入10g db, 然后再升级10g DB 都11g;

  如果要求回退 ,那么一般使用方案2:

  具体实施 如下:

  如何保证10g CRS和11g GI并存在同一节点 , 即保持10g CRS和11g Grid Infrastructure 同时安装在一套cluster上,通过脚本切换实现 2者之间的切换,互不冲突

  一、在安装11g GI 之前备份10g CRS环境配置文件的操作步骤

  1、disable服务器自动启动CRS

  以root用户执行:

  $CRS_HOME/bin/crsctl disable crs

  2、在/etc目录下新建/etc/10gcrs_bak目录作为备份文件存放的目录

  以root用户登录

  cd /etc

  mkdir 10gcrs_bak

  3、将以下需要备份的文件和文件夹进行备份

  以root用户登录,备份文件:

  cp -p /etc/inittab /etc/10gcrs_bak/inittab

  cp -p /etc/init.crs /etc/10gcrs_bak/init.crs

  cp -p /etc/init.crsd /etc/10gcrs_bak/init.crsd

  cp -p /etc/init.cssd /etc/10gcrs_bak/init.cssd

  cp -p /etc/init.evmd /etc/10gcrs_bak/init.evmd

  cp -p /etc/oratab /etc/10gcrs_bak/oratab

  cp -p /etc/oraInst.loc /etc/10gcrs_bak/oraInst.loc

  cp -p /usr/local/bin/dbhome /etc/10gcrs_bak/dbhome

  cp -p /usr/local/bin/coraenv /etc/10gcrs_bak/coraenv

  cp -p /usr/local/bin/oraenv /etc/10gcrs_bak/oraenv

  备份目录:

  rm -rf /etc/10gcrs_bak/oracle

  cp -pr /etc/oracle /etc/10gcrs_bak

  查看/etc/rc.d/rc2.d下链接:

  ls -lrt /etc/rc.d/rc2.d/*init.crs

  结果应该返回2个文件名:

  lrwxrwxrwx 1 root system 13 Apr 25 14:17 S96init.crs -> /etc/init.crs

  lrwxrwxrwx 1 root system 13 Apr 25 14:17 K96init.crs -> /etc/init.crs

  4、enable服务器自动启动CRS

  以root用户执行:

  $CRS_HOME/bin/crsctl enable crs

  二、安装完11g GI环境之后,备份11g GI环境的操作步骤

  1、disable服务器启动GI自动启动

  以root用户执行:

  $GRID_HOME/bin/crsctl disable crs

  2、在/etc目录下新建/etc/11ggi_bak目录作为备份文件存放的目录

  以root用户登录:

  cd /etc

  mkdir 11ggi_bak

  3、将以下需要备份的文件和文件夹进行备份

  以root用户登录,备份文件:

  cp -p /etc/inittab /etc/11ggi_bak/inittab

  cp -p /etc/init.ohasd /etc/11ggi_bak/init.ohasd

  cp -p /etc/ohasd /etc/11ggi_bak/ohasd

  cp -p /etc/oratab /etc/11ggi_bak/oratab

  cp -p /etc/oraInst.loc /etc/11ggi_bak/oraInst.loc

  cp -p /usr/local/bin/dbhome /etc/11ggi_bak/dbhome

  cp -p /usr/local/bin/coraenv /etc/11ggi_bak/coraenv

  cp -p /usr/local/bin/oraenv /etc/11ggi_bak/oraenv

  备份目录:

  rm -rf /etc/11ggi_bak/oracle

  cp -pr /etc/oracle /etc/11ggi_bak/

  查看/etc/rc.d/rc2.d下链接:

  ls -lrt /etc/rc.d/rc2.d/*init.crs

  结果应该返回2个文件名:

  lrwxrwxrwx 1 root system 10 Apr 12 14:50 K19ohasd -> /etc/ohasd

  lrwxrwxrwx 1 root system 10 Apr 12 14:50 S96ohasd -> /etc/ohasd

  4、enable服务器自动启动GI

  $GRID_HOME/bin/crsctl enable crs

  三、10g CRS切换到11g GI环境的操作步骤

  1、停止10g crs

  $CRS_HOME/bin/crsctl stop crs

  2、检查10g crs剩余进程

  ps -ef | grep -v grep|grep -E 'init|d.bin|ocls|evmlogger|UID'

  结果应该会返回以下4个进程列表:

  UID PID PPID C STIME TTY TIME CMD

  root 1 0 0 12:07:31 - 0:00 /etc/init

  root 139314 1 0 15:32:40 - 0:00 /bin/sh /etc/init.cssd fatal

  root 364692 1 0 15:32:40 - 0:00 /bin/sh /etc/init.crsd run

  root 630962 1 0 15:32:39 - 0:00 /bin/sh /etc/init.evmd run

  3、删除/tmp/.oracle目录下的socket文件

  rm -rf /tmp/.oracle/*

  4、从11ggi_bak目录恢复11g环境

  恢复目录:

  rm -rf /etc/oracle

  cp -pr /etc/11ggi_bak/oracle /etc/

  恢复文件: