环境:

Oracle 11.2.0.3 + OEL 7.9

A -> B -> C 级联ADG环境:db11g -> db11gadg -> db11gcas

之前测试提到,从一级备库duplicate到二级备库会报错:

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 05/14/2023 23:54:15
RMAN-05501: aborting duplication of target database
RMAN-05531: a mounted database cannot be duplicated while datafiles are fuzzy

客户确认是从一级备库duplicate到二级备库OK,查询文档:

  • RMAN Duplicate From Active Database Fails when Source Database is Standby and Patch 11715084 Applied (Doc ID 1522062.1)

原来又是一个bug,好在有已发布的补丁修复此问题。

为了避免更多杂七杂八的bug,我决定应用11.2.0.3版本最后的PSU(Patch Set Update);

根据MOS文档:

  • Assistant: Download Reference for Oracle Database/GI Update, Revision, PSU, SPU(CPU), Bundle Patches, Patchsets and Base Releases (Doc ID 2118136.2)

定位到 11.2.0.3最后一个PSU是:p20996944_112030_Linux-x86-64.zip

这个是包含了GI和DB的补丁,我这里单实例就只需要应用其中DB的,应用每一个补丁的具体步骤都是去参见对应的readme文件:README.html。

  • Patch 20996944 - Oracle Grid Infrastructure Patch Set Update 11.2.0.3.15 (Jul2015) (Includes Database PSU)

这里想多聊下关于readme,但凡是有经验的DBA,都知道打补丁要看对应的readme,而不是直接上去就操作,虽然打补丁流程类似,但也会有个别补丁之间存在差异,按readme指引操作才是最靠谱的。

This document is accurate at the time of release. For any changes and additional information regarding PSU 11.2.0.3.15, see these related documents that are available at My Oracle Support (http://support.oracle.com/):

Document 854428.1 Patch Set Updates for Oracle Products

Document 2006070.1 Oracle Grid Infrastructure Patch Set Update 11.2.0.3.15 Known Issues

This document includes the following sections:

Section 1, "Patch Information"

Section 2, "Patch Installation and Deinstallation"

Section 3, "Known Issues"

Section 4, "References"

Section 5, "Manual Steps for Apply/Rollback Patch"

Section 6, "Bugs Fixed by This Patch"

Section 7, "Documentation Accessibility"

我们需要下载OPatch Utility,通过 6880880 搜索:

  • You must use the OPatch utility version 11.2.0.3.5 or later to apply this patch.

题外话,这里的utility啥意思?

我们知道utility software通常是指最基础的系统工具软件,而Opatch 这种软件用于打各种版本的PSU补丁,所以称之为Opatch utility就容易理解了。

另外值得一提的是,像SUV这种耳熟能详的汽车车型,其中的U也是Utility这个词哦(Sport Utility Vehicle),这样是不是一下子就记住了呢~

  • The OPatch utility will prompt for your OCM (Oracle Configuration Manager) response file when it is run.

    OCM response file is required and is not optional.

这个ocm响应文件在这个版本下是必须的,在新版本就不需要,这些注意事项实际上都需要readme来确认。

在readme中针对比如手工应用等章节是指向到具体的MOS文档进一步说明:

  • Readme - Patch Installation and Deinstallation For 11.2.0.3.x GI PSU (Doc ID 1494646.1)

说这些只是为了让大家在应用补丁时仔细去看对应的readme说明,目前我这实验环境是单实例,手工应用补丁即可,使用最简单的opatch apply。

嗯,在应用之前,再去duplicate尝试下,确定目前是有问题的。

将级联备库db11gcas对应的实例启动到nomount状态;然后执行脚本报错:

sh dup_dg.sh
...
RMAN-05531: a mounted database cannot be duplicated while datafiles are fuzzy

在db11gadg备库先应用PSU补丁,更新OPatch Utility版本然后应用补丁:

[oracle@db11gadg media]$ $ORACLE_HOME/OPatch/opatch version
Invoking OPatch 11.2.0.1.7 OPatch Version: 11.2.0.1.7 OPatch succeeded.

需要更新OPatch Utility,下载最新的11.2.0.3.41 尝试?

记得太新的其实未必兼容,另外目前连接实验环境没有多少流量可用传输。

所以从实验环境的本地网盘上搜到,p6880880_112000_Linux-x86-64_11.2.0.3.12.zip。

也符合要求。

安装此版本更新后再次查询符合要求:

[oracle@db11gadg dbhome_1]$ pwd
/u01/app/oracle/product/11.2.0/dbhome_1
[oracle@db11gadg dbhome_1]$ unzip /u01/media/p6880880_112000_Linux-x86-64_11.2.0.3.12.zip
[oracle@db11gadg dbhome_1]$ $ORACLE_HOME/OPatch/opatch version
OPatch Version: 11.2.0.3.12 OPatch succeeded.

解压补丁,应用DB补丁:

建立一个空文件夹,解压:

[oracle@db11gadg media]$ mkdir tmp
[oracle@db11gadg media]$ unzip p20996944_112030_Linux-x86-64.zip -d ./tmp/ [oracle@db11gadg tmp]$ pwd
/u01/media/tmp
[oracle@db11gadg tmp]$ ls -lrth
total 220K
-rw-r--r-- 1 oracle oinstall 21 Jan 9 2014 README.txt
-rw-r--r-- 1 oracle oinstall 0 Jan 9 2014 atp_lfp
drwxr-xr-x 5 oracle oinstall 44 Jan 9 2014 17592127
drwxrwxr-x 17 oracle oinstall 4.0K Jun 9 2015 20760997
-rw-r--r-- 1 oracle oinstall 450 Jun 9 2015 bundle.xml
-rw-rw-r-- 1 oracle oinstall 63K Jul 14 2015 README.html
-rw-rw-r-- 1 oracle oinstall 143K Jul 14 2015 PatchSearch.xml

关闭数据库,监听,应用补丁;

SQL> shutdown immediate
[oracle@db11gadg 20760997]$ lsnrctl stop [oracle@db11gadg 20760997]$ $ORACLE_HOME/OPatch/opatch apply Email address/User Name: <--- 直接回车!
You have not provided an email address for notification of security issues.
Do you wish to remain uninformed of security issues ([Y]es, [N]o) [N]: Y <--- Y表示 希望不了解安全问题,不然就一直让你输入邮箱.. Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/u01/app/oracle/product/11.2.0/dbhome_1') Is the local system ready for patching? [y|n]
y <--- y表示本地环境已经准备好应用补丁了! ...
Composite patch 20760997 successfully applied.
OPatch Session completed with warnings.
Log file location: /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2023-05-22_15-17-55PM_1.log OPatch completed with warnings.

应用完补丁查询:

[oracle@db11gadg 20760997]$ $ORACLE_HOME/OPatch/opatch lsinventory
...
OPatch succeeded.

启动监听和数据库:

$ lsnrctl start
SQL> startup

然后级联备库再次发起duplicate操作,不再报错了哈~

为了统一,接下来计划在主库、级联备库都应用11.2.0.3的PSU补丁。

这里先应用一个备库,就是为了验证这个问题是否能修复。

源端为备库的场景下Duplicate失败问题的更多相关文章

  1. Oracle主库归档丢失,备库日志有gap,在不重建备库的情况下,恢复备库

    本文主要描述Oracle备库日志与主库日志之间有gap,切主库这部分gap的归档日志已经删除或丢失,如何在不重建备库的情况下,恢复备库. 欢迎转载,请注明作者.出处. 作者:张正 blog:http: ...

  2. ABP在MultipleDbContext也就是多库的场景下发布后异常“Could not find content root folder”问题处理

    ABP多库支持 ABP支持多库的方案在abp的案例中aspnetboilerplate-samples中给了现成的demo,其中MultipleDbContextDemo是EF的相关针对dotnet的 ...

  3. Oracle备库TNS连接失败的分析

    今天在测试12c的temp_undo的时候,准备在备库上测试一下,突然发现备库使用TNS连接竟然失败. 抛出的错误如下: $ sqlplus sys/oracle@testdb as sysdba S ...

  4. [20170825]11G备库启用DRCP连接3.txt

    [20170825]11G备库启用DRCP连接3.txt --//昨天测试了11G备库启用DRCP连接,要设置alter system set audit_trail=none scope=spfil ...

  5. RAC+单实例场景下 DG主备切换,报ORA-01577

    SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMAR ...

  6. 测试:OGG初始化同步表,源端抽取进程scn<源端事务的start_scn时,这个变化是否会同步到目标库中?

    一.测试目标 疑问,OGG初始化同步表,源端抽取进程开始抽取的scn<源端事务的start_scn时,这个变化是否会同步到目标库中? 二.实验测试 如下进行测试! session 1 SQL&g ...

  7. Oracle-DG最大保护模式下,dg备库出现问题对主库有什么影响?

    一.需求 疑问?Oracle最大保护模式下,dg备库出现问题,影响主库吗? 我们都知道Oracle最大保护模式的意思是oracle不允许数据丢失,1条记录都不行! 那么备库有问题? oracle主库还 ...

  8. linux下oracle11G DG搭建(三):环绕备库搭建操作

    linux下oracle11G DG搭建(三):环绕备库搭建操作 环境 名称 主库 备库 主机名 bjsrv shsrv 软件版本号 RedHat Enterprise5.5.Oracle 11g 1 ...

  9. 在已经编译安装好php7场景下,install gd库 with free-type (解决Call to undefined function imagettftext())

    在已经编译安装好php7场景下,install gd库 with free-type (解决Call to undefined function   imagettftext()) install g ...

  10. 备库Seconds_Behind_Master的计算

    背景 在mysql主备环境下,主备同步过程如下,主库更新产生binlog, 备库io线程拉取主库binlog生成relay log.备库sql线程执行relay log从而保持和主库同步. 理论上主库 ...

随机推荐

  1. 什么是RPA?

    RPA是Robotic Process Automation(机器人流程自动化)的简称,是以软件机器人及人工智能为基础的业务过程自动化科技.它让软件机器人自动处理大量重复的.基于规则的工作流程任务,能 ...

  2. 19.new和delete用于数组

    程序1: //2022年9月20日22:06:27 #include <iostream> #pragma warning(disable:4996) using namespace st ...

  3. requests发送post请求

    post请求 语法结构 requests.post(url,data = None,json = None) 参数说明 url:需要爬取的网站的网址 data:请求数据 json:json格式的数据 ...

  4. 商城网站毕业设计( Python +Vue)

    网站介绍 基于 python 开发的电子商城网站,平台采用 B/S 结构,后端采用主流的 Python 语言进行开发,前端采用主流的 Vue.js 进行开发.这是给师弟开发的毕业设计. 整个平台包括前 ...

  5. 为什么说 ICMP 协议是网络最强辅助

    大家好,我是风筝 轻解网络系列又来了.已有高清 PDF 版本可以离线阅读了,全册 65 页,如果有需要离线版的高清 PDF 可以直接下载. 今天咱们说说 ICMP 协议.ICMP 可谓是网络世界中的最 ...

  6. Redis高频40问

    Redis连环40问,绝对够全! Redis是什么? Redis(Remote Dictionary Server)是一个使用 C 语言编写的,高性能非关系型的键值对数据库.与传统数据库不同的是,Re ...

  7. docker方式实现postgres数据持久化离线安装

    保存镜像 root@hello:~# docker pull postgres Using default tag: latest latest: Pulling from library/postg ...

  8. Java 生成海报

    最近项目有个功能是生成海报 一个背景图片,一个二维码图片 将两个图片合并成一个图片. 写了一个工具类,需要的朋友自取. 1 @Component 2 public class PictureUtil ...

  9. day32:进程&进程join&守护进程deamon

    目录 1.进程的基本概念 2.进程初体验 3.join:先子后主 4.守护进程:deamon 5.使用自定义类的方式创建进程 6.两张和进程相关的图 进程的基本概念 什么是进程? 进程就是正在运行的程 ...

  10. 极简cfs公平调度算法

    1. 说明 1> linux内核关于task调度这块是比较复杂的,流程也比较长,要从源码一一讲清楚很容易看晕 2> 本篇文章主要是讲清楚cfs公平调度算法如何将task在时钟中断驱动下切换 ...