Oracle-DG,疑问主库添加日志后,备库未操作主库日志比备库日志数量多,有什么影响?

一、需求,主库添加日志后,备库未操作主库日志比备库日志数量多,有什么影响?

正常来说,我们搭建Oracle DG之后,一般来说都会配置standby_file_management =>AUTO

但是只能同步数据文件的操作,对于日志文件来说并不会同步主库添加日志的行为!

我们都知道,DG搭建,oracle官方是建议dg配置比redo group +1的数量,以保证实时同步!

 

二、测试

Primary
SYS>select group#,bytes/1024/1024 from v$log;
    GROUP# BYTES/1024/1024 
---------- ---------- 
         1       200 
         2       200 
         3       200 
SQL> alter database add logfile /picclife/app/oracle/oradata/orcl/redo04.log size 200m;
Database altered.
SQL> alter database add logfile /picclife/app/oracle/oradata/orcl/redo05.log size 200m;
Database altered.
SQL> alter database add logfile /picclife/app/oracle/oradata/orcl/redo06.log size 200m;
Database altered.


standby
SYS@c12>select group#,THREAD#,sequence#,bytes/1024/1024,status from v$log;
    GROUP#    THREAD#  SEQUENCE# BYTES/1024/1024 STATUS
---------- ---------- ---------- --------------- --------------------------------
         1          1          0             200 UNUSED
         2          1          0             200 UNUSED
         3          1          0             200 UNUSED

SYS@c12>select group#,thread#,sequence#,bytes/1024/1024 m,blocksize,status from v$standby_log;

GROUP# THREAD# SEQUENCE# M BLOCKSIZE STATUS
---------- ---------- ---------- ---------- ---------- --------------------
4 1 118 200 512 ACTIVE
5 1 0 200 512 UNASSIGNED
6 1 0 200 512 UNASSIGNED
7 1 0 200 512 UNASSIGNED

 

主库多次切换归档日志!

SQL> alter system switch logfile;

DG备库可以发现!

SQL>select group#,thread#,sequence#,bytes/1024/1024 m,blocksize,status from v$standby_log

GROUP# THREAD# SEQUENCE# M BLOCKSIZE STATUS
---------- ---------- ---------- ---------- ---------- -----

   4      1        0     200 512     UNASSIGNED
   5      1      117     200 512      ACTIVE
····

   4      1      118     200 512      ACTIVE
   5      1        0     200 512     UNASSIGNED

主库每切换一次归档,对应dg active standby log 会使用不同的group,但是基本上每次只使用4,5组!   其余6,7组并未使用!

 

 

本次测试只是在测试环境中进行,实际生产环境中归档日志的写入速度很快!  如果DG STANDBY REDO没有足够的空间可用,实时同步肯定受到影响!

因此可以得出结论,在主库日志量少的情况下可以忽略!

如果生产环境日志量过大,并且DG的要求实时性很高,尽量人工 在DG环境手工进行同步! 否则可以暂时忽略,关注下是实时应用就可以了。

 

--add standby

alter database recover managed standby database cancel;
ALTER DATABASE ADD STANDBY LOGFILE ‘/picclife/app/oracle/oradata/orcldg/redostandby08.log‘ SIZE 200M;
ALTER DATABASE ADD STANDBY LOGFILE ‘/picclife/app/oracle/oradata/orcldg/redostandby09.log‘ SIZE 200M;
ALTER DATABASE ADD STANDBY LOGFILE ‘/picclife/app/oracle/oradata/orcldg/redostandby10.log‘ SIZE 200M;
recover managed standby database using current logfile disconnect;

SYS@c12>select group#,thread#,bytes/1024/1024 from v$standby_log;

GROUP# THREAD# BYTES/1024/1024
---------- ---------- ---------------
4 1 200
5 1 200
6 1 200
7 1 200
8 0 200
9 0 200
10 0 200

7 rows selected.

 

Oracle-DG,疑问主库添加日志后,备库未操作主库日志比备库日志数量多,有什么影响?

上一篇:数据库性能优化


下一篇:mysql