oracle dataguard详细,Oracle数据库DataGuard参数配置与参数详解

article/2025/9/29 16:08:34

oracle数据库Data Guard参数配置与参数详解

1. Oracle 11g Dataguard参数详解

就Oracle Data Guard来说,我们只关注如下三种参数:

1 独立于数据库角色的参数

2 数据库角色为primary时的参数

3 数据库角色为standby时的参数

虽然DG有着非常多的配置参数,我们实际使用的只有其中很少的部分,而且因为现在许多的DG功能被集成到了代码中,最近的DG版本中很多配置参数已经被弃用了。需要注意的是,为了便于完成数据库的角色转换(Role transition),与TNS names,listener,SRL(Standby Redo log)文件有关的参数需要在所有数据库中配置。

d974c3cead288c0b3afc8a01dff22743.gif

Oracle数据库Data Guard参数配置与参数详解1.jpg (239.72 KB, 下载次数: 52)

Oracle数据库Data Guard参数配置与参数详解1

2014-4-29 14:55 上传

d974c3cead288c0b3afc8a01dff22743.gif

Oracle数据库Data Guard参数配置与参数详解2.jpg (424.75 KB, 下载次数: 55)

Oracle数据库Data Guard参数配置与参数详解2

2014-4-29 14:55 上传

1 Oracle Dataguard独立参数

1.1.1. DB_UNIQUE_NAME

该参数定义了数据库的唯一名称。因为DB_NAME参数需要满足与物理备用数据库(Physical standby)名称保持一致,和逻辑备用数据库(logical standby)名称不相同的条件,所以在10g中该参数被引入用来区分DG配置中的每一个数据库角色。这个参数需要在所有的数据库中配置,同时需要重启数据库才能生效。如果不配置这个参数,那么默认会使用DB_NAME参数,这就意味着我们不需要关闭生产库来完成备用数据库的配置工作,我们可以在之后进行配置。

db_unique_name='Matrix'

1.1.2. LOG_ARCHIVE_CONFIG

该参数定义了DG配置中可用的DB_UNIQUE_NAME参数值列表。与目标参数(稍后讨论)DB_UNIQUE_NAME的值结合使用时,DG以它们来实现两个数据库之间连接的安全性检查工作。只要不指定SEND和RECEIVE属性,这个参数就是动态的,这两个属性是旧参数REMOTE_ARCHIVE_ENABLE遗留下来的,已经不再需要,因此就不要再使用了。

在实际使用时,你只需要将其他数据库的唯一名称添加到配置就可以了,当前数据库的唯一名会根据场景自动添加;不过为了清晰期间,并且在所有的数据库中保持该参数的一致性,还是会将当前数据库的唯一名称明确的添加上去。对于名称的配置顺序没有要求,该参数在有RAC的环境中是必须要配置的,应该始终使用该参数。

log_archive_config='dg_config=(Matrix,Matrix_DR0)'

1.1.3. CONTROL_FILES

大家都知道这个参数的用途啦(注:当前数据库控制文件的位置),要记住对于备用数据库,它指向的是备用控制文件(Standby Control File)的位置。这个控制文件是自动创建的,或者手动创建,取决于你创建备用数据库的方法。(注:自动创建通常发生在使用RMAN功能产生备用数据库过程中,如果你是用的是手工方法,控制文件需要手动的从主库copy过来)

control_files='/Oracle/oradata/Matrix/control01.ctl'

1.1.4. LOG_ARCHIVE_MAX_PROCESSES

提到这个参数是因为它的默认值仍然是2,太小了。在主库中,归档进程负责归档已经写满的在线日志文件(Online Redo Log)并作为重做流(Redo Steam)传输到备用数据库来完成间隔处理(Gap);在备库中,归档进程则是负责归档备库日志文件(Standby Redo Log)并且将其转发到它的级联备用数据库中。(注:级联备用数据库是指当前备用数据库的下一级备库,即Standby的Standby,从这里可以看出不管什么数据库角色,归档进程的工作的内容都是一样的:1,归档日志文件;2,转发日志文件到Standby)

在主库中,有一个归档进程仅限于对在线日志文件提供服务,无权与备库进行通信,这个特殊的ARCH进程被称为“专用ARCH进程”,而其他归档进程是可以完成这两样功能的。当归档进程向备库发送归档日志文件,就无法协助归档ORL文件了;尽管归档进程的主要指令是“先归档在线日志文件,再处理主备库的间隔,”但是在最坏的情况下,仍然可能只有一个归档进程在进行归档任务。如果没有足够的归档进程,在慢速网络,主备库间出现大的日志间隔的时候,你可能就只有那么一个进程在处理日志文件。这里就会有个非常棘手的问题,那就是如果这个时候你所有的日志文件都已经写满,生产库就停滞了,直到其中的一个文件被归档。在10g中引入了多线程间隔处理特性(MAX_CONNECTIONS),它允许DG使用多个归档进程向备用数据库发送单个日志文件,这就意味这我们会使用更多的归档日志进程;因此,这个参数至少要设置4,最大值为30。

log_archive_max_processes='4'

备库专用ARCH进程

需要注意的是,备用数据库中也有一个“备库专用ARCH进程”,不过这仅仅意味着在备库中少了一个可以归档SRL文件归档进程而已,在物理备用中,这个专用ARCH进程是没有归档SRL文件功能的。

使用多个归档进程时需要注意一点,虽然增加归档进程可以减少生产环境中断的可能,但是大量的归档进程会增加主备切换(Switchover)的时间,因为这需要唤醒所有的归档进程并使他们退出。我们可以通过在执行切换前将该参数调低来避免这种情况。此外,在11g中引入了新的流式功能(Streaming Capability),如果正好主备库间的日志间隔非常大,过多的归档进程传输会把整个网络带宽充满。

1.1.5. DB_CREATE_FILE_DEST

虽然这不是DG特有的参数,不过还是需要介绍一下的,因为如果你在备库中使用了ASM,这个参数是要定义的。

db_create_file_dest=+DATA

如果需要了解以下更详细的参数介绍,请下载附件的PDF文档:

Oracle数据库Data Guard参数配置与参数详解.pdf

2 Oracle Dataguard主库参数1.2.1 LOG_ARCHIVE_DEST_n

下面是必须的属性:1.2.2 SERVICE

1.2.3 SYNC

1.2.4 ASYNC

1.2.5 NET_TIMEOUT1.2.6 REOPEN

1.2.7 DB_UNIQUE_NAME

1.2.8 VALID_FOR

下面是可选属性:

1.2.9 AFFIRM

1.2.10 NOAFFIRM

1.2.11 COMPRESSION

1.2.12 MAX_CONNECTIONS

1.2.13 DELAY

1.2.14 ALTERNATE

建议不要使用以下的属性:

1.2.15 LOCATION

1.2.16 MANDATORY

1.2.17 MAX_FAILURE

1.2.18 NOREGISTER1.2.19 LOG_ARCHIVE_DEST_STATE_n

3 Oracle Dataguard备库参数1.3.1 DB_FILE_NAME_CONVERT

1.3.2 LOG_FILE_NAME_CONVERT

1.3.3 FAL_SERVER

1.3.4 FAL_CLIENT

1.3.5 STANDBY_FILE_MANAGEMENT

4 Oracle Dataguard参数与属性小结

如果需要了解更详细的参数介绍,请下载附件的PDF文档:

Oracle数据库Data Guard参数配置与参数详解.pdf


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

相关文章

oracle11 dataguard,探索Oracle之11g DataGuard

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

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…