上一篇:ORACLE DBA學習筆記--控制檔案
REDO記錄檔
重做記錄檔主要以重做記錄的形式記錄,儲存對資料庫所做的修改(或者事務的變化),包括使用者執行DML或者DDL語句對資料庫的修改,
也包括DBA對資料庫結構的修改,重做記錄檔也需要多工。
記錄檔的寫入原則:
1. 寫入的次序要嚴格按並發事務的執行順序
2. 必須寫入重做記錄檔再寫入資料檔案
重做日誌的迴圈寫入:
當第一組日誌被寫滿之後就進行重做日誌的切換(ALTER SYSTEM SWITCH LOGFILE),以便將重做日誌的記錄寫入第二個重做記錄檔,依次類推。
ARCHIVE LOG LIST
SELECT * FROM V$LOG
STATUS如果是INACTIVE 表示當前沒有使用者或者事務訪問,資料可以覆蓋。
ARCHIVE 表示日誌資訊是否完成歸檔,NO表示沒有歸檔
切換記錄序號
ALTER SYTEM SWITCH LOGFILE
SELECT * FROM V$LOGFILE
增加記錄檔
ALTER DATABASE ADD LOGFILE
('D:\ORACLE\ORADATA\WORK\LOG3A.LOG','D:ORACLE\ORADATA\WORK\LOG3B.LOG')
使用LOGMINER分析記錄檔
1. 先查看是否設定UTL_FILE_DIR參數
SHOW PARAMETERS UTL_FILE_DIR
如果VALUE值不為空白則表示已經設定
否則的話需要設定。
設定如下:
設定完成後在ORACLE初始化參數的SPFILE中可以查看到。
D:\oracle\ora90\database\SPFILEWORK.ORA
2.從資料庫的資料字典中提取資訊,建立LOGMINER使用的平面資料字典檔案。
執行過程EXECUTE DBMS_LOGMNR_D.BUILD(‘WOODY.ORA’,’D:\LOG’),需要保證D:\LOG檔案夾存在。
-
執行完成後,D:\LOG建立了WOODY.ORA檔案
3. 添加記錄檔
第一個
EXECUTE DBMS_LOGMNR.ADD_LOGFILE(‘D:\ORACLE\ORADATA\WORK\REDO01.LOG’,OPTIONS=>DBMS_LOGMNR.NEW)
第二個
EXECUTE DBMS_LOGMNR.ADD_LOGFILE(‘D:\ORACLE\ORADATA\WORK\REDO02.LOG’,OPTIONS=>DBMS_LOGMNR.ADDFILE)
第三個
EXECUTE DBMS_LOGMNR.ADD_LOGFILE(‘D:\ORACLE\ORADATA\WORK\REDO03.LOG’,OPTIONS=>DBMS_LOGMNR.ADDFILE)
完成後可以通過
SELECT * FROM V$LOGMNR_LOGS查看
3. 啟動LOGMINER。
執行
EXECUTE DBMS_LOGMNR.START_LOGMNR(DICTFILENAME=>’D\LOG\WOODY.ORA’)
可能出現如下錯誤:
這時候修改下NTS_LANGUAGE即可(可能因為日誌的日期格式問題引起)
再執行上一個過程即可
4. 查看動作記錄
通過查看V$LOGMNR_CONTENTS即可,然後通過分析V$LOGMNR_CONTENTS的內容即可。
結果如下:
5. 最後要結束LOGMINER會話。(LOGMINER會佔用系統資源和資料庫資源)
EXECUTE DBMS_LOGMNR.END_LOGMNR