redo log file的管理

平臺:

# cat /etc/release
                       Solaris 10 1/06 s10x_u1wos_19a X86
          Copyright 2005 Sun Microsystems, Inc.  All Rights Reserved.
                       Use is subject to license terms.
                          Assembled 07 December 2005
數據庫版本:


SQL> select * from v$version where rownum<2;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Prod


redo日誌的管理

=========================================================

1.添加日誌組成員


原有redo日誌組的信息爲:

SQL> select group#,member,status from v$logfile;

   GROUP#     MEMBER                                                     STATUS
---------- --------------------------------------------           -------
        3 /u01/app/oracle/oradata/nice/redo03.log          

        2 /u01/app/oracle/oradata/nice/redo02.log          

        1 /u01/app/oracle/oradata/nice/redo01.log          

每組添加一個新的成員在不同的硬盤上:

alter database add logfile member '/u03/app/oracle/redo01b.log' to group 1;

alter database add logfile member '/u03/app/oracle/redo02b.log' to group 2;

alter database add logfile member '/u03/app/oracle/redo03b.log' to group 3;

添加後的redo日誌信息:

select group#,member,status from v$logfile;

   GROUP# MEMBER                                                 STATUS
---------- --------------------------------------------- -------
        3 /u01/app/oracle/oradata/nice/redo03.log          

        2 /u01/app/oracle/oradata/nice/redo02.log          

        1 /u01/app/oracle/oradata/nice/redo01.log          

        1 /u03/app/oracle/redo01b.log                        INVALID
        2 /u03/app/oracle/redo02b.log                        INVALID
        3 /u03/app/oracle/redo03b.log                        INVALID

‘INVALID’表示還沒有使用,切換手動幾次日誌後即爲ACTIVE(空白)狀態了。

============================================================

2.更改redo日誌的名字(也可以更改位置)

將/u01/app/oracle/oradata/nice目錄下的1,2,3組日誌的redo01,redo02,redo03分別更改成redo01a,redo02a,redo03a與新增加的1,2,3組日誌成員想對應;

(1)關閉數據庫,並將日誌文件改名(或者可以移動到新的位置)

shutdown immediate

使用操作系統命令:

cd /u01/app/oracle/oradata/nice

mv redo01.log redo01a.log

mv redo02.log redo02a.log

mv redo03.log redo03a.log

(2)啓動數據庫到mount狀態

startup mount;

(3)對修改過的redo文件重命名

alter database rename file '/u01/app/oracle/oradata/nice/redo01.log' to '/u01/app/oracle/oradata/nice/redo01a.log';

alter database rename file '/u01/app/oracle/oradata/nice/redo02.log' to '/u01/app/oracle/oradata/nice/redo02a.log';

alter database rename file '/u01/app/oracle/oradata/nice/redo03.log' to '/u01/app/oracle/oradata/nice/redo03a.log';

查詢改變後的狀態:

SQL> select group#,member,status from v$logfile;

   GROUP# MEMBER                                   STATUS
---------- ---------------------------------------- -------
        3 /u01/app/oracle/oradata/nice/redo03a.log
        2 /u01/app/oracle/oradata/nice/redo02a.log
        1 /u01/app/oracle/oradata/nice/redo01a.log
        1 /u03/app/oracle/redo01b.log
        2 /u03/app/oracle/redo02b.log
        3 /u03/app/oracle/redo03b.log

============================================================

3.增加新的日誌組

SQL> select group#,bytes/1024/1024 as MB from v$log;

   GROUP#         MB
----------         ----------
        1                 50
        3                 50
        2                 50

增加新的日誌組的文件大小爲50M,與前三組相同。

alter database add logfile group 4 ('/u01/app/oracle/oradata/nice/redo04a.log','/u03/app/oracle/redo04b.log') size 50M;


SQL> select group#,member,status from v$logfile;

   GROUP# MEMBER                                   STATUS
---------- ---------------------------------------- -------
        3 /u01/app/oracle/oradata/nice/redo03a.log
        2 /u01/app/oracle/oradata/nice/redo02a.log
        1 /u01/app/oracle/oradata/nice/redo01a.log
        1 /u03/app/oracle/redo01b.log
        2 /u03/app/oracle/redo02b.log
        3 /u03/app/oracle/redo03b.log
        4 /u01/app/oracle/oradata/nice/redo04a.log
        4 /u03/app/oracle/redo04b.log

============================================================

4.刪除redo日誌組或者成員

需要redo日誌在INACTIVE狀態下才能刪除;

SQL> select group#,archived,status from v$log;

   GROUP# ARC STATUS
---------- --- ----------------
        1 NO  INACTIVE
        2 NO  INACTIVE
        3 NO  CURRENT
        4 NO  INACTIVE

將第4組刪除:

SQL> alter database drop logfile group 4;

Database altered.

SQL> select group#,archived,status from v$log;

   GROUP# ARC STATUS
---------- --- ----------------
        1 NO  INACTIVE
        2 NO  INACTIVE
        3 NO  CURRENT

在操作系統中將第4組的文件刪除;

備份數據庫的control file。

alter database backup controlfile '/u02/oradata/nice/hotbak/control.ctl';


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章