oracle11 dataguard,探索Oracle之11g DataGuard

article/2025/9/29 16:10:12

1、什么是DataGuard

DataGuard是Oracle推出的一项专门针对oracle数据库的高可用技术,在8i之前被称之为Standby Dtabase,从9i开始正式更名为DataGuard。通常情况下至少会有两个数据镜像节点构成的主备关系。通过redo日志的同步技术来保证数据的实时同步,可以实现数据库的主备快速切换实现数据的容灾。

2、为什么要用DataGuard

DataGuard 中文名又叫数据卫士,顾名思义,是为了保证数据安全ORACLE推出的一项技术,主要用于对数据安全性重视程度比较高的一些场合,比如:银行,电信等行业他们都在应用了非常多套的DataGuard数据卫士来保障数据的安全。

当然同时也用于数据库日常维护而不中断业务,比如例行停机,测试改变,升级维护等等。

3、DataGuard所带来的价值

可以实现数据的零丢失,维护的零停机,保证业务的持续在线运行,通过读写分离有效的分担数据库压力,降低由于各种原因宕机的风险。

4、DataGuard的体系架构

95905cbd98d60c42d0aba15760508b72.png

2f99df240525b403170d505bad400a22.png

691bb2bb7e99d852b3aa01775f86718f.png

5、DataGuard 是否安全

DataGuard的同步是通过redo传输并且在standby端应用实现数据的同步,那么它的同步链路是建立在Oracle Net之上,通过Oracle Net来进修数据的传输,其之间走的是SSL协议,SSL使用RSA公钥密码和对称密钥加密,提供身份验证、加密和数据完整性。SSL是自动用于重做运输验证在两个Oracle数据库。如果SSL身份验证需求没有得到满足,每个数据库必须使用远程登录密码文件。在一个DataGuard配置,所有物理和快照备用数据库必须使用密码文件的一个副本从主数据库,刷新副本须当SYSOPER或SYSDBA特权授予或撤销后,任何用户的密码与这些特权是改变

当一个密码文件是用于redo传输验证,密码文件中的的用户帐户用于redo传输各数据库之间的比较  启动一个redo传输会话和目标数据库。密码必须是同样在两个数据库中。默认情况下,系统用户的密码是用于验证重做运输  会话密码文件时使用。

6、DataGuard的三种保护模式

最大保护模式:

1)这种模式提供了最高级别的数据保护能力;

2)要求至少一个物理备库收到重做日志后,主库的事务才能够提交;

3)主库找不到合适的备库写入时,主库会自动关闭,防止未受保护的数据出现;

4)优点:该模式可以保证备库没有数据丢失;

5)缺点:主库的自动关闭会影响到主库的可用性,同时需要备库恢复后才能提交,对网络等客观条件要求非常的高,主库的性能会因此受到非常大的冲击。

最大可用性模式:1)该模式提供了仅次于“最大保护模式”的数据保护能力;

2)要求至少一个物理备库收到重做日志后,主库的事务才能够提交;

3)主库找不到合适的备库写入时,主库不会关闭,而是临时降低到“最大性能模式”模式,直到问题得到处理;

4)优点:该模式可以在没有问题出现的情况下,保证备库没有数据丢失,是一种折中的方法;

5)缺点:在正常运行的过程中缺点是主库的性能受到诸多因素的影响。

最大性能模式:1)该模式是默认模式,可以保证主数据库的最高可用性;

2)保证主库运行过程中不受备库的影响,主库事务正常提交,不因备库的任何问题影响到主库的运行;

4)优点:避免了备库对主数据库的性能和可用性影响;

5)缺点:如果与主库提交的事务相关的恢复数据没有发送到备库,这些事务数据将被丢失,不能保证数据无损失;

0b1331709591d260c1c78e86d0c51c18.png


http://chatgpt.dhexx.cn/article/sXxxRPo5.shtml

相关文章

oracle取消dataguard,Oracle Dataguard的强制切换

【前言】Dataguard的从库一般情况下都是出于数据的抽取和查询的作用的,但是万一在主库发生故障的情况下就需要切换到备库了。而这种故障的切换往往又是灾难性的情况:比如主库的服务器根本就起不来了,没有办法进行正常的切换,就需要…

Oracle19c DataGuard

为记录的更详细点,文章经过二次编辑,有几张图的时间对不上,不过不影响查阅。 CSDN排版不太友好,有些代码的进位都给省略了。 文章早就编辑好了,由于一些原因一直没发出来。 根据自己的环境,一定要仔细比对d…

oracle dataguard延迟,dataguard延迟日志应用的问题

本帖最后由 lfree 于 2012-12-11 12:07 编辑 我管的dataguard使用recover managed standby database disconnect from session delay 720。 我发现一个问题,如果使用asm作为存储,会出现"大量“读取操作。 snap.jpg (10 KB, 下载次数: 43) 2012-12-1…

Oracle Dataguard(主库为 Oracle rac 集群)配置教程(01)—— dataguard 服务器安装 Oracle 软件

Oracle Dataguard(主库为 Oracle rac 集群)配置教程(01)—— dataguard 服务器安装 Oracle 软件 / 本专栏详细讲解 Oracle Dataguard(Oracle 版本为11g,主库为双节点 Oracle rac 集群)的配置过程…

Oracle DataGuard

一、DataGuard介绍 DataGuard是Oracle的一种高可用性数据库方案,主要用于数据容灾和读写分离。 数据库角色 Primary:主库 Standby:备库 Standby类型 物理standby:redolog以介质恢复的方式实现同步。用于数据备份(11G也可以读写分离)。 逻辑…

Data Guard原理

文章来源于网络整理 DG通过提供冗余数据来提供数据保护 1.常用于异地容灾和小企业的高可用解决方案 2.虽然可以在Standby机器上执行只读查询,从而分散Primary数据库的性能压力,但是绝不是性能解决方案 DataGuard介绍 在DG环境中,至少会有两…

基于Java的员工工资管理系统

​ 源码编号:F-A15 项目类型:Java SE项目(awtswing) 项目名称:基于Java的员工工资管理系统(EmployeeSalary) 用户类型:双角色(员工、管理员) 主要技术:ja…

Java工程师工资水平出炉!真厉害了

Java因为其十分适用于企业级开发的特点,所以一直是国内大厂最主要使用的语言之一,也是应用最广泛的编程语言。 也由于Java主要用于开发企业级应用,市场需求同比其他语言来说会更大一些,自然它的起薪也相对较高,因而很多…

Java培训出来后一般多少工资

学完Java培训出来后一般多少工资呢?这是很多人都比较关心的一个问题,小编在这里告诉大家,java技术这个岗位分为初级、中级和高级,每个等级的工资情况也是不一样,来看看下面的详细介绍。 Java培训出来后一般多少工资?Java程序员薪…

2022上海Java工资收入概览

微信公众号,关注:georgezheng 越来越多的人选择从事IT,接触计算机互联网,除了学习复杂庞大的知识体系,也比较关注各地区Java工资收入,我收集了上海的信息做一次整理,数据来源职友集和平…

Java基础(员工工资管理系统)

项目介绍: 某公司的雇员分为以下若⼲类: SalariedEmployee:拿固定⼯资的员⼯。 HourlyEmployee:按⼩时拿⼯资的员⼯,每⽉⼯作超出160⼩时的部分按照1.5倍⼯资发放 SalesEmployee:销售⼈员,⼯资由⽉销售额和…

2020年5大一线城市Java薪资水平汇总,你还差多少呢?

程序员作为薪资最高的行业之一,一直是很多人转行的热门首选行业。Java程序员又在所有程序员中占比最大, 因此,Java程序员的薪资就能够很好的代表行业的薪资水准。 今天就为大家整理5大热门城市的Java薪资情况,看看你还差多少,你又想拿多少?或者你希望去哪个城市发展呢?…

Redis LRU

一:Redis内存驱逐的几种策略 检测易失数据(可能会过期的数据集server.db[i].expires ) ① volatile-lru:挑选最近最少使用的数据淘汰 ② volatile-lfu:挑选最近使用次数最少的数据淘汰 ③ volatile-ttl&#xff1a…

LRU链表及LRU缓存

注:本文分析基于linux-4.18.0-193.14.2.el8_2内核版本,即CentOS 8.2 1、 关于LRU LRU即Least recently used,也就是最近最少使用,一般用作缓存淘汰上,它的核心思想是——如果一个数据在最近一段时间没有被访问到&…

14.1 LRU链表

在最近几十年操作系统的发展过程中,有很多页面交换算法,其中每个算法都有各自的优点和缺点。linux内核中采用的页面交换算法主要是LRU算法和第二次机会法(second chance)。 LRU链表 LRU是least recently used(最近最少使用)的缩写…

mysql lru_MySQL · 源码分析 · InnoDB LRU List刷脏改进之路

之前的一篇内核月报MySQL 引擎特性 InnoDB Buffer Pool 中对InnoDB Buffer pool的整体进行了详细的介绍。文章已经提到了LRU List以及刷脏的工作原理。本篇文章着重从MySQL 5.7源码层面对LRU List刷脏的工作原理,以及Percona针对MySQL LRU Flush的一些性能问题所做…

图解LRU算法

目录 一、什么是LRU算法? 二、基于双向链表Map实现LRU算法 1. 用双向链表看成cache缓存, 数据存放在链表上的每个节点上。 2. 用Map记录访问cache的历史, 只要访问了 cache就将节点放置Map里。 3. 图解移动节点和淘汰策略过程 三、完整代码 四、借助LinkedHashMap实现 一…

mysql lru_浅析MySQL的lru链表

一、简述传统的LRU链表 LRU:Least Recently Used 相信大家对LRU链表是不陌生的,它算是一种基础的数据结构吧,而且想必面试时也被问到过什么是LRU链表,甚至是让你手写一个LRU链表。 想必你已经知道了MySQL的Buffer Pool机制以及MyS…

LRU实现算法

转载自:https://www.cnblogs.com/Dhouse/p/8615481.html 四种实现方式 LRU 1.1. 原理 LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过&#x…

Redis LRU算法

一、配置Redis内存淘汰策略 maxmemory 100mbmaxmemory-policy allkeys-lrumaxmemory-samples 5注意:Redis的LRU算法并非完整的实现,而是近似LRU的算法,详细介绍点击这里 二、LRU实现原理 1、双向链表 哈希表 1、哈希表:查找快&…