Oracle DG暂停主库日志传输、备库日志应用

news/2024/4/27 13:18:38/文章来源:https://blog.csdn.net/Sebastien23/article/details/129227559

Oracle DG暂停主库日志传输、备库日志应用

  • 查看主备库DG相关进程
  • DG日志传输:log_archive_dest_state_2
    • DG停止主库日志传输
    • DG恢复主库日志传输
  • DG日志应用:MRP进程
    • DG停止备库日志应用
    • DG恢复备库日志应用

查看主备库DG相关进程

主备库日志同步为异步模式:

SQL> show parameter log_archive_dest_2NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_2                   string      SERVICE=bangkokdg LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=bangkokdg

查看主库上与DG相关的进程:

SQL> select process,status,sequence#,thread# from v$managed_standby where process like 'LGWR';no rows selectedSQL> select process,status,sequence#,thread# from v$managed_standby where process like 'LNS%';PROCESS   STATUS        SEQUENCE#    THREAD#
--------- ------------ ---------- ----------
LNS       WRITING              18          1SQL> select process,status,sequence#,thread# from v$managed_standby where process like 'ARC%';PROCESS   STATUS        SEQUENCE#    THREAD#
--------- ------------ ---------- ----------
ARCH      CLOSING              17          1
ARCH      CONNECTED             0          0
ARCH      CLOSING              17          1
ARCH      CONNECTED             0          0SQL> select process,status,sequence#,thread# from v$managed_standby where process like 'FAL%';no rows selected

异步模式下,DG主库上的LNS进程负责把LGWR进程写好的联机重做日志传输到备库的RFS进程。

查看物理备库上与DG相关的进程:

SQL> select process,status,sequence#,thread# from v$managed_standby where process like 'RFS%';PROCESS   STATUS        SEQUENCE#    THREAD#
--------- ------------ ---------- ----------
RFS       IDLE                  0          1
RFS       IDLE                  0          0
RFS       IDLE                 18          1SQL> select process,status,sequence#,thread# from v$managed_standby where process like 'ARC%';PROCESS   STATUS        SEQUENCE#    THREAD#
--------- ------------ ---------- ----------
ARCH      CONNECTED             0          0
ARCH      CONNECTED             0          0
ARCH      CLOSING              17          1
ARCH      CONNECTED             0          0SQL> select process,status,sequence#,thread# from v$managed_standby where process like 'MRP%';PROCESS   STATUS        SEQUENCE#    THREAD#
--------- ------------ ---------- ----------
MRP0      APPLYING_LOG         18          1

DG物理备库上,RFS进程负责接收主库传输过来的日志,并将其写入备库重做日志(Standby Redo Log);ARCH进程负责对备库重做日志进行归档(Archived Redo Log);MRP进程负责应用归档重做日志,将其恢复到备库。

DG日志传输:log_archive_dest_state_2

DG停止主库日志传输

查看主库日志传输状态:

SQL> show parameter log_archive_dest_state_2NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_state_2             string      ENABLE

查看备库的延迟:

SQL> select * from v$archive_gap;no rows selectedSQL> select name,value,unit,time_computed from v$dataguard_stats where name in ('transport lag','apply lag');NAME                             VALUE                UNIT                           TIME_COMPUTED
-------------------------------- -------------------- ------------------------------ ------------------------------
transport lag                    +00 00:00:00         day(2) to second(0) interval   02/26/2023 14:33:14
apply lag                        +00 00:00:00         day(2) to second(0) interval   02/26/2023 14:33:14

可以看到,transport lag和apply lag都为0。

在主库暂停对备库的日志传输:

SQL> alter system set log_archive_dest_state_2='defer';System altered.SQL> alter system switch logfile;System altered.

查看主库上的LNS进程:

SQL> select process,status,sequence#,thread# from v$managed_standby where process like 'LNS%';no rows selected

可以看到,负责向备库传输日志的LNS进程没了。

查看备库上的RFS进程:

SQL> select process,status,sequence#,thread# from v$managed_standby where process like 'RFS%';PROCESS   STATUS        SEQUENCE#    THREAD#
--------- ------------ ---------- ----------
RFS       IDLE                  0          0

主库不做任何更新和插入的情况下,查看备库延迟:

SQL> select * from v$archive_gap;no rows selectedSQL> select name,value,unit,time_computed from v$dataguard_stats where name in ('transport lag','apply lag');NAME                             VALUE                UNIT                           TIME_COMPUTED
-------------------------------- -------------------- ------------------------------ ------------------------------
transport lag                    +00 00:00:00         day(2) to second(0) interval   02/26/2023 14:43:59
apply lag                        +00 00:00:00         day(2) to second(0) interval   02/26/2023 14:43:59

备库延迟信息没有变化。

在主库的应用库插入数据:

SQL> select * from miguel.rdr_npc;NPC_ID FIRST_NAME           LAST_NAME                   AGE MESSAGE
---------- -------------------- -------------------- ---------- ----------------------------------------1 Arthur               Morgan                       35 He's a good man.2 John                 Maston                       25 Revenge is a stupid game.3 Dutch                Vanderlin                    45 I have a god damn plan!

再次查看备库的延迟:

SQL> select * from v$archive_gap;no rows selectedSQL> select name,value,unit,time_computed from v$dataguard_stats where name in ('transport lag','apply lag');NAME                                     VALUE                UNIT                           TIME_COMPUTED
---------------------------------------- -------------------- ------------------------------ ------------------------------
transport lag                            +00 00:00:00         day(2) to second(0) interval   02/26/2023 15:01:57
apply lag                                +00 00:00:00         day(2) to second(0) interval   02/26/2023 15:01:57SQL> select * from miguel.rdr_npc;
select * from miguel.rdr_npc*
ERROR at line 1:
ORA-00942: table or view does not exist

延迟依然没有变化。但是也查不到主库上新创建的表。

查看备库的MRP进程:

SQL> select process,status,sequence#,thread# from v$managed_standby where process like 'MRP%';PROCESS   STATUS        SEQUENCE#    THREAD#
--------- ------------ ---------- ----------
MRP0      WAIT_FOR_LOG         19          1

显示在等待编号为19的日志序列(Log Sequence Number)。

查看主库日志归档情况:

SQL> select group#, thread#, sequence#, archived, status from v$log;GROUP#    THREAD#  SEQUENCE# ARC STATUS
---------- ---------- ---------- --- ----------------1          1         17 YES INACTIVE2          1         18 YES INACTIVE3          1         19 NO  CURRENT

显示编号为19的日志序列还未被归档。

DG恢复主库日志传输

在主库重新恢复对物理备库的传输:

SQL> alter system set log_archive_dest_state_2='enable';System altered.SQL> select process,status,sequence#,thread# from v$managed_standby where process like 'LNS%';PROCESS   STATUS        SEQUENCE#    THREAD#
--------- ------------ ---------- ----------
LNS       CONNECTED             0          0
LNS       WRITING              19          1

查看备库上的进程:

SQL> select process,status,sequence#,thread# from v$managed_standby where process like 'RFS%';PROCESS   STATUS        SEQUENCE#    THREAD#
--------- ------------ ---------- ----------
RFS       IDLE                  0          1
RFS       IDLE                  0          0
RFS       IDLE                 19          1SQL> select process,status,sequence#,thread# from v$managed_standby where process like 'MRP%';PROCESS   STATUS        SEQUENCE#    THREAD#
--------- ------------ ---------- ----------
MRP0      APPLYING_LOG         19          1SQL> select * from miguel.rdr_npc;NPC_ID FIRST_NAME           LAST_NAME                   AGE MESSAGE
---------- -------------------- -------------------- ---------- ----------------------------------------1 Arthur               Morgan                       35 He's a good man.2 John                 Maston                       25 Revenge is a stupid game.3 Dutch                Vanderlin                    45 I have a god damn plan!

DG日志应用:MRP进程

DG停止备库日志应用

在主库保持活跃的同时,停止备库的日志应用:

SQL> alter database recover managed standby database cancel;Database altered.

查看备库上的DG进程:

SQL> select process,status,sequence#,thread# from v$managed_standby where process like 'RFS%';PROCESS   STATUS        SEQUENCE#    THREAD#
--------- ------------ ---------- ----------
RFS       IDLE                  0          1
RFS       IDLE                  0          0
RFS       IDLE                 19          1SQL> select process,status,sequence#,thread# from v$managed_standby where process like 'MRP%';no rows selected

可以看到,负责应用归档重做日志的MRP0进程没了。

查看备库延迟:

SQL> select * from v$archive_gap;no rows selectedSQL> select name,value,unit,time_computed from v$dataguard_stats where name in ('transport lag','apply lag');NAME                                     VALUE                UNIT                           TIME_COMPUTED
---------------------------------------- -------------------- ------------------------------ ------------------------------
transport lag                            +00 00:00:00         day(2) to second(0) interval   02/26/2023 15:22:59
apply lag                                +00 00:02:40         day(2) to second(0) interval   02/26/2023 15:22:59SQL> /NAME                                     VALUE                UNIT                           TIME_COMPUTED
---------------------------------------- -------------------- ------------------------------ ------------------------------
transport lag                            +00 00:00:00         day(2) to second(0) interval   02/26/2023 15:23:18
apply lag                                +00 00:02:58         day(2) to second(0) interval   02/26/2023 15:23:18

可以看到,transport lag一直为0,但是apply lag随着时间一直在增长。

DG恢复备库日志应用

恢复备库的日志应用:

SQL> alter database recover managed standby database using current logfile disconnect from session;Database altered.

检查MRP进程:

SQL> select process,status,sequence#,thread# from v$managed_standby where process like 'MRP%';PROCESS   STATUS        SEQUENCE#    THREAD#
--------- ------------ ---------- ----------
MRP0      APPLYING_LOG         19          1

检查备库延迟:

SQL> select name,value,unit,time_computed from v$dataguard_stats where name in ('transport lag','apply lag');NAME                                     VALUE                UNIT                           TIME_COMPUTED
---------------------------------------- -------------------- ------------------------------ ------------------------------
transport lag                            +00 00:00:00         day(2) to second(0) interval   02/26/2023 15:35:26
apply lag                                +00 00:00:00         day(2) to second(0) interval   02/26/2023 15:35:26

可以看到,apply lag已经降到0了。

References
[1] https://www.modb.pro/db/99314
[2] https://blog.csdn.net/Sebastien23/article/details/125821548
[3] https://docs.oracle.com/en/database/oracle/oracle-database/12.2/refrn/LOG_ARCHIVE_DEST_STATE_n.html#GUID-983A9C52-3046-4286-AEA7-800741EE0561

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_74362.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

链表(一):移除链表元素、设计链表等力扣经典链表题目

203.移除链表元素相关题目链接:力扣 - 移除链表元素题目重现给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。思路链表的删除操作如上图所示,我们需要先找到要删除的…

物联网的新应用--触摸物联网

摘要:本文介绍一下触摸物联网的新进展--电子皮肤的物联网应用。还以为物联网的作用领域单单是从现场采集数据或者传输命令到执行设备吗?不,物联网的应用范围远比控制一盏灯大的多。据网上报道,香港城市大学(城大&#…

响应性基础API

一.什么是proxy和懒代理?什么是proxy?proxy对象是用于定义基本操作的自定义行为(如:属性查找,赋值,枚举,函数调用等等)。什么是懒代理?懒代理:在初始化的时候不会进行全部代理,而是…

简历信息提取论文笔记Information Extraction from Resume Documents in PDF Format

标题:Information Extraction from Resume Documents in PDF Format下载地址:https://library.imaging.org/ei/articles/28/17/art00013长度:8页发表时间:2016引用量cite27先读标题、摘要、结论、然后 methods/experiment design,…

Zebec社区上线ZIP-2(地平线升级行动)提案,海量激励将被释放

此前,Zebec社区在上线了投票治理系统Zebec Node后,曾上线了首个提案ZIP-1,对 Nautilus Chain 的推出进行了投票,作为 Zebec Chain 上线前的“先行链”,该链得到了社区用户的欢迎,投通过票的比例高达98.3%。…

Spring之丐版IOC实现

文章目录IOC控制反转依赖注入Bean的自动装配方式丐版IOC实现BeanDefinition.javaResourceLoader.javaBeanRegister.javaBean和DI的注解BeanFactory.javaApplicationContext测试,实现在这里插入图片描述大家好,我是Leo。Spring核心中依赖注入和IOC容器是非…

Springboot整合 Thymeleaf增删改查一篇就够了

很早之前写过Thymeleaf的文章,所以重新温习一下,非前后端分离,仅仅只是学习 官网: https://www.thymeleaf.org/ SpringBoot可以快速生成Spring应用,简化配置,自动装配,开箱即用。 JavaConfigur…

Python每日一练(20230226)

目录 1. 合并列表中字典字段 ★ 2. 乘积最大子数组 ★★ 3. 加油站 ★★ 附录 贪心算法 一般步骤 使用条件 存在问题 应用实例 1. 合并列表中字典字段 如下两个列表,需要将oldList转化为newList,去掉相同字段的字典,并且去掉的参…

【RockerMQ】002-RockerMQ 基本概念、系统架构

【RockerMQ】002-RockerMQ 基本概念、系统架构 文章目录【RockerMQ】002-RockerMQ 基本概念、系统架构一、基本概念1、消息(Message)2、主题(Topic)3、标签(Tag)4、队列(Queue)5、消…

MySql触发器学习

文章目录1 触发器1.1介绍1.2 创建触发器1.2 删除触发器1.3查看触发器1 触发器 1.1介绍 触发器是与表有关的数据库对象,指在 insert/update/delete 之前或之后,触发并执行触发器中定义的SQL语句集合。触发器的这种特性可以协助应用在数据库端确保数据的…

解决前端组件下拉框选择功能失效问题

问题: 页面下拉框选择功能失效 现象: 在下拉框有默认值的情况下,点击下拉框的其他值,发现并没有切换到其他值 但是在下拉框没默认值的情况下,功能就正常 原因 select 已经绑定选项(有默认值) 在…

Java异常架构与异常关键字

Java异常简介 Java异常是Java提供的一种识别及响应错误的一致性机制。 Java异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并提高程序健壮性。在有效使用异常的情况下,异常能清晰的回答what, where, why这3个问…

keepalive + nginx 来实现 对于nginx的高可用, 以及如何搭建主备模式

keepalive nginx 来实现 对于nginx的高可用, 以及如何搭建主备模式。 keeplived简介 Keepalived是用纯ANSI/ISO C编写的。该软件围绕一个中央I/O多路复用器进行连接,以提供实时网络设计。 1.1 Keepalived进程被分为3个不同进程 A.一个极简的父进程&#xff0c…

【JavaSE】复习(进阶)

文章目录1.final关键字2.常量3.抽象类3.1概括3.2 抽象方法4. 接口4.1 接口在开发中的作用4.2类型和类型之间的关系4.3抽象类和接口的区别5.包机制和import5.1 包机制5.2 import6.访问控制权限7.Object7.1 toString()7.2 equals()7.3 String类重写了toString和equals8.内部类8.1…

【深度学习】什么是线性回归逻辑回归单层神经元的缺陷

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录逻辑回归&线性回归单层神经元的缺陷单层神经元的缺陷逻辑回归&线性回归 线性回归预测的是一个连续值, 逻辑回归给出的”是”和“否”的回答. 等…

4、算法MATLAB---认识矩阵

认识矩阵1、矩阵定义和基本运算1.1 赋值运算符:1.2 等号运算符:1.3 空矩阵1.4 一行一列矩阵1.5 行矩阵(元素用空格或逗号分隔)1.6 列矩阵(分号表示换行)1.7 m行n列的矩阵:行值用逗号间隔&#x…

如何在Linux中实现进程间通信

致前行路上的人: 要努力,但不要着急,繁花锦簇,硕果累累都需要过程! 目录 1.进程间通信介绍 1.1进程间通信的目的 1.2进程间通信发展 1.3进程间通信分类 1.4进程间通信的本质 2.管道 2.1什么是管道 2.2管道与进程的关系…

轻量级网络模型ShuffleNet V2

在学习ShuffleNet V2内容前需要简单了解卷积神经网络和MobileNet,以及Shuffnet V1的相关内容,大家可以出门左转,去看我之前的几篇博客MobileNet发展脉络(V1-V2-V3),轻量级网络模型ShuffleNet V1🆗&#xff…

Android 高工分享一波性能优化的总结~

随着 Android 开发越来越规范,国内工程师的素质,以及用户对产品的要求也越来越高。这也间接导致我们对研发项目的质量要求到了近乎苛刻的地步,**内存优化、UI 卡顿优化、App 崩溃监控等性能调优也逐渐成了人手必备的技能。**工作之余&#xf…

【数据挖掘】1、综述:背景、数据的特征、数据挖掘的六大应用方向、有趣的案例

目录一、背景1.1 学习资料1.2 数据的特征1.3 数据挖掘的应用案例1.4 获取数据集1.5 数据挖掘的定义二、分类三、聚类四、关联分析五、回归六、可视化七、数据预处理八、有趣的案例8.1 隐私保护8.2 云计算的弹性资源8.3 并行计算九、总结一、背景 1.1 学习资料 推荐书籍如下&a…