13 日誌檔案 重做日誌檔案

2021-10-10 01:58:42 字數 2832 閱讀 6628

重做日誌檔案(redo log file)通常稱作日誌檔案,它是保證資料安全和資料庫備份與恢復的檔案。

原理:

重做記錄以迴圈的方式在sga(系統全域性區)區的重做日誌快取記憶體區中進行快取,並且由後台程序lgwr寫入到重做日誌檔案中。

oracle對資料庫所做的修改首先儲存在記憶體中,這樣可以提高資料庫的效能,因為在記憶體中的資料進行操作比磁碟中資料進行操作快的多,每隔一段時間(日誌資訊存放超過3秒)或滿足特定條件(發生提交命令或日誌緩衝區資訊滿1/3)就會啟動lfwr程序將重做日誌記錄儲存到重做日誌檔案中。

重做日誌檔案組的維護需要 alter database 許可權。

建立資料庫時,oracle 會預設建立3個重做日誌檔案組,每個日誌檔案組包含兩個日誌檔案成員,每個日誌檔案組內部都有序號,oracle安照從小到大順序寫入日誌資訊。當乙個日誌檔案組寫滿後,後台程序lgwr開始寫入下乙個重做日誌檔案組,當所有重做日誌檔案組都寫一遍之後,會再次轉向第乙個並進行覆蓋。當前正在被lgwr程序寫入的重做日誌檔案組中的重做日誌檔案成為「聯機重做日誌檔案」(online redo log file).

正在被lgwr程序寫入的重做日誌處於「當前狀態」(current),正在被例項用於資料庫恢復的重做日誌檔案處於「活動狀態」(active),其他為「未活動狀態」(inactive)

新增重做日誌檔案組:

alter

database

add logfile

('d:\oraclefile\logfiles\redo04_a.log'

,'e:\oraclefile\logfiles\redo04_b.log'

)--重做日誌檔案組物理檔案

size 20m;

--大小10-50m系統預設50

--新增重做日誌檔案組指定組號:(日誌組編號必須是連續的,數字,否則會消耗資料庫控制檔案儲存空間,如果不指定系統預設累增)

alter

database

add logfile group5(

'd:\oraclefile\logfiles\redo04_a.log'

,'e:\oraclefile\logfiles\redo04_b.log'

)--重做日誌檔案組物理檔案

size 20m;

--大小10-50m系統預設50

--向資料庫新增乙個單一重做日誌檔案,並覆蓋**同名日誌檔案 reuse關鍵字

alter

database

add logfile 'd:\oraclefile\logfiles\redo06_a.log' reuse;

--向重做日誌檔案組新增新的成員 member 關鍵字 to group 指向具體組

alter

database

add logfile member 'd:\oraclefile\logfiles\redo06_a.log'

togroup4;

--還可以通過指定檔案組成員名稱 左邊新組成員,右邊已有成員,括號

alter

database

add logfile 'd:\oraclefile\logfiles\redo6_a.log'to(

'd:\oraclefile\logfiles\redo06_a.log'

);

刪除重做日誌檔案

alter

database

drop logfile member 'd:\oraclefile\logfiles\redo06_a.log'

;--只是在資料字典和控制檔案中刪除重做日誌檔案成員,對應的物理檔案需要手動刪除。

--刪除日誌檔案組

alter

database

drop logfile group5;

--1.無論日誌檔案有多少成員,乙個資料庫至少包含2個日誌組,刪除不能超過限制。

--2.只能刪除處於inactive 狀態的日誌組,如果刪除處於current狀態重做日誌組必須執行手工切換日誌到inactive狀態。

--3.如果資料庫處於歸檔模式,刪除重做日誌組之前必須確定它已經歸檔

清空重做日誌檔案

alter

database clear logfile group

4;

更改重做日誌檔名稱、位置

1、關閉資料庫 shutdown

2、手動複製原始檔到目標位置,並可以直接重新命名

3、啟動資料庫, startup mount (載入資料庫,但不開啟資料庫)

4、重置

alter

database

rename

file

'd:\oraclefile\logfiles\redo04_a.log'

,'d:\oraclefile\logfiles\redo04_b.log'

to'e:\oraclefile\logfiles\redo04_aa.log'

,'e:\oraclefile\logfiles\redo04_bb.log'

5、開啟資料庫 alter database open;

6、開啟資料庫後,通過v$logfile資料字典檢視當前重做日誌檔案

話外:v $log 顯示控制檔案中的(日誌檔案)重做日誌檔案資訊

v $logfile (日誌檔案組合日誌成員資訊)重做日誌檔名稱及位置

v $log_history 日誌歷史資訊

oracle 重做日誌檔案

1.查詢重做日誌檔案組的資訊 select group sequence members,status,archived from v log 2.查詢重做日誌檔案的資訊 select group type,member from v logfile order by group 3.為案例資料庫新...

聯機重做日誌檔案與歸檔日誌檔案

日誌檔案分為重做日誌檔案 redo log file 和歸檔日誌檔案 archive log file 重做日誌redo log file是lgwr程序從oracle例項中的redo log buffer寫入的,是迴圈利用的。就是說乙個redo log file group 寫滿後,才寫下乙個。當所...

centos7日誌檔案 centos7 日誌檔案

linux常見的日誌檔案詳述如下1 var log boot.log 自檢過程 2 var log cron crontab守護程序crond所派生的子程序的動作 3 var log maillog 傳送到系統或從系統發出的電子郵件的活動 4 var log syslog 它只記錄警告資訊,常常是系...