Oracle原理: 歸檔方式和日誌文件

一、聯機日誌、聯機日誌組

oracle聯機重做日誌放在了 /oracle/oradata/orcl下,有3個REDO.log,記錄了對數據庫的所有的操作。用戶在對數據庫進行操作時,後臺進程LGWR就會把日誌緩衝區的重做條目就會寫到重做日誌裏面。當數據庫意外宕機重啓後,重做日誌就能派上用場了。數據庫啓動時,先前滾,再回滾。達到了宕機前已提交了事物都不會丟失,未提交的事物都不會保留。

 歸檔日誌文件就是聯機重做日誌文件的備份,聯機重做日誌文件又稱爲在線日誌文件,聯機日誌文件。

日誌是通過聯機日誌組來組織,一個oracle會打開兩個日誌文件組,一個日誌組有很多可寫的日誌文件,當一個日誌組寫滿時就會切換到下一個日誌組繼續寫日誌。全部寫滿時,有會開始寫第1個日誌組,循環進行。 v$log 動態視圖可看日誌文件組信息。同一個日誌組下的日誌文件大小相同,不同日誌組的大小可以不同。

二、歸檔方式和非歸檔方式的含義 

 當數據庫爲非歸檔方式時:當聯機日誌組切換時,寫滿的聯機日誌組(被切換的日誌組)中的日誌信息就會唄丟棄。缺少了日誌的部分就會無法進行數據庫信息恢復。此方式可以避免實例故障,如宕機,但是沒法避免介質故障,如硬盤損壞。

當數據庫爲歸檔模式時:那麼所有的日誌都會被保留下來,寫滿的日誌組會被後臺進程ARCH歸檔到歸檔目錄。用戶可以再次模式下完全恢復數據庫。默認的歸檔日誌文件路徑爲..\flash_recovery_area\orcl\ONLINELOG  。手動切換歸檔日誌:alter system switch logfile; 

三、Oracle歸檔方式的調整

----角色爲SYSDBA----
archive log list; ---查看數據庫歸檔狀態
shutdown immediate;   --關閉數據庫
startup mount;        --裝載數據庫
alter database archivelog; --設置歸檔模式,非歸檔爲noarchivelog
alter database open;  --打開數據庫
archive log list;

 

 

四、日誌文件、日誌文件組、歸檔信息的查詢

select * from v$log  ; --查詢日誌組
select * from v$logfile;   --查詢日誌
select * from v$archived_log --查詢已歸檔的日誌

alter database add logfile member 'D:\ORACLE\ORADATA\ORCL\REDOTEST.LOG' to group 1;  --添加日誌文件到組
alter database add logfile group 4 'D:\ORACLE\ORADATA\ORCL\REDOTEST.ora' size 10M;  --添加日誌組
SHOW PARAMETERS log_archive_dest; --查看歸檔日誌位置信息


archive log list; ---查看數據庫歸檔狀態
alter system switch logfile; --手動切換歸檔日誌
 alter system set  log_archive_dest_1 = 'location=D:\oracle\testlog'; --更改歸檔日誌路徑位置

alter system set  log_archive_dest_state_9 = 'defer'; --停用歸檔日誌9,允許用enable

當組狀態爲INACTIVE時日誌文件組可以被清除,清除後狀態變成Unused;

alter database clear logfile group 2; --清空日誌組2的內容

 

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