[Oracle] Data Guard系列(3)-日志应用
[Oracle] Data Guard系列(3)-日志应用
Redo应用 or SQL应用?
我们知道有两种类型的备库,分别是物理备库和逻辑备库,物理备库的日志应用叫做Redo应用,而逻辑备库的日志应用叫做SQL应用。
所谓的Redo应用是指备库采用介质恢复的方式应用主库传输过来的日志,因此物理备库就像是主库的一面镜子,不但数据一样,物理结构(如数据块、数据文件等)都一样,这样的好处是同步速度快。
所谓的SQL应用是指备库通过Log Miner从日志中解析出SQL语句,然后应用这些SQL语句,很显然,SQL应用的性能比不上Redo应用,但它更灵活。逻辑备库采用SQL应用。
实时日志应用
默认情况下,只有等Standby日志文件归档后才进行日志应用,如果你想一接收到从主库传输过来的日志,马上进行日志应用,则必须打开实时应用,这样只要RFS进程接收到日志并写入Standby日志文件后,MRP/LSP 进程能在备库第一时间应用日志,从而实现主备库的实时同步。
[sql] 物理备库通过以下语句开启实时应用: SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE ; 逻辑备库通过以下语句开启实时应用: SQL> ALTER DATABASE START LOGICAL STANDBYAPPLY IMMEDIATE;
开启/关闭日志应用服务
物理备库:
[sql] --开启 SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT; --关闭 SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL; 逻辑备库: [sql] --开启 SQL> ALTER DATABASE START LOGICAL STANDBY APPLY; --关闭 SQL> ALTER DATABASE STOP LOGICAL STANDBY APPLY;