回滚环境:
1.源库版本:
Grid Infrastructure:11.2.0.3.15
Database:11.2.0.3.15
2.目标库版本:
Grid Infrastructure:11.2.0.3.13
Database:11.2.0.3.13
 
执行步骤:
1.备份源库(root & grid & oracle)
待回滚的节点执行备份,以防止回滚失败后导致软件故障。
a.备份 ASM 实例参数文件(grid)
以 / as sysasm 身份进入 sqlplus 环境,执行语句 create pfile='/home/grid/init_asm.ora' from spfile;
b.备份 ASM 实例参数文件(oracle)
以 / as sysdba 身份进入 sqlplus 环境,执行语句 create pfile='/home/oracle/init_db.ora' from spfile;
c.备份集群信息(root):
进入 gird 用户的 $ORACLE_HOME/bin 目录下(例如:/u01/app/11.2.0/grid/bin)
./crsctl query css votedisk
./ocrcheck
./ocrconfig -manualbackup
d.备份数据库(oracle):
以 / as sysdba 身份进入 sqlplus 环境,执行语句 alter system archive log current;
随后调用数据库全备份脚本备份数据库。
e.关闭待回滚节点(oracle $ root)
f.备份 Grid Infrastructure 的 OPatch(root)
进入 gird 用户的 $ORACLE_HOME/OPatch 目录下(例如:/u01/app/11.2.0/grid/OPatch)
执行 tar -cpf ../gridOPatch.tar.20161014 ./
g.备份 Database 的 OPatch(root)
进入 oracle 用户的 $ORACLE_HOME/OPatch 目录下(例如:/u01/app/oracle/product/11.2.0/db_1/OPatch
执行 tar -cpf ../oracleOPatch.tar.20161014 ./
h.备份 Grid Infrastructure 及 Database 软件(root)
进入 Grid Infrastructure 及 Database 安装根目录下(例如:/u01/app)
执行 tar -cpf ../u01.tar.20161014 ./ 备份软件。
e.重启待回滚节点 CRS(root)
以 root 用户登录欲节点,进入 Grid Infrastructure 的 BIN 目录下,输入 ./crsctl start crs

2.创建 OCM response 文件(grid $ oracle,每个节点)

分别以 grid 及 oracle 进入Grid Infrastructure 及 Database 的 $ORACLE_HOME/OPatch/ocm/bin 目录下。
执行 ./emocmrsp -no_banner -output <specify_the_location>/file.rsp 例如:./emocmrsp -no_banner -output ~/grid.rsp
生成 response 文件的导航界面如下:
注意:要求输入 Email 时可为,并在随后的不告知安全事件中输入 Yes
3.关闭 EM 代理进程(oracle,每个节点)
在为 Grid Infrastructure 及 Database 打补丁之前,需要关闭 EM 代理进程。
需要以 oracle 用户进入 Database 的 $ORACLE_HOME/bin 目录下,执行 ./emctl stop dbconsole
4.回滚补丁(root & oracle,每个节点)
注意:补丁回滚将会回滚至上次升级补丁之前的状态。
a.切换服务(oracle)
注意:采用逐一回滚的方式,实现零宕机回滚。因此回滚一个节点时,应将该节点的所有服务切换到其他节点上。其中,切换服务命令类似如下。
srvctl relocate service -d <db_name> -s <service_name> -i <orig_instance_name> -t <target_instance_name>
b.关闭数据库实例(oracle)
以 oracle 用户登录节点,在 sqlplus 环境下使用以下命令关闭数据库实例。
alter system checkpoint; 更新检查点
alter system archive log current; 更新归档日志
shutdown immediate 关闭节点数据库。
c.解压缩补丁包(grid)
以 grid 用户解压缩待回滚补丁包。
注意:例如从 11.2.0.3.9 回滚至 11.2.0.3.6,则需解压缩 11.2.0.3.9 的补丁包。
d.为 Grid Infrastructure 回滚补丁(root)
以 root 用户进入 Grid Infrastructure 的 $ORACLE_HOME/OPatch 目录下。
执行 ./opatch auto <UNZIPPED_PATCH_LOCATION> -oh <GI_HOME> -rollback -ocmrf <ocm response file>
例如:./opatch auto /u01/setup/21150904/20996944 -oh /u01/app/11.2.0/grid -rollback -ocmrf /u01/setup/grid.rsp
e.为 Database 回滚补丁(root)
以 root 用户进入 Database 的 $ORACLE_HOME/OPatch 目录下。
执行 ./opatch auto <UNZIPPED_PATCH_LOCATION> -oh <DATABASE_HOME> -rollback -ocmrf <ocm response file>
例如:./opatch auto /u01/setup/21150904/20996944 -oh /u01/app/oracle/product/11.2.0/db_1/ -rollback -ocmrf /u01/setup/oracle.rsp
f.为其余节点回滚补丁
当单个节点回滚完毕后,选择回滚下一个节点,重复执行 a~e 步骤操作,直至所有节点回滚完毕。
 
5.回退 SQL 文件至数据库(oracle,单个节点)

待 RAC 补丁回退完毕后,在当时运行 catbundle.sql 脚本的节点上,运行 catbundle_PSU_<database_SID_PREFIX>_ROLLBACK.sql 脚本,以回退 SQL 文件至数据库。
SQL> @catbundle_PSU_<database_SID_PREFIX>_ROLLBACK.sql
其中 database_SID_PREFIX 为实例的前缀。
 
参考文档:

《Patch Installation and Deinstallation For 11.2.0.3.x GI PSU (文档 ID 1494646.1)》

Oracle-11g-R2(11.2.0.3.x)RAC Oracle Grid & Database 零宕机方式回滚 PSU(自动模式)的更多相关文章

  1. Oracle-11g-R2(11.2.0.3.x)RAC Oracle Grid & Database 零宕机方式升级 PSU(自动模式)

    升级环境: 1.源库版本: Grid Infrastructure:11.2.0.3.13 Database:11.2.0.3.13 2.目标库版本: Grid Infrastructure:11.2 ...

  2. Oracle 11g R2(11.2.0.4) RAC 数据文件路径错误解决--ORA-01157 ORA-01110: 数据文件

    Oracle 11g R2(11.2.0.1) RAC  数据文件路径错误解决--ORA-01157 ORA-01110: 数据文件 oracle 11g R2(11.2.0.4) rac--scan ...

  3. Oracle Linux 6.3下安装Oracle 11g R2(11.2.0.3)

    本文主要描写叙述了在Oracle Linux 6.3下安装Oracle 11gR2(11.2.0.3).从Oracle 11g開始,Oracle官方站点不再提供其Patch的下载链接,须要使用Meat ...

  4. CentOS6.9 安装Oracle 11G 版本11.2.0.1.0

    安装实例与数据库 CentOS6.9 安装Oracle 11G 版本11.2.0.1.0 一.检查系统类别. 查看 系统的类别,这里是 64位系统:[root@localhost ~]# uname ...

  5. CentOS7 安装oracle 11g (11.2.0.1.0)

    1.安装依赖: #yum -y install binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ks ...

  6. linux 6.4平台利用rman迁移oracle 11g r2数据库

    测试环境分别在虚拟机安装A,B主机 系统:linux 6.4, 数据库:oracle 11g r2 A主机:安装oracle 11g r2数据库 B主机:只安装oracle 11g r2软件 第一步, ...

  7. Oracle 11g R2 Backup Data Pump(数据泵)之expdp/impdp工具

    Oracle Data Pump(以下简称数据泵)是Oracle 10g开始提供的一种数据迁移工具,同时也被广大DBA用来作为数据库的逻辑备份工具和体量较小的数据迁移工具.与传统的数据导出/导入工具, ...

  8. Oracle 11g R2性能优化 SQL TRACE

    作为Oracle官方自带的一种基本性能诊断工具,SQL Trace可以用来评估当前正在运行的SQL语句的效率,同时为该语句生成统计信息等,并保存这些信息到指定路径下的跟踪文件(trace)当中.SQL ...

  9. Oracle 11g R2创建数据库之手工建库方式

    在之前的博文当中梳理了关于DBCA静默方式创建数据库的过程,本文就手工通过SQL*PLUS客户端采用CREATE DATABASE语句创建数据库.这种建库方式就是完全使用手工SQL语句创建数据库,通常 ...

随机推荐

  1. hdu 4614 Vases and Flowers(线段树:成段更新)

    线段树裸题.自己写复杂了,准确说是没想清楚就敲了. 先是建点为已插花之和,其实和未插花是一个道理,可是开始是小绕,后来滚雪球了,跪了. 重新建图,分解询问1为:找出真正插画的开始点和终止点,做成段更新 ...

  2. cocos2d-x 小技巧

    1.字符串 与 数据结构互转 CCPoint: CCPointFromString(); {x, y} CCSize: CCSizeFromString(); {w, h} CCRect: CCSiz ...

  3. LeetCode Contains Duplicate (判断重复元素)

    题意: 如果所给序列的元素不是唯一的,则返回true,否则false. 思路: 哈希map解决. class Solution { public: bool containsDuplicate(vec ...

  4. linux - 开机启动thunderbird、chromium

    cd ~/.config/autostart/(没有autostart,自己 mkdir autostart) vim thunderbird.desktop,输入以下: [Desktop Entry ...

  5. LeetCode: Single Number I && II

    I title: Given an array of integers, every element appears twice except for one. Find that single on ...

  6. UE 使用技巧

    一.关于正则表达式的使用 删除空行: 替换 %[ ^t]++^p 为 空串 替换回车换行符:替换^p 为 空串 删除行尾空格: 替换 [ ^t]+$ 为 空串 删除行首空格: 替换 %[ ^t]+ 为 ...

  7. FOJ 1858 Super Girl 单调队列

    http://acm.fzu.edu.cn/problem.php?pid=1858 一个数组中  找两对元素,第一对元素和最大,第二对元素和最小,限制:一对元素中两个元素的距离在原数组中小于d.去掉 ...

  8. 【windows核心编程】一个HOOK的例子

    一.应用场景 封装一个OCX控件,该控件的作用是来播放一个视频文件,需要在一个进程中放置四个控件实例. 由于控件是提供给别人用的,因此需要考虑很多东西. 二.考虑因素 1.控件的父窗口resize时需 ...

  9. <转>DNS服务系列之二:DNS区域传送漏洞的安全案例

    DNS区域传送(DNS zone transfer)指的是一台备用服务器使用来自主服务器的数据刷新自己的域(zone)数据库.这为运行中的DNS服务提供了一定的冗余度,其目的是为了防止主的域名服务器因 ...

  10. 通过库函数API和C代码中嵌入汇编代码剖析系统调用的工作机制

    作者:吴乐 山东师范大学<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 本次实验的主要内容就是分别采用A ...