[Oracle] Data Guard 系列(3)

WBOY
發布: 2016-06-07 15:51:11
原創
977 人瀏覽過

在上一节《Data Guard 系列(2) - 日志传输》中,我们介绍了DG的日志传输服务,当日志从主库传输至备库后,备库需要应用日志来保持和主库的同步,本节就来介绍日志应用服务。 Redo应用 or SQL应用? 我们知道有两种类型的备库,分别是物理备库和逻辑备库,

在上一节《Data Guard 系列(2) - 日志传输》中,我们介绍了DG的日志传输服务,当日志从主库传输至备库后,备库需要应用日志来保持和主库的同步,本节就来介绍日志应用服务。


Redo应用 or SQL应用?


我们知道有两种类型的备库,分别是物理备库和逻辑备库,物理备库的日志应用叫做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) - 角色转换》

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板