DG Broker部署DG

本文档详述了如何部署Oracle Data Guard (DG),从单机到单机的配置,包括Dataguard保护模式说明、环境配置、主备库设置、DG Broker配置、切换管理以及保护模式切换等步骤,旨在确保数据库高可用性和安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DG Broker部署DG(单机到单机)

文章目录

一、Dataguard概要说明

1)DG保护模式

最大保护 最大可用 最大性能
进程 LGWR LGWR LGWR/ARCH
事务网络传输确认 SYNC SYNC ASYNC
事务落盘确认 AFFIRM AFFIRM NOAFFIRM
备库类型 物理 物理或逻辑 物理或逻辑
备用日志 yes
1).最大性能(maximize performance):
这是默认的保护模式。primay上的事务commit前不需要从standby上收到primary故障时可能丢失数据, 但standby对primary的性能影响最小。这种保护模式(默认)提供了可能的最高级别的数据保护,而不影响主数据库的性能。这是通过允许事务在恢复该事务所需重做数据在写到本地联机重做日志后立即提交而实现的。主数据库的重做数据流也写到至少一个备数据库,但是那个重做流相对于创建重做数据的事务是异步写的。当所用的网络连接有足够的带宽,这种模式提供了近似于最大可用性模式的数据保护级别,并且对主数据库性能的影响最小。

最大保护和最大可用性模式需要备重做日志文件配置在配置中的至少一个备数据库上。所有三种保护模式需要在LOG_ARCHIVE_DEST_n 初始化参数上指定特定的日志传输属性以发送重做数据到至少一个备数据库。

2).最大可用(maximize availability):
在正常情况下,最大可用模式和最大保护模式一样:在standby不可用时,最大可用模式自动最大性能模式,所以standby故障不会导致primay不可用。只要至少有一个standby可用的情况下,即使primarydown机,也能保证不丢失数据。 这种保护模式提供了可能的最高级别的数据保护,而不用与主数据库的可用性相折衷。与最大保护模式相同,在恢复事务所需的重做写到本地联机重做日志和至少一个事务一致性备数据库上的备重做日志之前,事务将不会提交。与最大保护模式不同的是,如果故障导致主数据库无法写重做流到异地备重做日志时,主数据库不会关闭。替代地,主数据库以最大性能模式运行直到故障消除,并且解决所有重做日志文件中的中断。当所有中断解决之后,主数据库自动继续以最大可用性模式运行。

这种模式确保如果主数据库故障,但是只有当第二次故障没有阻止完整的重做数据集从主数据库发送到至少一个备数据库时,不发生数据丢失。

3).最大保护(maximize protection):
最高级别的保护模式。primay上的事务在commit前必须确认redo已经传递到至少一个standby上,如果所有 standby不可用,则primary会挂起。该模式能保证零数据丢失。这种保护模式确保如果主数据库发生故障不会发生数据丢失。要提供这种级别的保护,恢复每个事务所需的重做数据必须在事务提交之前同时写到本地联机重做日志和至少一个备数据库上的备重做日志。要确保不发生数据丢失,如果故障导致主数据库无法写重做流到至少一个事务一致性备数据库的备重做日志时,主数据库会关闭。比如说用户commit,此时候会刷新redobuffer写入redolog中。在此模式时候,必须要保证redo

2)保护模式修改方式

#主库执行
# 查看模式
select database_role,protection_mode,protection_level from v$database;

# 最大性能
alter database set standby database to maximize PERFORMANCE;

# 最大保护
alter database set standby database to maximize protection;

# 最高可用
alter database set standby database to maximize availability;

二、环境配置

内容 主库 备库
IP 192.168.33.11 192.168.33.12
操作系统 Oracle Linux 7.9 Oracle Linux 7.9
数据库架构 单机 单机
数据库版本 Oracle 19c Oracle 19c
DB Unique Name orcl ORCLDG
主机名 dgpri dgstby

三、DG配置部署

1、主库配置

1)开启归档和force logging
设置主机名
主:hostnamectl set-hostname dbpri
备:hostnamectl set-hostname dbstby

vi /etc/hosts
192.168.33.11 dgpri
192.168.33.12 dgstby

shutdown immediate;
startup mount;
alter database archivelog;
alter database open;
alter database force logging;

在这里插入图片描述

2)根据当前在线日志大小增加standby log
sqlplus / as sysdba

select group#,bytes/1024/1024,status from v$log;

alter database add standby logfile 
group 4 ('/u01/app/oracle/oradata/ORCL/redo04.log')  size 200M,
group 5 ('/u01/app/oracle/oradata/ORCL/redo05.log')  size 200M,
group 6 ('/u01/app/oracle/oradata/ORCL/redo06.log')  size 200M,
group 7 ('/u01/app/oracle/oradata/ORCL/redo07.log')  size 200M;
exit;
3)开启flashback
# 确保有目录且分配了闪回区大小
mkdir -p /u01/app/oracle/flash

# 开启flash
sqlplus / as sysdba
alter system set db_recovery_file_dest_size=10g scope=both  sid='*';
alter system set db_recovery_file_dest='/u01/app/oracle/flash' 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值