Oracle-歸檔日誌詳解(運行模式、分類)

來源:互聯網
上載者:User

標籤:檔案資訊   doc   sql指令碼   member   time   檔案   檔案中   select   線上   

一、Oracle日誌分類 

分三大類: Alert log files--警報日誌,Trace files--追蹤記錄檔(使用者和進程)和 
           redo log 重做日誌(記錄資料庫的更改)。 

本文主要關注Oracle的重做日誌。 
重做日誌分為線上重做日誌和歸檔重做日誌。 
   online Redo log files--線上重做日誌,又稱聯機重做日誌,指Oracle以SQL指令碼的形式即時記錄資料庫的資料更新,換句話說,即時儲存已執行的SQL指令碼到線上記錄檔中(按特定的格式)。 
   Archive Redo log files--歸檔重做日誌,簡稱歸檔日誌,指當條件滿足時,Oracle將線上重做日誌以檔案形式儲存到硬碟(持久化)。 

   重做日誌的簡單原理:在資料更新操作commit前,將更改的SQL指令碼寫入重做日誌。主要用於資料庫的增量備份和增量恢複。  

    重做日誌直接對應於硬碟的重做記錄檔(有線上和歸檔二種),重做記錄檔以組(Group)的形式組織,一個重做日誌組包含一個或者多個記錄檔。 


二、關於線上重做日誌(online redo log) 

線上重做日誌的原理: 
    
     對於線上重做日誌,Oracle 11g預設對於每個資料庫執行個體,建立3個線上日誌組,每組一個記錄檔,檔案名稱為REDO01.LOG,REDO02.LOG和REDO03.LOG。(使用者可以通過視圖操作添加/修改/刪除日誌組和記錄檔來自訂線上重做日誌) 
     每組內的記錄檔的內容完全相同,且儲存在不同的位置,用於磁碟日誌鏡像,以做多次備份提高安全性。預設情況這3組通常只有一組處於活動狀態,不斷地同步寫入已操作的指令碼,當記錄檔寫滿時(達到指定的空間配額),如果當前資料庫處于歸檔模式,則將線上日誌歸檔到硬碟,成為歸檔日誌;若當前資料庫處於非歸檔模式,則不進行歸檔操作,而當前線上日誌的內容會被下一次重新寫入覆蓋而無法儲存。因此,通常資料庫在運行時,是處于歸檔模式下的,以儲存資料更新的日誌。 
    當前歸檔日誌組寫滿後,Oracle會切換到下一日誌組,繼續寫入,就這樣迴圈切換;當處于歸檔模式下,切換至原已寫滿的日誌組,若該日誌組歸檔完畢則覆蓋寫入,若沒有則只能使用日誌緩衝區,等待歸檔完畢之後才能覆蓋寫入。當然,處於非歸檔模式下是直接覆蓋寫入的。(關於資料庫歸檔模式的設定,我會在另外的博文中講到)。 

    Oracle提供了2個視圖用於維護線上重做日誌:V$LOG 和  V$LOGFILE,我們可以通過這兩個視圖查看和修改線上日誌。    

關於V$LOG視圖的詳細屬性欄位可Oracle 11g的官方文檔:http://download.oracle.com/docs/cd/B28359_01/server.111/b28320/dynviews_2029.htm 
關於V$LOGFILE視圖的詳細屬性欄位可Oracle 11g的官方文檔: 
http://download.oracle.com/docs/cd/B28359_01/server.111/b28320/dynviews_2031.htm 

官方文檔還是最給力的呀,不要忽視!! 
        
通過v$logfile視圖查詢線上記錄檔資訊:  
SQL> SELECT * FROM v$logfile ORDER BY group#;   

GROUP#   TATUS  TYPE     MEMBER                              IS_RECOVERY_DEST_FILE 

1               ONLINE    E:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO01.LOG     NO 
2               ONLINE    E:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO02.LOG     NO 
3               ONLINE    E:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO03.LOG     NO 


通過v$log視圖查詢線上日誌的總體資訊: 
SQL> SELECT * FROM v$log; 

GROUP#    THREAD#     SEQUENCE#    BYTES   MEMBERS     ARCHIVED  STATUS    FIRST_CHANGE#   FIRST_TIME                

1     1   49    52428800      1    NO    CURRENT    1466615     07-1月 -11 
2     1   47    52428800      1    YES   INACTIVE   1434125     06-1月 -11 
3     1   48    52428800      1    YES   INACTIVE   1460403     07-1月 -11 

當然,還可以通過ALTER DATABASE ADD 、delete等命令增加/修改/刪除線上日誌或日誌組,具體操作可查看http://blog.csdn.net/robinson_0612/archive/2010/07/20/5749556.aspx 


三、關于歸檔重做日誌(Archive redo log) 

    其實,所謂的歸檔,就是指將線上日誌進行歸檔、持久化到成固定的檔案到硬碟,便於以後的恢複和查詢。 
    當然,前提條件是資料庫要處于歸檔模式。 
    
Oracle 11g 預設是為歸檔日誌設定2個歸檔位置,這2個歸檔位置的的歸檔日誌的內容完全一致,但檔案名稱不同。 

Oracle-歸檔日誌詳解(運行模式、分類)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.