Oracle DataGuard 保护级别

Oracle DataGuard 保护级别介绍

ADG 有三个保护级别,如下: 

一、MAXIMUM PROTECTION 
特点:
1、数据0丢失
2、最高级别保护
3、主备必须采用 OPTIONAL LGWR SYNC AFFIRM 的传输方式
4、备机必须启用 standby redo log
5、如果备机不可用(如断网、宕机),主机数据库也会shutdown,所以这种模式下,备机数量最好是2台或者以上
模式修改方式
SQL> STARTUP MOUNT
SQL> ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PROTECTION;
SQL> ALTER DATABASE OPEN;
 
二、MAXIMUM AVAILABILITY 
特点:
1、数据0丢失
2、第二高级别的数据保护
3、主备必须使用 OPTIONAL LGWR SYNC AFFIRM 传输方式
4、备机必须启用 standby redo log
5、如果备机shutdown,主机不会跟着shutdown,备机崩溃后,主机自动切换到 MAXIMUM PERFORMANCE
模式修改方式
SQL> STARTUP MOUNT
SQL> ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE AVAILABILITY;
SQL> ALTER DATABASE OPEN;
 
三、MAXIMUM PERFORMANCE
默认保护级别。
如果不考虑上述配置,默认保护级别就是最大性能,这种模式下,必须主库重做日志归档后,才会提交到备库
模式修改方式
SQL> STARTUP MOUNT
SQL> ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE;
SQL> ALTER DATABASE OPEN;

四、保护模式切换
注意三种模式的切换顺序:
首先 performance > availability > protection 顺序需要在主库执行且主库必须处于mount状态;
如果已经由 performance > availability > protection 保护级别切换过1次,那再次操作时可直接切换;
如果是由 protection > availability > performance 顺序可以直接切换。

以最大性能切换到最大可用模式举例,如下:
注:切换模式要在非open状态执行,所以主库需要先shutdown,再启动到mount后执行切换模式命令;备库正常情況下可直接执行切换模式命令。
主库配置
1、主库参数更改
SQL>altersystemsetlog_archive_dest_2='Service=standby.com LGWR SYNC AFFIRM REOPEN=300 VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=standby.com' scope=spfile;
2、更改为最大可用模式
SQL> shutdown immediate
SQL> startup mount;
SQL> alter database set standby database to maximize availability;
SQL> alter database open;
备库配置
1、备库参数更改
SQL>altersystemsetlog_archive_dest_2='Service=primary.com LGWR SYNC AFFIRM REOPEN=300 VALID_FOR= (ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=primary.com'scope=spfile;
2、更改备库为最大可用模式
SQL> alter database set standby database to maximize availability;
3、重新启动备库
SQL> shutdown immediate
SQL> startup nomount;
SQL> alter database mount standby database;
SQL> alter database recover managed standby database disconnect from session;

查看当前保护模式
SQL> select DATABASE_ROLE,PROTECTION_MODE,PROTECTION_LEVEL from v$database;

查看备库已经归档的redo
SQL> select registrar,creator,thread#,sequence#,first_change#,next_change# from v$archived_log;

查看备库是否和主库同步
SQL> select sequence#,status from v$log;
SQL> select archived_thread#,archived_seq#,applied_thread#,applied_seq# from v$archive_dest_status;

查看备库已经应用的redo
SQL> select thread#,sequence#,first_change#,next_change# from v$log_history;
 
注:还有 RESUNCHRONIZATION 状态,出现这种情况可能是由于standby数据库shutdown后,primary数据库保护级别切换为等待同步。 

五、ADG 常用参数解释
如主库log_archive_dest_n参数设置:
*.log_archive_dest_2='service=orcl lgwr sync affirm valid_for=(online_logfiles,primary_role) db_unique_name=orcl'

参数设置涉及的各个选项含义:
arch:
只支持最大性能模式。归档日志通过primary上的arch进程传送给standby的rfs进程,保存到指定路径(如果有standby redo logfile,则保存到该位置,然后再归档),最后应用redo。

lgwr:
primary使用LGWR即时将日志传送到standby的rfs进程,并保存到standby redo logfile中,不再需要等到归档操作时才传送,保存到standby redo logfile,然后再归档,最后应用redo。
用LGWR传输大致如下:
1)主库:只要有新的重做日志产生,lgwr进程将触发LNSn进程把新生成的日志传输给备库rfs进程。
2)备库:rfs进程接收到日志后,将其写入standby重做日志,如果备库开启了实时应用,就立即应用redo日志,如果没有开启,则需要等待standby重做日志归档后再应用。
3)其中,async 和 sync 的区别在于:sync是在redo还在内存时,LNSn进程就开始传输,而async是在redo写到online redo log后,LNSn才开始传输。

同步的实时性:
lgwr(sync) > lgwr(async)> arch
sync模式下,主库只要一产生redo,就会立即触发网络传输,传给备库RFS进程;
async模式下,主库产生redo时,先写到本地online redo logfile文件中,LNSn进程从online redo logfile文件中抓取redo数据通过网络传输给备库RFS进程。

affirm:
在LGWR将redo写入磁盘前,所有归档日志必须同步写完,确保主库宕掉后不会造成数据丢失。

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

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

相关文章

了解K8s集群kubectl命令进行陈述式资源管理

前言 在 Kubernetes 集群中,通过陈述式和声明式资源管理是确保应用程序高效运行的关键。认识这两种管理方法,能够更好地掌握 Kubernetes 集群的运维和管理。 目录 一、K8s 资源管理操作分类 1. 陈述式 2. 声明式 3. K8s 集群管理常用命令概览 二…

基于瑞萨RA6M5的自控衣橱

1. 主控转接板原理图和PCB设计 2. 屏幕界面设计 3. 程序设计 4. QT设计 QT设计,读取MQTT数据,在QT上显示衣橱内部的温度,湿度情况,且能够控制衣橱的开关门,开关灯等。 5. 实物演示 瑞萨

数据库缓存 buffer pool详解

什么是buffer pool buffer pool, 又称之缓存池, 是mysql中为了提升查询性能而引入的缓存, 如果每次查询和修改都去操作磁盘的话, 性能就会很差, 从而引入 Buffer Pool包含多个缓冲页(默认大小通常为16KB),每个缓冲页都有对应的控制信息&#…

Python 机器学习 基础 之 模型评估与改进 【评估指标与评分】的简单说明

Python 机器学习 基础 之 模型评估与改进 【评估指标与评分】的简单说明 目录 Python 机器学习 基础 之 模型评估与改进 【评估指标与评分】的简单说明 一、简单介绍 二、评估指标与评分 1、牢记最终目标 2、二分类指标 1)错误类型 2)不平衡数据集…

【产品运营】对接上游电商平台需要了解什么?

围绕卖家和平台的运营模式等维度,ISV对接平台可以划分为业务域、开放能力域和产品能力域。 ISV对接平台的最终目地是打通多方数据传输,解决卖家日常运营中的场景起到类似于业务中台的作用。因此我们可以围绕卖家和平台的运营模式等维度划分为&#xff1a…

Qt多进程-共享内存(Shared Memory)

在Qt中使用共享内存(Shared Memory)进行多进程程序开发,主要涉及以下步骤、代码示例和相关注意事项: 步骤: 创建共享内存区域: 使用QSharedMemory类来创建一个共享内存对象。设定一个唯一的共享内存键名&…

R可视化:可直接发表的柱状图

可发表的柱状图 介绍 柱状图可视化 加载R包 knitr::opts_chunk$set(echo = TRUE, message = FALSE, warning = FALSE) library(tidyverse) library(ggpubr) library(plyr) library(ggprism)rm(list = ls()) options(stringsAsFactors = F)# group & color dose_names &…

IntelliJ IDEA中Terminate 与 Disconnect的区别

Terminate 与 Disconnect的区别 Terminate:关工具之前,先关闭运行中的项目(kill pid的那种) Disconnect:单纯关闭工具,通过工具启动的东西,依旧在运行

mstsc 远程银河麒麟桌

安装 1.银河麒麟终端apt-get安装xrdp sudo apt-get install -y xrdp 2.银河麒麟终端启动xrdp sudo systemctl start xrdp 3.银河麒麟终端检查3389端口 netstat -tnpl 4. win10电脑mstsc 远程桌面登录 在win10系统命令行,输入mstsc打开远程连接窗口&#xff…

AWS迁移与传输之Migration Hub

AWS Migration Hub是一种集中化的迁移管理服务,可帮助企业规划、跟踪和管理在亚马逊云中进行的各种迁移活动。包括应用程序迁移、数据库迁移、服务器迁移等。 AWS Migration Hub (Migration Hub) 提供一个位置来跟踪使用多个 AWS 工具和合作伙伴解决方案的迁移任务…

【全开源】民宿酒店预订管理系统(ThinkPHP+uniapp+uView)

民宿酒店预订管理系统 特色功能: 客户管理:该功能可以帮助民宿管理者更加有效地管理客户信息,包括客户的姓名、电话、地址、身份证号码等,并可以在客户的订单中了解客户的消费情况,从而更好地满足客户的需求&#xff…

【JavaEE初阶】HTTP协议|HTTP请求方法|GET|POST|GET和POST的区别|问题辨析

目录 认识"⽅法"(method) 1.GET⽅法 GET请求的特点 2.POST⽅法 POST请求的特点 💡经典⾯试题:谈谈GET和POST的区别 💡问题辨析: 3.其他⽅法 💡推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂…

Cache 缓存实现类简单使用

Cache 缓存实现类 拿来当Redis用就行了,不过Hutool 缓存库主要是为了实现本地缓存;用在数据量不大,短期频繁访问的数据。 FIFO(先进先出)缓存:按照数据进入缓存的顺序,最先进入缓存的数据会被…

零基础学Java第二十五天之函数式接口

函数式接口 简介 函数式接口是指仅仅只包含一个抽象方法的接口,jdk1.8提供了一个FunctionalInterface注解来定义函数式接口,如果我们定义的接口不符合函数式的规范便会报错。配合Lambda表达式一起使用 四大核心函数式接口 函数式接口参数类型返回类型用…

【算法刷题day60】Leetcode:84. 柱状图中最大的矩形

文章目录 Leetcode 84. 柱状图中最大的矩形解题思路代码总结 草稿图网站 java的Deque Leetcode 84. 柱状图中最大的矩形 题目:84. 柱状图中最大的矩形 解析:代码随想录解析 解题思路 反方向接雨水。见上一篇文章 代码 class Solution {public int la…

六一儿童节创意项目:教你用HTML5和CSS3制作可爱的雪糕动画

六一儿童节快到了,这是一个充满童趣和欢乐的日子。为了给孩子们增添一份节日惊喜,我们决定用HTML5和CSS3制作一个生动有趣的雪糕动画。通过这个项目,不仅能提升你的前端技能,还能带给孩子们一份特别的节日礼物。无论你是前端开发新…

第一个Flutter3项目

配置flutter国内源 首先,配置flutter的国内源: env:PUB_HOSTED_URL"https://pub.flutter-io.cn"; env:FLUTTER_STORAGE_BASE_URL"https://storage.flutter-io.cn"配置gradle国内源 修改gradle\wrapper\gradle-wrapper.properties…

layui table在不发送请求时更新templet操作列

使用的layui的版本为2.4.5 更高的版本好像已经有了更新templet列的方法 而低版本的好像是没有 // 在列表中添加 templet: #opTpl , {field: opTpl, title: 操作, fixed: left, width: 290, templet: #opTpl}// 所定义的操作列按钮 <script id"opTpl" type"t…

组件的传参等

一:组件的生命周期函数 组件的生命周期函数: created只是创建了组件内的实例对象 attached,给组件实例绑定了属性,绑定到页面节点树之后 ready准备好渲染之后,还未渲染之前 moved组件实例被移动到另一个位置后执行 detached在整个组件被被移除执行 error执行的时候,组件内…

yolo 算法 易主

标题&#xff1a;YOLOv10: Real-Time End-to-End Object Detection 论文&#xff1a;https://arxiv.org/pdf/2405.14458ethttps%3A//arxiv.org/pdf/2405.14458.zhihu.com/?targethttps%3A//arxiv.org/pdf/2405.14458 源码&#xff1a;https://github.com/THU-MIG/yolov10 分析…