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

Oracle更改redo log大小和standby log大小
(1)redo log的大小可以影响 DBWR 和 checkpoint ;

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

大的log file可以提供更好的性能,小的logfile 会增加checkpoint 和降低性能;

(3) A rough guide is to switch log files at most once every 20 minutes.(推荐日志切换的时间不要超多20分钟)

status 有几个值分别是:

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)

主库上修改redo log

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
        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
        14          1 YES INACTIVE                       100 /oradata/CMSDB/datafile1/CMSDB/onlinelog/o1_mf_14_grm2vocm_.log
        14          1 YES INACTIVE                       100 /oradata/CMSDB/datafile1/CMSDB/onlinelog/o1_mf_14_grm2vov6_.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

2.删除并增加新的日志文件
先處理inactive, 它表示已經完成規定的,可以刪除
SQL> alter database drop logfile group 11;

Database 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.

  

猜你喜欢

转载自www.cnblogs.com/43945616b/p/11578639.html