Primary Database
生产数据库,产生修改操作、负责将修改操作传输到其他服务器上数据库。
相同DG环境中只能有一个,可以是单实例或者RAC结构。
DG broker 监视器进程DMON维护主库的二进制设置文件,并且确保每次发生设置更改时,在每个备库上都保存有设置文件的最新副本。
Standby Database
在高可用环境中,用于灾难保护的生产数据库的一个独立副本。
相同DG配置中最多可以创建30个。
通过应用Primary数据库生成的的重做记录,DG自动维护每一个Standby数据库在事务上与主库保持同步。
所有备库都是以重做数据与主库保持同步
物理备库、逻辑备库、快照备库
Data Guard 区分物理 Standby 和逻辑 Standby 两种同步方式。
二者都是使用主库的归档日志来实现事务的同步,但实现原理有着显著的不同。
物理 Standby 在接收 Primary 数据库生成的 REDO 后,以介质恢复的方式实现同步。而逻辑 Standby 则是在接收 Primary 数据库生成的 REDO 后,先将其转换成 SQL 语句,再通过在 Standby 数据库上执行该 SQL 语句来实现同步。前者叫 Redo Apply, 后者叫 SQL Apply.
由于二者在实现上的区别,就决定了物理Standby 无论从逻辑结构和物理结构都是和主库必须保持一致,而逻辑 Standby 则只需保证数据库的逻辑结构一致即可,在物理实现上可以不同。