Oracle 11g DataGuard分析

分类:编程技术 时间:2024-02-20 15:46 浏览:0 评论:0
0
本文主要讲解《Oracle 11g DataGuard分析》。文章中的讲解内容简单明了,易学易懂。请跟随小编的思路慢慢深入,一起研究学习《Oracle中11g DataGuard分析》。酒吧!

1.什么是DataGuard

DataGuard是Oracle专门针对Oracle数据库推出的一项高可用性技术。在8i之前称为Standby Dtabase,从9i开始正式更名。对于数据卫士。通常存在至少两个数据镜像节点组成的主从关系。采用重做日志同步技术保证数据实时同步,并可实现主备数据库快速切换,实现数据容灾。

2.为什么使用DataGuard

DataGuard的中文名称也叫Data Guard。顾名思义,它是ORACLE为了保证数据安全而推出的一项技术。它迈仅用于一些对数据安全高度重视的场合,如银行、电信等行业。他们都使用多套DataGuard数据卫士来保证数据安全。

当然,也用于在不中断业务的情况下对数据库进行日常维护,如例行关机、测试变更、升级维护等。

3. DataGuard带来的价值

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

4. DataGuard的架构

5. DataGuard安全吗?

DataGuard的同步是通过redo传输的方式进行的,用于备侧实现数据同步。然后在Oracle Net上建立其同步链路,通过Oracle学习数据传输Net,而SSL则介于两者之间。 SSL 协议使用 RSA 公钥密码和对称密钥加密来提供身份验证、加密和数据完整性。 SSL 自动用于两个 Oracle 数据库上的重做传送验证。如果不满足 SSL 身份验证要求,则每个数据库必须使用远程登录密码文件。在 DataGuard 配置中,所有物理和快照备用数据库必须使用主数据库中的密码文件的副本。当授予或撤销 SYSOPER 或 SYSDBA 权限以及更改具有这些权限的任何用户的密码时,必须刷新副本

当密码文件用于重做传输身份验证时,密码文件中的用户帐户用于重做传输,每个数据库启动重做传输会话与目标数据库之间的比较。两个数据库中的密码必须相同。默认情况下,验证重做传送会话密码时使用系统用户的密码d 文件。

6. DataGuard的三种保护模式

最高保护模式:

1)该模式提供最高级别的数据保护能力;
2)它是要求至少有一个物理备库接收到重做日志后,主库的事务才能提交;
3)当主库找不到合适的备库写入时,主库会自动关闭防止不受保护的数据出现;
4)优点:这种模式可以保证备库数据不丢失;
5)缺点:主库自动关闭会影响主库同时备库需要恢复后才能提交。它对网络等客观条件有非常高的要求,主数据库的性能会受到很大的影响。

最大可用性模式:
1)该模式提供数据p保护能力仅次于“最大保护模式”;
2)至少需要一个物理备库收到重做日志后才能提交主库中的事务;
3)当主库数据库找不到合适的备用数据库进行写入,主数据库不会关闭,而是会暂时降低到“最大性能模式”模式,直到问题解决;
4)优点:该模式可以保证没有问题的时候备库数据不会丢失,这是一种折中的方法;
5)缺点:正常运行时,缺点是主库性能受很多因素影响。< /p>

最高性能模式:
1)该模式为默认模式,可以保证主数据库最高的可用性;
2)保证主库运行时不受备库影响,主库事务正常提交,主库的运行不受备库任何问题的影响;
4)优点:避免了备库对主库性能和可用性的影响;
/> />5)缺点:如果主库提交的事务相关的恢复数据没有发送到备库,这些事务数据就会丢失,并且不能保证数据不丢失;< /p>

简单来说,它由三部分组成:主库、备库、中间层(各种服务+日志、归档文件),中间层我们稍后再说,我们先看一下主库首先是数据库和备用数据库:

主数据库

DG环境包含一个主库。主数据库可以是单实例,也可以是RAC集群。备用数据库由至少一个备用数据库组成。主数据库和辅助数据库通过 Oracle Net 进行通信d 主数据库和辅助数据库不受地理位置限制。

备用数据库

备用数据库和主库一致性维护事务一致性。一个主数据库可以对应多个备数据库。 11g中备用数据库分为三种类型:

1.物理备用数据库

2.逻辑备用数据库

3.快照备用数据库

物理备用(物理备用数据库)

物理备用是主数据库的物理完全相同的副本。这是一种介质恢复,基于逐块恢复。恢复是在数据块级别执行的。该方法对数据类型没有限制,可以保证两个数据库完全一致。

Oracle 11g之前,备库只能在Mount状态下恢复,或者可以打开,但只能以只读模式打开,无法进行恢复操作开放期间成立。到了11g,standby可以以只读状态启动并同步,这样就可以利用standby数据库来执行一些数据查询操作,提高数据库利用率。

逻辑备(逻辑备数据库)

逻辑备同步使用SQL Apply。这种方式和logminer一样挖掘日志,只不过是利用Logminer技术将日志内容还原成SQL语句,然后由SQL引擎执行这些语句。 Logminer Standby 不支持所有数据类型。您可以在视图 DBA_LOGSTDBY_UNSUPPORTED 中查看不支持的数据类型。如果使用该数据类型,则不能保证数据库完全一致。

快照备用(Snapshot Standby Database)

快照备用是Oracle 11g中的新特性,是对备用数据库的升级。快照备用与物理备用和逻辑备用一样,也会从主数据库接收归档文件,但快照备用不同之处在于快照备用不会应用这些收到的存档。

快照备用数据库数据库和逻辑备用数据库都构建在物理备用数据库之上。如果我们想在备库上做一些测试,因为我们不能移动主库,所以我们可以在备库上进行测试。然后我们可以将此备用数据库切换为快照备用数据库。

切换语句如下:

SQL>alterdatabaseconverttosnapshotstandby;

打开快照备库进行我们的测试。

SQL> alter database open;

测试完成后,我们重新启动数据库至mount状态。执行该命令将数据库从快照状态切换到之前的状态,例如物理备或逻辑备。

SQL>alterdatabaseconvert tophysicalstandby;

从快照备用功能开始,Oracle正在逐步弱化逻辑备用数据库。 11g中使用物理备库和快照备库。瓦将成为主流

1。为什么要设置强制数据库归档?

改变数据库强制日志记录;

Oracle日志记录的三种模式:日志记录、强制日志记录、无日志记录

日志记录:创建数据库对象(视图、索引、序列等)将日志信息写入联机重做日志文件。日志记录相当于对象的一个​​属性。用于标记对象创建时是否记录REDO日志,包括是否记录DML。重做日志。

强制日志记录:强制日志记录,所有对数据的操作都会生成日志信息,并将信息写入在线重做日志文件中。

nologging:相反,较少记录日志。

在做DATA GUARD的时候,必须保证数据的一致性,所以开启了数据库的强制归档模式。

2.为什么要在mount状态下启用数据库归档?

Oracle数据库启动分为三个阶段,nomount、mount、open。分别加载的文件为para仪表文件、控制文件和数据文件。

当数据库启动到mount阶段时,数据库根据参数文件中指定的控制文件路径打开控制文件,获取数据文件和日志文件的信息。这时数据库就可以维护了,启用归档模式,Oracle要求在挂载实例下启用归档。

3.为什么要配置静态监控参数?

在DATA GUARD架构中,在数据库挂载状态下,动态监控无法将服务注册到数据库,但静态监控可以完成此任务。

典型的监听文件listen.ora分为两部分。 LISTENER 注册服务,SID_LIST_LISTENER 注册实例。

4.参数文件中各个参数的含义是什么?

1. *.db_name='orcl'

同一个DATA GUARD中的所有数据库db_name的数据库名称需要保持一致

2. *.db_unique_name ='兽人l_p'

每个数据库必须有一个唯一的名称

3. *.log_archive_config='dg_config=(orcl_p,orcl_s)'

该参数用于控制向远程位置发送归档日志和接收远程归档日志,并指定DATA GUARD配置的唯一数据库名称。< /p>

默认值为SEND、RECEIVE和NODG_CONFIG。使用时

< p>当参数为SEND时,将激活发送归档日志到远程位置。

当参数为NOSEND时,将禁止向远程位置发送归档日志。

当参数为RESEIVE时,将激活远程归档日志的接收;

当参数为NORECEIVE时,禁止接收远程归档日志;

当参数为DG_CONFIG时,最多可以指定9个唯一的数据库名称;

当参数为NODG_CONFIG时,禁止指定唯一的数据库名称。

该参数是动态参数,可以使用alt呃系统设置 log_archive_config='SEND';修改。

4. *.log_archive_dest_1='location=/u01/arch valid_for=(all_logfiles,all_roles) db_unique_name=orcl_p'

log_archive_dest_1由DG重做 日志传输的主要参数一般工作在处理级联备库时,主库将发挥作用。

该参数还可以指定ORL和备库。存储库重做日志 (SRL) 生成存档日志的传输目标。

(1)service:指定备库的网络连接名称

(2)sync:指定使用同步方式传输redo数据,即提交客户端事务会发生在LGWR进程收到备库LNS的信息确认后,对于最大可用和最大保护模式,至少需要一个备库net_timeout来指定LGWR进程

等待LNS进程响应的时间,如果在此期间没有收到响应,则认为备库出现故障(failed),默认为30s,

需要执行以下操作等待期间执行以下操作:

a:停止旧的 LNS 进程

b:启动新的 LNS 进程

                                                                                                                                                                                                                           。 f:选择并打开一个新的SRL

g:初始化SR头,即备库的重做日志数据库

h:响应LNS进程,告知:准备工作已完成

完成上述操作后,LNS进程会通知LGWR备库连接成功。如果该过程超过30秒,备用数据库将继续被放弃。

(3)reopen:属性控制主库尝试重新连接故障备库的等待时间,默认为30s

(4)如果要在log_archive_dest_n中使用db_unique_name属性,同时使用log_archive_config,否则使用DATA GUARD将拒绝连接到该目标数据库。您必须将 db_unique_name 添加到主数据库和备用数据库中的 log_archive_config 参数中。当主库发起连接时,会将自己的db_unique_name发送给备库,并要求备库返回。唯一的 db_unique_name。将在备库中检查log_archive_config参数以确保主库的db_unique_name存在。如果不存在,则连接请求将被拒绝。如果存在,备库会将其db_unique_name返回给主库的LNS进程。如果返回值与主库的值不匹配,则终止连接。

(5)valid_for:该属性定义何时使用目标参数log_archive_dest_n以及作用于什么类型的日志文件

日志文件的合法值有3个:

< p> online_logfile仅在归档ORL中有效

bsp; Standby_logfile仅在archive SRL中有效

all_logfiles无论重做日志文件类型如何都有效

角色的合法值有以下三种:

< p> Primary_role 仅在主库有效

                                                                                       sp; Standby_role仅在备库有效

5. *.log_archive_dest_state_1=enable

用于指定归档目录是否可用。

6. *.standby_file_management='auto'

当主库创建数据文件时,备库会自动创建数据文件

7. *.log_file_name_convert= '/u01/app/oracle/oradata/orcl','/u01/app/oracle/oradata/orcl'

*.db_file_name_convert='/u01/app/oracle/oradata/orcl',' /u01/app/oracle/oradata/orcl'

log_file_name_convert和db_file_name_convert确保主备数据库的数据文件路径为一致

8. *.fal_server='orcl_s'

FAL 指获取归档日志。由于网络中断或资源限制,导致主备日志不同步。

MRP(托管恢复进程)/LSP(逻辑备用进程)无法直接连接主库获取丢失的存档日志,所以需要FA来解决问题,fal_server对应备库的db_unique_name

5. Oracle DATA GUARD的进程结构是怎样的?

1.主库存在的进程:

(1)LGWR:收集事务日志,更新在线日志,同步模式下,LGWR直接将重做信息传输到备库 RFS进程中,主库等待之前从备用数据库确认继续处理。在非同步的情况下,日志信息也直接传输到备库的RFS进程,但不等待备库的确认信息。

(2)ARCH:归档时,将日志传输到备用RFS进程,可用于解决GAP日志不连续的问题。

(3)LNSn:主库生成的Redo日志必须同时写入日志文件和网络。也就是说LGWR进程将日志写入本地日志文件的同时也发送给本地LNSn进程(Network Server Process),然后LNSn(LGWR Network Server进程)进程通过网络。每个远程目的地对应一个LNS进程,多个LNS进程可以并行工作。

2.备库中存在的进程:

(1)FAL:仅存在于物理备数据中的进程根据。 FAL是指Fetch Archive Log,因为网络中断或者资源限制等问题导致主备日志不同步。 MRP(托管恢复进程)/LSP(逻辑备用进程)无法直接连接主库获取丢失的归档日志,因此需要使用FAL来解决问题。

(2)RFS(Remote File Server):主要用于接收主库传送过来的日志信息。 arch进程将重做日志归档并通过MPR将其应用到备库。

(3)MRP(Managed Recovery Process):仅针对物理备库,将归档日志应用到备库

(4)LSP(Logic Standby Process):仅针对物理备库逻辑备用数据库 数据库拥有并控制归档日志对逻辑备用数据库的应用。

3. Oracle DG通过同步日志文件来保证主备库的一致性

如果有连接一个数据库与单个或多个备用数据库之间出现问题,则主数据库生成的日志文件无法传输到备用数据库。归档日志进程(FAL)用于提供主备库连接中断后将归档日志发送到备库的客服机制,以实现自动填充间隔和重新同步。在备用数据库上,Oracle DATA GUARD 使用远程文件服务器 (RFS) 进程从主数据库接收重做记录,使用托管恢复进程 (MRP) 将重做信息应用到物理备用数据库,并使用逻辑备用数据库进程(LSP)将SQL转换后的重做信息应用到逻辑备库。

4. Oracle DATA GUARD的三种保护模式

保护模式

灾难时数据丢失的风险

重做传输机制

最大程度的保护

零数据丢失;双故障保护

LGWR SYNC

最大可用性

零数据丢失;单故障保护

LGWR SYNC

最高性能

最小数据丢失

LGWR SYNC或ARCH

默认保护模式是最高性能模式。可以使用alterdatabasesetstandbydatamaximum(protection|availability|performance};来切换保护模式

最大保护模式保证事务提交时,同时写入主库而利用备库的日志文件来保证一致性,优点是安全,缺点是当备库故障时,主库无法正常使用。

最高可用模式是与最大保护模式基本相同,不同之处在于当备库出现故障时,主库会立即切换到最高性能模式。

对于ma为了获得最大的性能,您只需要确保提交的事务写入主库的日志文件即可。

感谢您的阅读。以上就是《Oracle中11g DataGuard分析》的内容。经过文章的学习,相信大家对于分析Oracle中11g DataGuard的问题以及具体的用法有了更深入的了解。还是需要大家实际验证。在此,小编将为大家推送更多相关知识点的文章,欢迎关注!

1. 本站所有资源来源于用户上传或网络,仅作为参考研究使用,如有侵权请邮件联系站长!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 编程技术 > Oracle 11g DataGuard分析

用户评论