Oracle重作日誌的實現方法

1、ORACLE引入重作日誌目的:記錄數據的改變,提供數據庫的恢復。數據庫


一、日誌文件須要分組,同一個重作日誌組的每一個成員所存的信息徹底相同。安全


二、每一個組中的重作日誌文件均被稱爲成員日誌


三、每組最好有二、3個成員,分別放置不一樣的物理磁盤,這樣安全性較高。進程


四、最少須要兩個重作日誌組同步


2、Oracle重作日誌的運行流程:it


Oracle重作日誌按照有序循環的方式被使用,即當一組日誌文件被填滿後,循環覆蓋下一組日誌文件,不斷循環。此時稱爲日誌切換。檢查點操做也在此時發生,檢查點操 做是用來實現同步的,它會寫數據文件的頭信息、控制文件。在歸檔模式下,當一組日誌文件被填滿後,ARCH(歸檔寫進程)將這組複製到歸檔日誌文件 中。(在ARCH正在寫的重作日誌文件LGWR是不能夠寫的)ast


一、Oracle重作日誌文件的定稿是依靠LGWR後臺進程後臺


二、.LGWR正在寫的重作日誌組稱爲:當前重作日誌組。sed


三、重作日誌文件------聯機日誌文件;歸檔日誌文件------脫機日誌文件file


3、查詢重作日誌組:


一、日誌組:


select group#, sequence#, members, bytes, status, archived from v$log;


Status列中各值的意義:


Current:當前組。


Inactive:實例恢復已不須要這組日誌了


Activie:這組日誌是活動的,但非當前組。例如正在歸檔。


Unused:此組從未被寫過。是日誌剛被添加到DB中的狀態。


二、日誌文件:


Select * from v$logfile;


Status列中各值的含義:


空白:此文件正在使用。


Stale:該文件內容是不徹底的。


Invalid:該文件不能夠被訪問。例如剛創建


Deleted:該文件已再也不有用。


4、建立與刪除重作日誌文件組:


一、添加刪除重作日誌文件組:


Alter database add logfile (‘d:\**.log’, ‘e:\**.log’ ) size15m;


(這樣建立的2個重作日誌文件都會是同一組)


Alter database drop logfile group 4;


刪除指定組號的重作日誌組(刪除後實際文件並未刪除,需手動刪除)


刪除過程當中出現的各類限制條件以下:


current log group當前日誌組不可刪除,要刪除當前日誌組須要先對當前日誌組進行切換,使用命令爲alter system switch logfile;


active log group活動的日誌組不可刪除


no archived log group沒有歸檔的日誌組不可刪除(前提是已運行在歸檔模式下)


二、添加/刪除重作日誌文件:


Alter database add logfile member‘d:\red004.log’ to group 1,‘d:\red005.log’ to group2;


Alter database drop logfile member ‘d:\red004.log’;

刪除時遇到的限制條件:


不能刪除當前組的成員,如要刪除則:強制性切換重作日誌的命令:alter system switch logfile;


active log group活動的日誌成員不可刪除


no archived log group沒有歸檔的日誌成員不可刪除(前提是已運行在歸檔模式下)


at least one member per group當日志成員中只有一個成員


特例:


有的時候在刪除重作日誌文件redo log file時,會出現以下錯誤


ERROR位於第1行:


ORA-00362:要求輸入成員以組成組4中的有效日誌文件


ORA-01517:日誌成員: 'C:\ORACLE\ORADATA\GXCNC\REDO041.LOG'


(之因此不能drop logfile member from group 2,是由於group 2的其餘redo log file的狀態不對。這種狀況,應該做幾回alter system switch logfile ,使group 2的其餘redo log file的狀態變爲正常 就能夠了。)

相關文章
相關標籤/搜索