oracle resize redo logfile and standby logfile on both primary and physical standby database

Change the Oracle redo log size and standby log size
(1) redo log size can affect DBWR and checkpoint;

(2)arger redo log files provide better performance. Undersized logfiles increase checkpoint activity and reduce performance.

Large log file may provide better performance, small logfile will increase the checkpoint and reduced performance;

(3) A rough guide is to switch log files at most once every 20 minutes. (Recommended log switch time should not exceed more than 20 minutes)

There are several status values ​​are:

unused(还没有使用过);
current(正在使用);
active(Log isactive but is not the current log. It is needed for crash recovery)
inactive(Log is nolonger needed for instance recovery)

 

Modify redo log on the primary database

1.查看redo logfiles
set lines 222
col member for a80
select a.group#,a.thread#,a.archived,a.status,a.bytes/1024/1024,b.MEMBER from v$log a,v$logfile b where a.group#=b.group#;
    GROUP#    THREAD# ARC STATUS           A.BYTES/1024/1024 MEMBER
---------- ---------- --- ---------------- ----------------- --------------------------------------------------------------------------------
        11          1 YES INACTIVE                       100 /oradata/CMSDB/datafile1/CMSDB/onlinelog/o1_mf_11_grm2t722_.log
        11          1 YES INACTIVE                       100 /oradata/CMSDB/datafile1/CMSDB/onlinelog/o1_mf_11_grm2t9o7_.log
        UNUSED. 1 YES 100 /oradata/CMSDB/datafile1/CMSDB/onlinelog/o1_mf_12_grm2y0ps_.log 12 is 
        12 is YES. 1 UNUSED 100 /oradata/CMSDB/datafile1/CMSDB/onlinelog/o1_mf_12_grm2y16h_.log 
        14 the INACTIVE. 1 YES 100 / oradata / CMSDB / datafile1 / CMSDB / onlinelog / o1_mf_14_grm2vocm_.log 
        14. 1 YES 100 /oradata/CMSDB/datafile1/CMSDB/onlinelog/o1_mf_14_grm2vov6_.log the INACTIVE 
        13 is the CURRENT NO. 1 100 /oradata/CMSDB/datafile1/CMSDB/onlinelog/o1_mf_13_grm2vv0k_.log 
        13 is the CURRENT NO. 1 100 /oradata/CMSDB/datafile1/CMSDB/onlinelog/o1_mf_13_grm2vvgt_.log 

2. Remove and add a new log file 
processed first inactive, it said that it has completed the requirements, you can remove 
SQL> drop logfile the ALTER Database Group 11; 

Database the Altered.

SQL>  alter database drop logfile group 14;

Database altered.

SQL> select a.group#,a.thread#,a.archived,a.status,a.bytes/1024/1024,b.MEMBER from v$log a,v$logfile b where a.group#=b.group#;

    GROUP#    THREAD# ARC STATUS           A.BYTES/1024/1024 MEMBER
---------- ---------- --- ---------------- ----------------- --------------------------------------------------------------------------------
        12          1 YES UNUSED                         100 /oradata/CMSDB/datafile1/CMSDB/onlinelog/o1_mf_12_grm2y0ps_.log
        12          1 YES UNUSED                         100 /oradata/CMSDB/datafile1/CMSDB/onlinelog/o1_mf_12_grm2y16h_.log
        13          1 NO  CURRENT                        100 /oradata/CMSDB/datafile1/CMSDB/onlinelog/o1_mf_13_grm2vv0k_.log
        13          1 NO  CURRENT                        100 /oradata/CMSDB/datafile1/CMSDB/onlinelog/o1_mf_13_grm2vvgt_.log

SQL> alter database drop logfile group 12;
alter database drop logfile group 12
*     -- 至少要2個redo組,看來還是隻能慢慢來了
ERROR at line 1:
ORA-01567: dropping log 12 would leave less than 2 log files for instance CMSDB (thread 1)
ORA-00312: online log 12 thread 1: '/oradata/CMSDB/datafile1/CMSDB/onlinelog/o1_mf_12_grm2y0ps_.log'
ORA-00312: online log 12 thread 1: '/oradata/CMSDB/datafile1/CMSDB/onlinelog/o1_mf_12_grm2y16h_.log'

SQL> alter database add logfile group 11 size 500m;

Database altered.

SQL> alter database add logfile group 14 size 500m;

Database altered.

SQL> alter database drop logfile group 12;

Database altered.

SQL> alter database add logfile group 12 size 500m;

SQL> alter system switch logfile;

System altered.

SQL> 
SQL> /

System altered.

SQL> /

System altered.

SQL> alter database drop logfile group 13;

Database altered.

SQL> alter database add logfile group 13 size 500m;

Database altered.

SQL> select a.group#,a.thread#,a.archived,a.status,a.bytes/1024/1024,b.MEMBER from v$log a,v$logfile b where a.group#=b.group#;

    GROUP#    THREAD# ARC STATUS           A.BYTES/1024/1024 MEMBER
---------- ---------- --- ---------------- ----------------- --------------------------------------------------------------------------------
        11          1 YES INACTIVE                       500 /oradata/CMSDB/datafile1/CMSDB/onlinelog/o1_mf_11_grm3x7ol_.log
        11          1 YES INACTIVE                       500 /oradata/CMSDB/datafile1/CMSDB/onlinelog/o1_mf_11_grm3xd5c_.log
        12          1 YES INACTIVE                       500 /oradata/CMSDB/datafile1/CMSDB/onlinelog/o1_mf_12_grm3zm81_.log
        12          1 YES INACTIVE                       500 /oradata/CMSDB/datafile1/CMSDB/onlinelog/o1_mf_12_grm3zq6n_.log
        14          1 NO  CURRENT                        500 /oradata/CMSDB/datafile1/CMSDB/onlinelog/o1_mf_14_grm3y7r1_.log
        14          1 NO  CURRENT                        500 /oradata/CMSDB/datafile1/CMSDB/onlinelog/o1_mf_14_grm3ybs4_.log
        13          1 YES UNUSED                         500 /oradata/CMSDB/datafile1/CMSDB/onlinelog/o1_mf_13_grm4200q_.log
        13          1 YES UNUSED                         500 /oradata/CMSDB/datafile1/CMSDB/onlinelog/o1_mf_13_grm424sr_.log

8 rows selected.

3.删除并增加新的standby日志文件

SQL> alter database drop standby logfile group 15;

Database altered.

SQL> alter database drop standby logfile group 16;

Database altered.

SQL> alter database drop standby logfile group 17;

Database altered.

SQL> alter database drop standby logfile group 18;

Database altered.

SQL> alter database drop standby logfile group 19;

Database altered.

SQL> select a.group#,a.thread#,a.archived,a.status,a.bytes/1024/1024,b.MEMBER from v$standby_log a,v$logfile b where a.group#=b.group#;

no rows selected

SQL> alter database add standby logfile group 15 size 500m;

Database altered.

SQL> alter database add standby logfile group 16 size 500m;

Database altered.

SQL> alter database add standby logfile group 17 size 500m;

Database altered.

SQL> alter database add standby logfile group 18 size 500m;

Database altered.

SQL> alter database add standby logfile group 19 size 500m;

Database altered.

SQL> select a.group#,a.thread#,a.archived,a.status,a.bytes/1024/1024,b.MEMBER from v$standby_log a,v$logfile b where a.group#=b.group#;

    GROUP#    THREAD# ARC STATUS     A.BYTES/1024/1024 MEMBER
---------- ---------- --- ---------- ----------------- --------------------------------------------------------------------------------
        15          0 YES UNASSIGNED               500 /oradata/CMSDB/datafile1/CMSDB/onlinelog/o1_mf_15_grm4bqlx_.log
        15          0 YES UNASSIGNED               500 /oradata/CMSDB/datafile1/CMSDB/onlinelog/o1_mf_15_grm4bvyt_.log
        16          0 YES UNASSIGNED               500 /oradata/CMSDB/datafile1/CMSDB/onlinelog/o1_mf_16_grm4chfw_.log
        16          0 YES UNASSIGNED               500 /oradata/CMSDB/datafile1/CMSDB/onlinelog/o1_mf_16_grm4cksq_.log
        17          0 YES UNASSIGNED               500 /oradata/CMSDB/datafile1/CMSDB/onlinelog/o1_mf_17_grm4cv7q_.log
        17          0 YES UNASSIGNED               500 /oradata/CMSDB/datafile1/CMSDB/onlinelog/o1_mf_17_grm4cxl4_.log
        18          0 YES UNASSIGNED               500 /oradata/CMSDB/datafile1/CMSDB/onlinelog/o1_mf_18_grm4d6t3_.log
        18          0 YES UNASSIGNED               500 /oradata/CMSDB/datafile1/CMSDB/onlinelog/o1_mf_18_grm4d93p_.log
        19          0 YES UNASSIGNED               500 /oradata/CMSDB/datafile1/CMSDB/onlinelog/o1_mf_19_grm4dppr_.log
        19          0 YES UNASSIGNED               500 /oradata/CMSDB/datafile1/CMSDB/onlinelog/o1_mf_19_grm4dsp8_.log

10 rows selected.

SQL> 

  

physical standby database

SQL> alter database drop logfile group 11;
alter database drop logfile group 11
*
ERROR at line 1:
ORA-01156: recovery or flashback in progress may need access to files

SQL> alter database recover managed standby database cancel;

Database altered.

SQL> alter database drop logfile group 11;
alter database drop logfile group 11
*
ERROR at line 1:
ORA-01275: Operation DROP LOGFILE is not allowed if standby file management is automatic.

SQL> alter system set standby_file_management=manual;

System altered.


SQL> alter database drop logfile group 14;

Database altered.

SQL> alter database add logfile group 14 size 500m;


standby logfile group;

备库上如下操作
SQL> alter database recover managed standby database using current logfile disconnect from session;

Database altered.

主库:
SQL> alter system set log_archive_dest_state_2=defer;
SQL> alter system switch logfile;


SQL> select GROUP#,thread#,sequence#,USED,ARCHIVED,STATUS from v$standby_log;

    GROUP#    THREAD# SEQUENCE#       USED ARC STATUS
---------- ---------- --------- ---------- --- ---------------
##########          0         0          0 YES UNASSIGNED
##########          0         0          0 YES UNASSIGNED
##########          0         0          0 YES UNASSIGNED
##########          0         0          0 YES UNASSIGNED
##########          0         0          0 YES UNASSIGNED


SQL> alter database recover managed standby database cancel;

Database altered.

SQL> alter database drop logfile group 15;

Database altered.

SQL> alter database add logfile group 15 size 500m;

Database altered.

SQL> alter system set standby_file_management=auto;

System altered.

SQL> alter database recover managed standby database using current logfile disconnect from session;

Database altered.

  

Guess you like

Origin www.cnblogs.com/43945616b/p/11578639.html