利用logminer找回資料

2021-05-22 15:29:39 字數 1467 閱讀 1977

/home/ahres/archilog

alter system set log_archive_dest_1='/home/ahres/archilog';

alter system set log_archive_dest_1='location=/home/ahres/archilog' scope=both;

alter system set utl_file_dir='/home/ahres/archilog' scope=spfile;

execute dbms_logmnr.add_logfile (logfilename =>'/home/ahres/archilog/1_184_695305233.dbf',options =>dbms_logmnr.new);

execute dbms_logmnr.add_logfile (logfilename =>'/home/ahres/archilog/1_188_695305233.dbf',options =>dbms_logmnr.addfile);

execute dbms_logmnr.start_logmnr (dictfilename =>'/home/ahres/archilog/logminer_dict.dat');

select timestamp,sql_redo from v$logmnr_contents  where operation='delete'and table_name='ioms_interior_td';

create table tmp_logmnr as

select operation,sql_redo,sql_undo  from v$logmnr_contents where table_name = 'hz_test'and operation='delete';

sql> declare

2  mysql varchar2(4000);

3  num number:=0;

4  begin

5  for c_tmp in (select sql_undo from tmp_logmnr where operation='delete') loop

6  mysql := replace(c_tmp.sql_undo,';','');

7  dbms_output.put_line(mysql);

8  execute immediate mysql;

9  num := num + 1;

10  if mod(num,1000)=0 then

11  commit;

12  end if;

13  end loop;

14  commit;

15  exception

16  when others then

17  rollback;

18  end;

19  /

pl/sql procedure successfully completed

利用SQL日誌找回丟失的資料

這幾天碰到了我一生中最痛苦的事情,在對乙個表中的一列資料進行update時,後來少帶了個where語句,造成整列資料全部更新,也就是整列資料全部丟失,而以前又沒有對次資料庫進行備份,萬分悲痛之下急忙上網找工具 一共找到 個 log explorer apex sql log sql log resc...

logminer恢復誤覆蓋更新的資料

昨日程式部署人員在運營資料庫誤更新覆蓋了系統重要資料。具體誤操作方式在一表上用a欄位和 b欄位資料基本相同,但b欄位中有null值,然後b欄位的資料更新了a欄位資料,之後刪除了b欄位,導致系統重要入口資料無法顯示,考慮表結構修改過,且只對單錶操作,為盡快恢復資料,因此,使用logminer讀取日誌的...

oracle利用閃回找回誤刪除的表資料集

當我們在開發的過程,經常碰到由於不小心誤刪除表裡重要的資料,這時候你不需要著急,從oracle9i開始引用了閃回的概念,通過網上找資料,大概有兩種方法,一種方法是通過scn 找回,另外一種是可以通過時間來找回,僅獻給那些和我一樣在開發一線的朋友,希望對你們有所幫助 具體的語法如下 方法一 通過scn...