管理歸檔日誌文件

歸檔日誌文件:是處於非活動(INACTIVE)的狀態的重做日誌文件的備份。它對ORACLE數據庫的備份和恢復起至關重要的作用。是聯機重做日誌文件的一個副本,與被複制的成員完成一樣,即重做記錄相同,日誌序列號相同。

 

一、數據庫的歸檔與非歸檔模式:

1.  當數據庫處於NOACRCHIVELOG模式時,不對重做日誌文件進行歸檔,直接覆蓋舊的重做日誌文件,此時數據庫只能從例程失敗中進行恢復。

特點:

a.       發生日誌切換時(alter system switch logfile),LGWR後臺進程可以無條件覆蓋原來的已經變爲非活動的(INACTIVE)重做日誌文件的內容。

b.       進行數據庫備份時,必須先使用SHUTDOWN 或者SHUTDOWN IMMEDIATE命令先關閉數據庫,然後才能通過操作系統備份所有的物理文件。即冷備份。不能進行聯機的熱備份。

c.       NOACRCHIVELOG模式時,只能保護數據庫免於例程失敗,但不能保護數據庫免於介質失敗。

d.       NOACRCHIVELOG模式不需要考慮存儲空間的問題。

 

2.  當數據庫處於ACRCHIVELOG模式時候,系統通過後臺進程ARCn來幫助DBA自動完成對重做日誌文件進行歸檔,歸檔之後才覆蓋舊的重做日誌文件,並將其複製到一個指定的位置,成爲歸檔日誌文件,此時數據庫還能進一步從介質失敗中恢復。即可將數據的損失減少到最小,可用性提高到最高。

特點:

a.       ACRCHIVELOG模式時。可以對數據庫進行聯機的熱備份。

b.       當出現數據文件損壞時,除了SYSTEM表空間的數據文件,其他表空間都可以在數據庫處於OPEN時恢復。

c.       執行數據庫備份時,不僅可以進行完成恢復,也可以指定恢復到某個特定的時間點。

 

一、數據庫歸檔參數

 

通過ARCHIVE LOG LIST 查看數據庫的歸檔模式;

1.  LOG_ARCHIVE_DUPLIEX_DESTLOG_ARCHIVE_DEST_n

LOG_ARCHIVE_DEST用於指定第一個歸檔目標位置(主歸檔目標),n表示複本數量。如果只設置一個複本,當這個複本錯誤時候,則可以通過其他複本備用。(1<=n<=10

LOG_ARCHIVE_DUPLIEX_DEST用於指定第二個歸檔目標位置(次歸檔目標),

這兩個參數的相排斥的,不能同時存在。

2.  啓動和禁用自動歸檔的參數

LOG_ARCHIVE_START(靜態參數):當數據庫從初始參數文件中讀取到這個參數的設置,系統自動啓動ARCn進程。

 

SHOW PARAMETER LOG_ARCHIVE_START

ALTER SYSTEM SET LOG_ARCHIVE_START=TRUE SCOPE=SPFILE

在數據庫例程啓動後啓動或禁用自動歸檔功能。

ALTER SYSTEM ARCHIVE LOG START

 

ALTER SYSTEM ARCHIVE LOG STOP

 

1.  執行手動歸檔:

(1)       對所有沒有歸檔的重做日誌進行歸檔:

通過ALTER SYSTEM ARCHIVE LOG ALL

(2)       當前的重做日誌文件進行歸檔:

ALTER SYSTEM ARCHIVE CURRENT

(3)       指定日誌序列號的重做日誌文件進行歸檔

ALTER SYSTEM ARCHIVE LOG SEQUCNE 56

(4)       指定日誌組編號的重做日誌文件進行歸檔

ALTER SYSTEM ARCHIVE LOG GROUP 2

(5)       指定聯機的重做日誌文件進行歸檔

ALTER SYSTEM ARCHIVE LOG

LOGFILE 'D:/oracle/oradata/work/REDO01.LOG '

(6)       將下一個沒有歸檔的重做日誌文件組進行歸檔:

ALTER SYSTEM ARCHIVE LOG NEXT

2.  自動歸檔:自動歸檔後在存檔終點文件夾下有以下自動歸檔的文件

 

歸檔的日誌文件可以通過LOGMNR進行分析。

1.  ARCn後臺進程的最大參數

LOG_ARCHIVE_MAX_PROCESSES(動態參數)最大10個後臺進程:

可以通過SELECT * FROM V$ARCHIVE_PROCESSES視圖查看

查詢歸檔信息:

與歸檔信息相關的視圖:

視圖

作用

V$DATABASE

LOG_MODE字段歸檔模式

V$INSTANCE

ARCHIVER字段是否正在歸檔

V$ARCHIVED_LOG

從控制文件中獲取的所有歷史歸檔日誌文件信息

V$ARCHIVE_DEST

歸檔目標位置的信息

V$ARCHIVE_PROCESSES

歸檔進程的信息

V$BACKUP_REDOLOG

所有已備份的歸檔日誌文件的信息

V$LOG

所有重做日誌文件的信息,其中包含那些需要歸檔的重做日誌文件

V$LOG_HISTORY

重做日誌文件的歷史信息

a.查看數據庫歸檔模式

b.查看數據庫是否正在歸檔


c.
查看那些重做日誌需要歸檔

SELECT GROUP#,MEMBERS,SEQUENCE#,ARCHIVED,STATUS,FIRST_CHANGE#,

TO_CHAR(FIRST_TIME, 'YYYY-MM-DD HH24:MI:SS')  FIRST_CHANGE_TIME

FROM V$LOG

d.查看歸檔目標位置的信息

SELECT DESTINATION,BINDING,TARGET,STATUS FROM V$ARCHIVE_DEST

e.查詢已歸檔的日誌文件信息(即是系統中存在的物理文件)

SELECT NAME,SEQUENCE#,ARCHIVED,STATUS,FIRST_CHANGE#,

TO_CHAR(FIRST_TIME, 'YYYY-MM-DD HH24:MI:SS')  FIRST_CHANGE_TIME

FROM V$ARCHIVED_LOG

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