基本上redo log = archive log 的前身,就是說當備份機制啟動時,redolog 切換到下一個時就會同時產生一個archivelog
Online redolog
Select * from V_$LOGFILE
Archive 就是啟動備份機制後的redolog備份,要執行完整還原這裡的備份檔案幾乎是必須的
Select * from sys.V_$ARCHIVED_LOG order by FIRST_TIME desc
如果發現name 是空的代表該achive 檔案 已經被系統備份機制收走後刪除,譬如做過一次完整備份後~備份前的archive log 其實就沒有用處了,所以系統會自動拿掉他~
但以稽核角度來說~如果舊的archive 實體檔案還存在,那代表即使查不到~各位還是可以用指令強制分析已經過期的archive log 查之前的資料異動狀態..
找到你要分析的archive log 和redo log 後執行指令把檔案加入並執行分析
Begin
--加入檔案
dbms_logmnr.add_logfile('//data/CRP2O/db/apps_st/data/log01a.dbf');
dbms_logmnr.add_logfile('/data/CRP2O/db/apps_st/data/log02a.dbf');
dbms_logmnr.add_logfile('/data/CRP2O/db/apps_st/data/log03a.dbf');
dbms_logmnr.add_logfile('/data/CRP2O/db/apps_st/data/log04a.dbf');
--啟動分析 有幾種模式online,offline,redo …基本查詢是用online 就該OK
DBMS_LOGMNR.start_logmnr (
options => Dbms_Logmnr.dict_from_online_catalog);
end;
檢查查詢結果
SELECT
timestamp
,table_name ,table_space , session#, serial# , username, session_info,operation ,
sql_redo,sql_undo FROM V$LOGMNR_CONTENTS where sql_redo like '%XXOM_BI_ALL%'
請先 登入 以發表留言。