参考文档278641.1

0.备份
备主备库的spfile
备份主库的数据

1.在主库上暂停向备库传日志
alter system set log_archive_dest_state_X=defer scope=both sid='*'

2.关闭备库以及备库监听,打上psu;不需要执行catpatch/catbundle/catcpu这些脚本;打完补丁后,将备库启动到mount状态,启动备库监听
(1)关闭数据库及监听
shutdown immediate;
lsnrctl stop

集群的环境关闭命令如下:
srvctl stop database -d dbname
srvctl stop listener -n nodehost1 -l lsnr_name
srvctl stop listener -n nodehost2 -l lsnr_name

(2)打psu补丁
opatch apply (注意要看psu文档上面需要的opatch版本要求,如果不满足,需要去下载6880880 opatch的最新版本)
注意一点,如果没有完全退出sqlplus的话,那么apply的时候会报错:
Prerequisite check "CheckActiveFilesAndExecutables" failed.
The details are:
Following executables are active :
/u01/app/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so.11.1

解决方法是 :
fuser /u01/app/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so.11.1
再kill -9 显示的第一个值

(3)启动数据库到mount状态,启动监听
startup mount
lsncrctl start

3.关闭主库以及主库监听,打上psu,执行catpatch/catbundle/catcpu这些脚本;
(1)关闭数据库和监听
shutdown immediate
lsnrctl stop

集群的环境关闭命令如下:
srvctl stop database -d dbname
srvctl stop listener -n nodehost1 -l lsnr_name
srvctl stop listener -n nodehost2 -l lsnr_name

(2)opatch apply

(3)执行脚本
cd $ORACLE_HOME/rdbms/admin
sqlplus / as sysdba
startup restrict
@catbundle.sql psu apply
@utlrp.sql

注意一点:
如果是普通的不得,执行:
SQL>@catupgrade

如果是安全补丁,执行:
SQL>@catcpu

4.启动主库监听,启动向备库传递日志
lsnrctl start
集群用下面的命令给每个节点启动
srvctl start database -d dbname
srvctl start service -d dbname
srvctl start listener -n nodehost1 -l lsnr_name

打开主库让其他进程也可以访问
alter system disable restricted session;

alter system set log_archive_dest_state_X=enable scope=both sid='*'

这个时候可以在备库的alert日志上面看到类似:
RFS[1]: Archived Log: '/0u1/archivelogdir/pmis_STD/archivelog/2015_11_06/o1_mf_1_990_6ampq53c1_.arc'
RFS[1]: Archived Log: '/0u1/archivelogdir/pmis_STD/archivelog/2015_11_06/o1_mf_1_991_6ampn54l3_.arc'
RFS[1]: Archived Log: '/0u1/archivelogdir/pmis_STD/archivelog/2015_11_06/o1_mf_1_992_6apmp561o_.arc'
RFS[1]: Archived Log: '/0u1/archivelogdir/pmis_STD/archivelog/2015_11_06/o1_mf_1_993_6ampp572b_.arc'
Thu Nov 6 11:55:20 2016
RFS[1]: Archived Log: '/0u1/archivelogdir/pmis_STD/archivelog/2015_11_06/o1_mf_1_994_6ampz58i1_.arc'
RFS[1]: Archived Log: '/0u1/archivelogdir/pmis_STD/archivelog/2015_11_06/o1_mf_1_995_6ampa59z8_.arc'
RFS[1]: Archived Log: '/0u1/archivelogdir/pmis_STD/archivelog/2015_11_06/o1_mf_1_996_6apma68p0_.arc'
RFS[1]: Archived Log: '/0u1/archivelogdir/pmis_STD/archivelog/2015_11_06/o1_mf_1_997_6amps572b_.arc'
Thu Nov 6 11:59:26 2016 
RFS[1]: Archived Log: '/0u1/archivelogdir/pmis_STD/archivelog/2015_11_06/o1_mf_1_998_6amps60c1_.arc'
RFS[1]: Archived Log: '/0u1/archivelogdir/pmis_STD/archivelog/2015_11_06/o1_mf_1_999_6ampz61l3_.arc'
RFS[1]: Archived Log: '/0u1/archivelogdir/pmis_STD/archivelog/2015_11_06/o1_mf_1_1000_6apmp621o_.arc'
RFS[1]: Archived Log: '/0u1/archivelogdir/pmis_STD/archivelog/2015_11_06/o1_mf_1_1001_6amp652b_.arc'
Media Recovery Waiting for thread 1 sequence 1002

5.打开备库的 apply/managed recovery
直到看到Media Recovery Waiting for thread 1 sequence 1002 这种信息,表示已经把日志恢复完成,这个时候可以切换到active dataguard的模式

alter database recover managed standby database cancel;

如果没有执行上面的命令,直接alter database open的话,会报错如下:

ORA-10456: cannot open standby database; media recovery session may be in progress

所以正确的步骤是:

alter database recover managed standby database cancel;
alter database open;
alter database recover managed standby database using current logfile disconnect ;

再查询状态:
SQL> select name,open_mode from v$database;
NAME OPEN_MODE
--------- --------------------
PMIS       MOUNTED

6.检查补丁情况,在主备库都要检查
opatch lsinventory

给11gR2 Dataguard打psu补丁的步骤及注意事项的更多相关文章

  1. Oracle 11g RAC 环境打PSU补丁的详细步骤

    首先重要的事情说三遍:操作之前还是自己先看文档!操作之前还是自己先看文档!!操作之前还是自己先看文档!!! 把11.2.0.4 RAC 环境打PSU补丁的步骤详细记录一下,方便参考. 环境:11.2. ...

  2. Oracle 11.2.0.4 DataGuard 环境打PSU,OJVM PSU补丁快速参考

    环境:RHEL6.5 + Oracle 11.2.0.4 DataGuard physical standby 主库和备库都是单节点. 需求:主备库同时应用160719的PSU和OJVM PSU补丁. ...

  3. [Oracle] CPU/PSU补丁安装教程

    什么是CPU/PSU Oracle CPU的全称是Critical Patch Update, Oracle对于其产品每个季度发行一次安全补丁包,通常是为了修复产品中的安全隐患. Oracle PSU ...

  4. [Oracle] CPU/PSU补丁安装详细教程

    Oracle CPU的全称是Critical Patch Update, Oracle对于其产品每个季度发行一次安全补丁包,通常是为了修复产品中的安全隐患,以下是对CPU/PSU补丁安装的具体操作步骤 ...

  5. 完整记录一则Oracle 11.2.0.4单实例打PSU补丁的过程

    本文记录了打PSU的全过程,意在体会数据库打PSU补丁的整个过程. 1.OPatch替换为最新版本2.数据库软件应用19121551补丁程序3.数据库应用补丁4.验证PSU补丁是否应用成功 1.OPa ...

  6. Oracle 11.2.0.4单实例打PSU,OJVM PSU补丁快速参考

    写在前面: 1.Oracel打每个补丁的操作有时存在差异,所以不管多熟悉,都应该在打任何补丁之前阅读新补丁中附带的readme. 2.Oracle每季度都会更新一个最新的PSU,本文最新指的是当前最新 ...

  7. Oracle 11.2.0.4 RAC安装最新PSU补丁

    环境:两节点RAC(RHEL 6.4 + GI 11.2.0.4 + Oracle 11.2.0.4) 需求:安装最新PSU补丁11.2.0.4.7 1.下载补丁和最新OPatch 2.检查数据库当前 ...

  8. 【转】:Oracle Linux6.9下安装Oracle 11.2.0.4.0及psu补丁升级

    为方便截图,本文操作都在vmware虚拟机上完成. 目录: 1.操作系统安装 2.数据库安装 3.PSU补丁升级卸载   part1 操作系统安装 Oracle (Enterprise) Linux ...

  9. Weblogic 升级更新补丁操作步骤

    转至:https://blog.csdn.net/allway2/article/details/91424413 Weblogic 升级更新补丁操作步骤: 1.上传补丁包2.kill weblogi ...

随机推荐

  1. 使用腾讯开发平台获取QQ用户数据资料

    <今天是七夕:祝大家七夕嗨皮,前可么么哒,后可啪啪啪> Tips:本篇博客将教你如何使用腾讯开发平台获取QQ用户资料 ----------------------------------- ...

  2. 【CityHunter】服务器端设计思路

    设计服务端程序首先我考虑到的是通讯传输方式的设计,按照CityHunter的特殊性,其具有两种使用场景: 仅用于查看当前信息状态.搜索周边环境.对信息的实时性要求不高的一些场景: 用于攻略藏宝图或Ch ...

  3. <<< html5本地储存

    类似与Cookies,但由于Cookies储存量太小,大小也只有4-5KB的样子,html5的本地储存能存5M大小的数据 html5本地储存属性有,localStorage和sessionStorag ...

  4. 基于 Arduino 的 RFID 识别实验

    http://www.it165.net/embed/html/201512/3287.html 2015年12月04日(周五) 上午  博士的智能卡实验--RFID识别实验,基于51单片机: 我们的 ...

  5. jQuery-3~4章

    jQuery-3~5章 JQuery003-JQuery中的DOM操作 jQuery中的DOM操作: 1.查找节点 A.查找元素节点 B. 查找属性节点 var s1 = $("ul li: ...

  6. <!DOCTYPE>标签的定义与用法

    <!DOCTYPE> 声明不是 HTML 标签:它是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令. 在 HTML 4.01 中,<!DOCTYPE> 声明 ...

  7. centos 7.0 编译安装php 5.6.7

    编译安装php参考资料 MySQL PHP API http://dev.mysql.com/doc/apis-php/en/index.html nginx + php +mysql 最简单安装 官 ...

  8. RAID技术介绍

    RAID技术介绍 简介 RAID是一个我们经常能见到的名词.但却因为很少能在实际环境中体验,所以很难对其原理 能有很清楚的认识和掌握.本文将对RAID技术进行介绍和总结,以期能尽量阐明其概念. RAI ...

  9. Redis学习笔记7--Redis管道(pipeline)

    redis是一个cs模式的tcp server,使用和http类似的请求响应协议.一个client可以通过一个socket连接发起多个请求命令.每个请求命令发出后client通常会阻塞并等待redis ...

  10. sql 查询

    select * from (select * ,row_number() over(partition by CreateUID order by asid)num from AuctionSell ...