1. 程式人生 > >Oracle學習(九)之刪除日誌組和日誌檔案

Oracle學習(九)之刪除日誌組和日誌檔案

1.刪除日誌組

1)檢視日誌組(CURRENT狀態的日誌組需要切換日誌,其他狀態的可以刪除)

SQL> select GROUP#,status from v$log;

      GROUP# STATUS  
  ---------- ----------------
           1 INACTIVE
           2 INACTIVE
           3 CURRENT
           8 UNUSED

2)刪除日誌組

 SQL> alter database drop logfile group 8;

   Database altered.

3)查詢

SQL> select GROUP#,status from v$log;

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

2.刪除日誌檔案

1)檢視日誌組(CURRENT狀態的日誌組需要切換日誌,其他狀態的可以刪除)

    SQL> select GROUP#,status from v$log;

          GROUP# STATUS
      ---------- ----------------
               2 INACTIVE
               3 CURRENT

2)檢視日誌檔案

     SQL> select GROUP#,MEMBER from v$logfile order by 1,2;

          GROUP# MEMBER
      ---------- ------------------------------------
               2 /u04/ora11g/student/redo0202.rdo
               2 /u04/ora11g/student/redo0302.rdo
               2 /u04/ora11g/student/redo0402.rdo
               3 /u05/ora11g/student/redo0103.rdo
               3 /u05/ora11g/student/redo0203.rdo
               3 /u05/ora11g/student/redo0303.rdo

      6 rows selected.

3)刪除日誌檔案

    SQL> alter database drop logfile member 
      2  '/u04/ora11g/student/redo0402.rdo';

     Database altered.

4)查詢

    SQL> select GROUP#,MEMBER from v$logfile order by 1,2;

             GROUP# MEMBER
         ---------- ------------------------------------
                  2 /u04/ora11g/student/redo0202.rdo
                  2 /u04/ora11g/student/redo0302.rdo
                  3 /u05/ora11g/student/redo0103.rdo
                  3 /u05/ora11g/student/redo0203.rdo
                  3 /u05/ora11g/student/redo0303.rdo

刪除成功。

注:
刪除日誌組(檔案)時:
1)該日誌檔案所在的的日誌組(檔案)不能處於current狀態,需要執行一次手動日誌切換;
SQL> alter system switch logfile;
System altered.
2)該日誌檔案所在的日誌檔案組中必須包含有其他的日誌成員;
3)刪除日誌檔案組時必須有其他的日誌檔案組;
4)如果資料庫執行在歸檔模式下,則應該在刪除日誌檔案之前,確定它所在的日誌檔案組已經被歸檔,否則會導致資料丟失。