
Physical Standby 使用的是 Media Recovery 技术,在数据块级别进行恢复,这种方式没有
数据类型的限制,可以保证两个数据库完全一致。 Physical Standby 数据库只能在 Mount
状态下进行恢复,也可以是打开,但只能已只读方式打开,并且打开时不能执行恢复操作。
Logical Standby 使用的是 Logminer 技术,通过把日志内容还原成 SQL 语句,然后 SQL
引擎执行这些语句,Logminer Standby 不支持所有数据类型,可以在视图
DBA_LOGSTDBY_UNSUPPORTED 中查看不支持的数据类型,如果使用了这种数据类型,
则不能保证数据库完全一致。LogicalStandby 数据库可以在恢复的同时进行读写操作。
不少未实际接触过 dg 的初学者可能会下意识以为 data guard 是一个备份恢复的工具。我要
说的是,这种形容不完全错,dg 拥有备份的功能,某些情况下它甚至可以与 primary 数据
库完全一模一样,但是它存在的目的并不仅仅是为了恢复数据,应该说它的存在是为了 确
保企业数据的高可用性,数据保护以及灾难恢复 ( 注意这个字眼,灾难恢复) 。dg 提供全
面的服务包括:创建,维护,管理以及监控 standby 数据库,确保数据安全,管理员可以通
过将一些操作转移到 standby 数据库执行的方式改善数据库性能 ,构建高可用的企业数据
库应用环境。
在 Data Gurad 环境中,至少有两个数据库,一个处于 Open 状态对外提供服务,这个数
据库叫作 Primary Database。 第二个处于恢复状态,叫作 Standby Database。 运行时
primary Database 对外提供服务,用户在 Primary Database 上进行操作,操作被记录在
联机日志和归档日志中,这些日志通过网络传递给 Standby Database。 这个日志会在
Standby Database 上重演,从而实现 Primary Database 和 Standby Database 的数据同
步。 Oracle Data Gurad 对这一过程进一步的优化设计,使得日志的传递,恢复工作更加
自动化,智能化,并且提供一系列参数和命令简化了 DBA 工作。 如果是可预见因素需要
关闭 Primary Database,比如软硬件升级,可以把 Standby Database 切换为 Primary
Database 继续对外服务,这样即减少了服务停止时间,并且数据不会丢失。如果异常原因
评论