linux单机到单机adg环境,Oracle 11.2.0.4 DataGuard 环境打PSU,OJVM PSU补丁快速参考

环境:RHEL6.5 + Oracle 11.2.0.4 DataGuard physical standby

主库和备库都是单节点。

需求:主备库同时应用160719的PSU和OJVM PSU补丁。

先参考MOS文档 ID 278641.1 的解决方案如下:

SOLUTION

Process Overview:

In the primary disable log shipping to the standby site.

Shutdown the standby site and apply interim patchsets to the RDBMS binaries as per the README. This includes Patchset/Patchset Update(PSU)/Critical Patch Update (CPU). You will not be able to and do not need to run the scripts(catpatch.sql etc) against the standby rdbms itself. Start the standby site to mount only, do not restart managed recovery.

Shutdown the primary site, apply the Patchset/PSU/CPU patch to the RDBMS binaries and patch the RDBMS itself using the instructions in the README (run catpatch/catbundle/catcpu etc).

NOTE: The latest Patchsets for Oracle 11gR2 (11.2.0) require to be installed into a new ORACLE_HOME. So mind to reset your Environment and copy corresponding Files (like SPFILE, Network Files,..) to the new ORACLE_HOME, too. Follow the Database Upgrade Guide for further Details.

Start the primary site, re-enable log shipping to the standby.

At the standby site restart redo apply/managed recovery and the RDBMS changes implemented in the Primary Site through catpatch/catbundle/catcpu will also be applied to the standby.

NOTE: Step 5. should be done immediately after upgrading the Database Binaries on the Standby Database. It is to ensure the Data Dictionary (CATPROC)-Version matches the Version of the Database Binaries. If this does not match (eg. when you upgrade the Standby Database Binaries first and perform a Role Change on the Standby before you upgrade the Primary) you may run into severe Problems. Having different Patchlevels in a Data Guard Physical Standby Database Environment is not supported anyway, see

Mixed Oracle Version support with Data Guard Redo Transport Services (Doc ID 785347.1)

for further Details and Reference.

Checks to perform to ensure the patch has been applied successfully at the primary and standby sites.

提炼核心步骤就是:

1.主库禁用日志传送到备库

```

主库;

show parameter log_archive_dest_state_X

alter system set log_archive_dest_state_X=defer scope=both sid='*';

SQL> show parameter log_archive_dest_2

NAME TYPE VALUE

log_archive_dest_2 string SERVICE=ZHZYNEW2 ASYNC LGWR VA

LID_FOR=(ONLINE_LOGFILES,PRIMA

RY_ROLE) DB_UNIQUE_NAME=ZHZYNE

W2

SQL> show parameter log_archive_dest_state_2

NAME TYPE VALUE

log_archive_dest_state_2 string enable

所以我这里的环境执行:

SQL> alter system set log_archive_dest_state_2=defer scope=both;

2.关闭备库应用补丁,但不执行脚本(catpatch.sql等),启动到mount,不启用日志恢复

lsnrctl stop

SQL> shutdown immediate;

1).OPatch更新

2).应用PSU补丁 但不执行数据库脚本

3).应用OJVM PSU补丁 但不执行数据库脚本

NOTE:上面步骤跟《[Oracle 11.2.0.4单实例打PSU,OJVM PSU补丁快速参考](http://www.cnblogs.com/jyzhao/p/5895617.html)》区别不大,但是注意只是软件应用补丁,不要执行数据库脚本。

最后启动数据库到mount,启动监听

SQL> startup mount;

lsnrctl start

3.关闭主库应用补丁,执行脚本(run catpatch/catbundle/catcpu等)

lsnrctl stop

SQL> shutdown immediate;

1).OPatch更新

2).应用PSU补丁 执行数据库脚本

3).应用OJVM PSU补丁 执行数据库脚本

4.启动主库,重新开启日志传送到备库

最后确认正常启动主库数据库和监听, 然后重新开启日志传送到备库

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

这里环境就是:

SQL> alter system set log_archive_dest_state_2=enable scope=both;

5.备库开启日志恢复

mount状态开启日志恢复:

SQL> startup mount;

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE disconnect;

最终可以切换为ADG:

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

SQL> ALTER DATABASE OPEN;

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;

6.检查补丁应用情况

$ORACLE_HOME/OPatch/opatch lspatches

$ORACLE_HOME/OPatch/opatch lsinventory

SQL> select ACTION_TIME,ACTION,NAMESPACE,VERSION,BUNDLE_SERIES,ID from registry$history;

这里尤其注意第三项,备库只有在ADG模式下才可以查询。

主库补丁应用的查询结果:

SQL> r

1* select ACTION_TIME,ACTION,NAMESPACE,VERSION,BUNDLE_SERIES,ID from registry$history

ACTION_TIME ACTION NAMESPACE VERSION BUNDLE_SERIES ID

24-AUG-13 12.03.45.119862 PM APPLY SERVER 11.2.0.4 PSU 0

08-JUL-16 02.50.00.349757 PM APPLY SERVER 11.2.0.4 PSU 0

22-SEP-16 03.48.39.295292 PM jvmpsu.sql SERVER 11.2.0.4.160719OJVMPSU 0

22-SEP-16 03.49.37.935537 PM APPLY SERVER 11.2.0.4 PSU 160719

22-SEP-16 03.51.55.999773 PM APPLY SERVER 11.2.0.4.160719OJVMPSU 0

22-SEP-16 03.51.56.010800 PM APPLY 23177551

6 rows selected.

ADG模式下,最终备库补丁应用的查询结果:

SQL> select ACTION_TIME,ACTION,NAMESPACE,VERSION,BUNDLE_SERIES,ID from registry$history;

ACTION_TIME ACTION NAMESPACE VERSION BUNDLE_SERIES ID

24-AUG-13 12.03.45.119862 PM APPLY SERVER 11.2.0.4 PSU 0

08-JUL-16 02.50.00.349757 PM APPLY SERVER 11.2.0.4 PSU 0

22-SEP-16 03.48.39.295292 PM jvmpsu.sql SERVER 11.2.0.4.160719OJVMPSU 0

22-SEP-16 03.49.37.935537 PM APPLY SERVER 11.2.0.4 PSU 160719

22-SEP-16 03.51.55.999773 PM APPLY SERVER 11.2.0.4.160719OJVMPSU 0

22-SEP-16 03.51.56.010800 PM APPLY 23177551

6 rows selected.

至此已确定主库备库都已经成功完成应用PSU,OJVM PSU补丁。

Reference

- How do you apply a Patchset,PSU or CPU in a Data Guard Physical Standby configuration (文档 ID 278641.1)

Oracle 11.2.0.1 ADG环境MRP进程遭遇ORA-600异常终止

环境:Linux + Oracle 11.2.0.1 ADG 现象:发现备库没有应用日志 1. 数据库查询备库目前状态 发现备库目前没有应用日志,apply lag已经显示备库有3天21小时多没有应用 ...

Oracle 11.2.0.1 ADG环境MRP进程遭遇ORA

环境:Linux + Oracle 11.2.0.1 ADG现象:发现备库没有应用日志 1. 数据库查询备库目前状态发现备库目前没有应用日志,apply lag已经显示备库有3天21小时多没有应用日志 ...

Oracle安装部署,版本升级,应用补丁快速参考

一.Oracle安装部署 1.1 单机环境 1.2 Oracle RAC环境 1.3 Oracle DataGuard环境 1.4 主机双机 1.5 客户端部署 二.Oracle版本升级 2.1 单机 ...

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

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

Oracle 11.2.0.4单实例打补丁

Oracle 11.2.0.4单实例打PSU,OJVM PSU补丁快速参考 写在前面: ·         1.Oracel打每个补丁的操作有时存在差异,所以不管多熟悉,都应该在打任何补丁之前阅读新补 ...

Oracle 11.2.0.4.0 Dataguard部署和日常维护(1)-数据库安装篇

本次测试环境 系统版本 CentOS release 6.8 主机名 ec2t-userdata-01 ec2t-userdata-01 IP地址 10.189.102.118 10.189.100. ...

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

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

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.检查数据库当前 ...

随机推荐

C#--之文件操作

1.从文本文件中读取一行文本 StreamReader sr = new StreamReader("C:\\1.txt"); string readline = sr.ReadL ...

phalcon: acl权限控制

目录控制: public/index.php: $di['aclResource']=function(){ return include_once '../app/config/frontbackA ...

bzoj2618[Cqoi2006]凸多边形 半平面交

这是一道半平面交的裸题,第一次写半平面交,就说一说我对半平面交的理解吧. 所谓半平面交,就是求一大堆二元一次不等式的交集,而每个二元一次不等式的解集都可以看成是在一条直线的上方或下方,联系直线的标准方 ...

bzoj1227 [SDOI2009]虔诚的墓主人(组合公式+离散化+线段树)

1227: [SDOI2009]虔诚的墓主人 Time Limit: 5 Sec  Memory Limit: 259 MBSubmit: 803  Solved: 372[Submit][Statu ...

静态链表实现 (A-B)U(B-A)

图中黄色部分为(A-B)U(B-A)的实际意义,用结构数组做静态链表来实现该表达式 大致流程是先建立A链表,接着将挨个输入的B中元素在A链表中遍历.如果没找到,就加到A链表结尾下标为endpointe ...

sql-我写的或者其他人写的

1.更新数据,补上分工 UPDATE smartoperator RIGHT JOIN smartoperation ON smartoperation.ID=smartoperator.Operat ...

【原创】POJ 3259 Wormholes(Bellman-Ford) && 简介Bellman-Ford算法

[原创] 题目大意 John有N个农场,一共有M条边,在农场上出现了W个虫洞(W是一条边),其中M是双向普通边,W是单向虫洞边.John穿行于农场之间每经过一条边(S到E)的时间为+T,每经过虫洞会时 ...

Delegate event 委托事件---两个From窗体使用委托事件

窗体如下:   public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void b ...

hdu 3061 最大权闭合子图

属于模板题吧... #include #include #include #define min(a,b) ...

Memcached和Memcache 配置教程windows X64

一.Memcached和Memcache的区别: 网上关于Memcached和Memcache的区别的理解众说纷纭,我个人的理解是: Memcached是一个内存缓存系统,而Memcache是php的 ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值