一、系统基本原理
3.最大性能
这种模式保证主库性能最大化,主备库之间数据是异步传输的。即,主库日志归档以后才会传输到备用库,在备库上使用归档日志文件做恢复操作。
四、Data guard日志传输模式
日志传输可以选择实时同步传输或异步传输,主要在于LOG_ARCHIVE_DEST_n参数值设置的是SYNC或ASYNC。
1. SYNC(实时同步)
SYNC(实时同步)值:primary database联机重做日志文件的每个写操作,都要等待standby database执行完成所有I/O,并返回执行成功的消息后才算完成。
LGWR SYNC Archival to a Remote Destination with Standby Redo Log Files
● Real-Time Apply
如果启用了实时应用功能,日志应用服务可以在接收到重做数据时应用重做数据,而无需等待当前备库上的重做日志文件归档。
如果使用备用重做日志文件,则可以启用real-time apply,当远程文件服务器(RFS)进程将重做数据写入备用数据库上的备用重做日志文件时,log apply服务可以在填充备用重做日志文件时从中恢复重做数据。
2. ASYNC(异步传输)
ASYNC(异步传输)属性异步执行所有的网络I/O,只要在主库执行完后立即返回给正在执行的应用程序或用户,而无需等待备库网络I/O完成。
LGWR ASYNC Archival with Network Server (LNSn) Processes
如果将目标配置为使用LGWR进程,但由于某些原因LGWR进程无法向目标存档,那么重做传输将恢复到使用ARCn进程来完成归档操作。
● 延迟同步
可以使用LOG_ARCHIVE_DEST_n初始化参数的delay =minutes属性设置主数据库和备用数据库的时间延迟,以延迟将归档的重做日志文件应用到备用数据库。默认情况下,没有时间延迟。如果指定DELAY属性而不指定值,则默认的延迟间隔为30分钟。
五、Data guard物理备库和逻辑备库
DataGuard Standby创建时,逻辑standby与物理standby一样,使用主库copy。DataGuard Standby数据库通常分两类:分为"物理standby"和"逻辑standby"。
1.物理standby
物理standby是通过接收并应用primary数据库的redo log以介质恢复的方式实现同步,不仅文件的物理结构相同,连块在磁盘上的存储位置都是一模一样的。对于物理备用数据库,Data Guard使用Redo Apply技术,该技术使用Oracle数据库的标准介质恢复技术在备用数据库上应用Redo数据。
物理STANDBY可能的模式:只读模式(OPEN READONLY)和恢复模式(MANANGED RECOVERY)
主备库之间物理结构,逻辑结构都保持一致。通常情况下备用库通过主库传输过来的归档日志做介质恢复,相当于主库与备库之间基于"块对块"复制。
物理standby等同于生产库。物理standby能以read only(只读)方式打开(或者在flashback数据库下以"读写方式打开")。
物理standby一旦以"读写"方式打开,备用库将不会从主数据库接受重做数据。只有当备库flashback到过去的点,当备用库flashback到"读写"打开时间点前的状态时,DataGuard会自动同步备库与主库。才能恢复standby角色。
2.逻辑standby
逻辑standby是通过接收primary数据库的redo log并转换成sql语句,然后在standby数据库上执行SQL语句实现同步。
对于逻辑备用数据库,Data Guard使用SQL Apply技术,该技术首先将接收到的重做数据转换为SQL语句,然后在逻辑备用数据库上执行生成的SQL语句。
只保证逻辑结构与主库一致。备用库要处于打开状态,逻辑备库通过执行SQL语句来更新。DataGuard转换日志文件中的数据为SQL语句,然后在逻辑standby上执行SQL语句.因为逻辑standby是通过SQL语句来实现数据同步,那么在同步期间其必须保持打开状态。
3.物理备库与逻辑备库的本质区别
物理standby使用的Redo apply技术与主库保持同步,Redo apply使用介质恢复保持主数据库和物理备用数据库同步。
然而,逻辑standby使用SQL apply技术与主库保持同步。SQL apply 从主数据库接收的重做日志中重新构造SQL语句,并对逻辑standby数据库执行这些SQL语句。
六、Data guard的安全措施
Data Guard数据保护机制为数据同步提供了一个安全的环境,防止在将重做数据传输到备用数据库时可能发生的篡改。
重做传输服务使用经过身份验证的网络会话来传输重做数据。这些会话使用密码文件中包含的SYS用户密码进行身份验证。Data Guard配置中的所有数据库都必须使用一个密码文件,该密码文件中包含的SYS密码在所有系统上必须相同。即使没有安装Oracle Advanced Security,也可以执行此身份验证,并在重新执行时提供一定级别的安全性。
七、Data guard的优势
DataGuard数据同步技术有以下优势:
1) Oracle数据库自身内置的功能,与每个Oracle新版本的新特性都完全兼容,且不需要另外付费。Active data guard是需要付费的。
2) 配置管理较简单,不需要熟悉其他第三方的软件产品。
3) 物理Standby数据库支持任何类型的数据对象和数据类型。
4) 逻辑Standby数据库处于打开状态,可以在保持数据同步的同时执行查询等操作。
5) 在最大保护模式下,可确保数据的零丢失