DataGuard是甲骨文推出的一种高可用性数据库方案,在Oracle 8i之前被称为Standby Database。从Oracle 9i开始,正式更名为Data Guard。它是在主节点与备用节点间通过日志同步来保证数据的同步,可以实现数据库快速切换与灾难性恢复。Data Guard只是在软件上对数据库进行设置,并不需要额外购买任何组件。用户能够在对主数据库影响很小的情况下,实现主备数据库的同步。而主备机之间的数据差异只限于在线日志部分,因此被不少企业用作数据
容灾解决方案。
DataGuard是一种数据库级别的HA方案,最主要功能是
容灾、
数据保护、故障恢复等。
DataGuard
归档日志(或重做条目)自动维护备用数据库。将重做数据应用到备用库。
只保证
逻辑结构与主库一致。备用库要处于打开状态,通过从主库归档日志文件中提取出来的SQL语句做恢复。
创建时,与物理standby一样,使用主库copy.
逻辑备库通过执行SQL语句来更新。DataGuard转换日志文件中的数据为SQL语句,然后在逻辑standby上执行SQL语句.因为逻辑standby是通过SQL语句来实现
数据同步,那么在同步期间其必须保持打开状态。
2.1 生产库上通过ARCH进程生成
归档日志文件,然后传输到备用库,备用库再从归档日志中恢复数据
这种模式主备库之间数据是同步的。即主库提交的同时,备库会做相应的恢复。最大限度的保证了
数据完整性。不允许数据的丢失。
这种模式保证主库性能最大化,主备库之间数据是
异步传输的。即,主库日志归档以后才会传输到备用库,在备库上使用归档日志文件做恢复操作。