参考文档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. 什么是js面向对象??

    简单的来说就是键值对,写一个函数,然后传值进去,   function Person(name,age){           this.name = name;           this.age ...

  2. a版本冲刺第二天

    队名:Aruba   队员: 黄辉昌 李陈辉 林炳锋 鄢继仁 张秀锋 章  鼎 学号 昨天完成的任务 今天做的任务 明天要做的任务 困难点 体会 408 学习测试文档的编写 看了构建之法的第二章和十三 ...

  3. MongoDB高可用复制集分片集群搭建

    1     逻辑架构 1.1     逻辑架构图 1.2     组件说明 一.mongos(query routers):查询路由,负责client的连接,并把任务分给shards,然后收集结果.一 ...

  4. '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp error

    '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp error 异常现象 ### Cause: java.sql.SQ ...

  5. 第一次作业——subway

    作业源程序代码:https://github.com/R-81/subway 作业程序使用说明:通过输入命令参数求解路线(仅支持-b,-c),根据参数得出路线后,程序不会结束,此时可输入地铁路线名(例 ...

  6. ubuntu下安装gedit插件

    因为gedit-plugins : 依赖: gir1.2-zeitgeist-2.0 所以首先 sudo apt-get install gir1.2-zeitgeist-2.0 如果报错可以先 su ...

  7. 一次完整的HTTP请求所经历的7个步骤

    HTTP通信机制是在一次完整的HTTP通信过程中,Web浏览器与Web服务器之间将完成下列7个步骤: 1. 建立TCP连接在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接,该连 ...

  8. rsync快速删除海量文件

    rsync --delete-before -avH --progress --stats /tmp/empty/ /var/spool/postfix/maildrop/ 由于业务侧使用时,一些脚本 ...

  9. 汤森路透为何一定要卖掉SCI?

    http://health.sohu.com/20160714/n459331727.shtml

  10. Bash 中为 _ 变量赋空值的三个场景

    $_ 有好几个功能,我们最常用的是用它来获取“刚刚执行过的命令的最后一个参数”这个功能,比如下面这样: $ ls ~/Downloads/very/long/dir/  # ls 到某个目录看看有没有 ...