ORACLE的redo日志中存放的是数据变化向量,非SQL语句。
一、物理standby
物理standby是通过接收并应用primary数据库的redo log以介质恢复的方式(Redo Apply)实现同步。
优点:
1) 可保证standby和primary物理级别上的完全一致性,不丢失数据;
2) 效率高,因为是使用最底层的块级别上的复制。
缺点:
1) 在与primary同步时,standby不能open,无法分担primary上的负载。
11G后,可以同步的同时开启standby库用于查询。(ADG)
二、逻辑standby
逻辑standby是通过接收primary数据库的redo log并转换成sql语句,然后在standby数据库上执行SQL语句(SQL Apply)实现同步。
优点:
1) 在与primary同步时,standby处于open状态(read write),可分担primary上部分的查询和报表服务。
缺点:
1) standby和primary的物理结构不一致,且对某些数据和SQL语句有限制。
2) 效率较低,因为是执行SQL语句。