dbms_logmnr和dbms_logmnr_d

通過dbms_logmnr 和 dbms_LOGMNR_D 可以分析重做日誌和歸檔日誌所記載的事務的變化,
最終確定誤操作的時間,跟蹤用戶操作,跟蹤事務並還原dml操作;

– 1,add_logfile
/*
該過程爲分析列表增加或刪除日誌文件;
或者建立日誌分析列表
options –{
dbms_logmnr.new 建立日誌分析列表
dbms_logmnr.addfile 添加日誌文件
dbms_logmnr.removefile 刪除日誌文件
}
*/
dbms_logmnr.add_logfile(LogFileName => ,Options => binary_integer);

– 2,start_loginmnr
/*
該過程爲開始logMiner會話;
*/
dbms_logmnr.start_logmnr(
startScn => ,
endScn => ,
startTime => ,
endTime => ,
DictFileName => ,
Options =>
);

– 3,end_loginmnr
/*
該過程爲結束logMiner會話;
*/
dbms_logmnr.end_logmnr;

– 4,mine_value
/*
該函數返回要摘取得列信息;在logMiner會話啓動之後調用
*/

dbms_logmnr.mine_value(
   sql_redo_undo => ,
   column_name => 
  );  

– 5,column_present
/*
該函數(number) 確定列是否存在數據的redo或undo部分;
*/
dbms_logmnr.column_present(sql_redo_undo => ,column_name => );

– 6,remove_logfile
/*
該過程用於刪除日誌文件;
*/
dbms_logmnr.remove_logfile(LogFileName => );


–7 build
/*
用於建立字典文件
*/
dbms_logmnr_d.build(dictionary_filename => ,dictionary_location => ,options => );

–8 set_tablespace
/*
用於改變logminer表所在的表空間;
*/
dbms_logmnr_d.set_tablespace(new_tablespace => );


/*
使用logminer實例
在logminer之間建立temp表 ,然後執行dml操作和日誌切換操作,生成歸檔日誌;
*/

create table temp (
cola number(10),
colb varchar2(100)
);

alter system switch logfile;
insert into temp values(1,’abc’);
update temp set cola = 2;
commit;
alter system switch logfile;
delete from temp;
alter system switch logfile;

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