时间:2021-07-01 10:21:17 帮助过:43人阅读
在上一节《Data Guard 系列(2) - 日志传输》中,我们介绍了DG的日志传输服务,当日志从主库传输至备库后,备库需要应用日志来保持和主库的同步,本节就来介绍日志应用服务。 Redo应用 or SQL应用? 我们知道有两种类型的备库,分别是物理备库和逻辑备库,
在上一节《Data Guard 系列(2) - 日志传输》中,我们介绍了DG的日志传输服务,当日志从主库传输至备库后,备库需要应用日志来保持和主库的同步,本节就来介绍日志应用服务。
我们知道有两种类型的备库,分别是物理备库和逻辑备库,物理备库的日志应用叫做Redo应用,而逻辑备库的日志应用叫做SQL应用。
所谓的Redo应用是指备库采用介质恢复的方式应用主库传输过来的日志,因此物理备库就像是主库的一面镜子,不但数据一样,物理结构(如数据块、数据文件等)都一样,这样的好处是同步速度快。
所谓的SQL应用是指备库通过Log Miner从日志中解析出SQL语句,然后应用这些SQL语句,很显然,SQL应用的性能比不上Redo应用,但它更灵活。逻辑备库采用SQL应用。
默认情况下,只有等Standby日志文件归档后才进行日志应用,如果你想一接收到从主库传输过来的日志,马上进行日志应用,则必须打开实时应用,这样只要RFS进程接收到日志并写入Standby日志文件后,MRP/LSP 进程能在备库第一时间应用日志,从而实现主备库的实时同步。
物理备库通过以下语句开启实时应用: SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT; 逻辑备库通过以下语句开启实时应用: SQL> ALTER DATABASE START LOGICAL STANDBYAPPLY IMMEDIATE;
查看是否已开启了实时应用,在standby端执行如下SQL:
SQL> select recovery_mode from v$archive_dest_status where dest_id=1; RECOVERY_MODE ----------------------- MANAGED REAL TIME APPLY
物理备库:
--开启 SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT; --关闭 SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;逻辑备库:
--开启 SQL> ALTER DATABASE START LOGICAL STANDBY APPLY; --关闭 SQL> ALTER DATABASE STOP LOGICAL STANDBY APPLY;
《[Oracle] Data Guard 系列(1) - 三种保护模式》
《[Oracle] Data Guard 系列(2) - 日志传输》
《[Oracle] Data Guard 系列(3) - 日志应用》
《[Oracle] Data Guard 系列(4) - 在不停主库的情况下创建物理备库》
《[Oracle] Data Guard 系列(5) - 创建逻辑备库》
《[Oracle] Data Guard 系列(6) - 角色转换》