redo重做日誌管理

skyin_1603發表於2017-05-17

修改Oracle重做日誌檔案大小
1.建立3個新的日誌組

SQL> ALTER DATABASE ADD LOGFILE GROUP 4 ('/u01/app/oracle/oradata/orcl/redo06.log') SIZE 500M;

SQL> ALTER DATABASE ADD LOGFILE GROUP 5 ('/u01/app/oracle/oradata/orcl/redo05.log') SIZE 500M;

SQL> ALTER DATABASE ADD LOGFILE GROUP 6 ('/u01/app/oracle/oradata/orcl/redo06.log') SIZE 500M; 

檢視日誌組

SQL> select * from v$logfile;

2.切換當前日誌到新的日誌組

SQL> alter system switch logfile;

SQL> alter system switch logfile;

SQL> alter system switch logfile; 

切到要刪除為INCACTIVE才行 。

SQL> select group#,sequence#,bytes,members,status from v$log;

    GROUP#  SEQUENCE#    BYTES    MEMBERS STATUS
---------- ---------- ---------- ---------- ----------------
  1  139 52428800  1 INACTIVE
  2  137 52428800  1 INACTIVE
  3  138 52428800  1 INACTIVE

  4  140  524288000  1 ACTIVE
  5  141  524288000  1 CURRENT
  6  136  524288000  1 INACTIVE

3.刪除舊的日誌組

SQL> alter database drop logfile group 1;

Database altered.

SQL> alter database drop logfile group 2;

Database altered.

SQL> alter database drop logfile group 3; 

檢視是否刪除了日誌組

SQL> select group#,sequence#,bytes,members,status from v$log;

    GROUP#  SEQUENCE#    BYTES    MEMBERS STATUS
---------- ---------- ---------- ---------- ----------------
  4  140  524288000  1 INACTIVE
  5  141  524288000  1 CURRENT
  6  136  524288000  1 INACTIVE

4.作業系統刪除原日誌組1、2、3中的檔案 

[oracle@oracle122 log]$ cd /u01/app/oracle/oradata/orcl
[oracle@oracle122 orcl]$ 
[oracle@oracle122 orcl]$ pwd
/u01/app/oracle/oradata/orcl
[oracle@oracle122 orcl]$ ls
control01.ctl  example01.dbf  redo01.log  redo02.log  redo03.log  redo04.log  redo05.log  redo06.log  sysaux01.dbf  system01.dbf  temp01.dbf  undotbs01.dbf  users01.dbf
[oracle@oracle122 orcl]$ rm -rf redo01.log 
[oracle@oracle122 orcl]$ rm -rf redo02.log 
[oracle@oracle122 orcl]$ rm -rf redo03.log 

5.重建日誌組1、2、3

SQL> ALTER DATABASE ADD LOGFILE GROUP 1 ('/u01/app/oracle/oradata/orcl/redo01.log') SIZE 500M;

SQL> ALTER DATABASE ADD LOGFILE GROUP 2 ('/u01/app/oracle/oradata/orcl/redo02.log') SIZE 500M;

SQL> ALTER DATABASE ADD LOGFILE GROUP 3 ('/u01/app/oracle/oradata/orcl/redo03.log') SIZE 500M; 

6.刪除中間過渡用的日誌組4、5、6 ,在刪除時查詢select group#,sequence#,bytes,members,status from v$log;
刪除組是否為INACTIVE,如果不是INACTIVE 就要執行
alter system switch logfile;

查詢看一下

SQL> select group#,sequence#,bytes,members,status from v$log;

    GROUP#  SEQUENCE#    BYTES    MEMBERS STATUS
---------- ---------- ---------- ---------- ----------------
  1  148  524288000  1 CURRENT
  2  143  524288000  1 INACTIVE
  3  144  524288000  1 INACTIVE
  4  146  524288000  1 INACTIVE
  5  147  524288000  1 INACTIVE
  6  145  524288000  1 INACTIVE
 

SQL> alter database drop logfile group 4;

Database altered.

SQL> alter database drop logfile group 5;

Database altered.

SQL> alter database drop logfile group 6;

Database altered.

7.到作業系統刪除組4、5、6

[oracle@oracle122 orcl]$ rm -rf redo04.log 
[oracle@oracle122 orcl]$ rm -rf redo05.log 
[oracle@oracle122 orcl]$ rm -rf redo06.log
 

8、RAC環境中增加日誌組和日誌檔案
SQL>  alter database add logfile thread 1 group 5 size 100M;
Database altered.
SQL>  alter database add logfile thread 1 group 6 size 100M;
Database altered.
SQL>  alter database add logfile thread 1 group 7 size 100M;
Database altered.
SQL>  alter database add logfile thread 2 group 8 size 100M;
Database altered.
SQL>  alter database add logfile thread 2 group 9 size 100M;
Database altered.
SQL>  alter database add logfile thread 2 group 10 size 100M;
Database altered.


9.備份當前最新的控制檔案

SQL>  alter database backup controlfile to trace resetlogs  ;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31392094/viewspace-2139254/,如需轉載,請註明出處,否則將追究法律責任。

相關文章