国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

利用logmnr恢復大量誤刪除數據

2024-07-21 02:40:55
字體:
來源:轉載
供稿:網友

  logmnr其實是非常有用的一個恢復數據的工具,今天有人提到恢復700萬的數據,我也做過幾萬條財務數據的恢復,借此小結一下。
--創建一個表來保存提取出來的sql
create table logmnr_content tablespace tools as scn,cscn,TIMESTAMP,sql_undo from v$logmnr_contents where 1=0;

--通過dba_objects 查到表對應的 object_id and data_object_id ,用來在log中提取該表相關的sql_undo
select object_id,data_object_id from dba_objects where object_name = ???

--通過在os中找到的歸檔日志范圍,進行聯機提取
將undo sql 插入一個表中,比如我的日志序號范圍是 5813 到 5850
為了防止臨時空間不足,一個一個歸檔日志文件處理。


begin
for i in 5813..5850 loop



dbms_logmnr.add_logfile(LogFileName=>'/disk2/oradata/arch/crmcn/crmcn_1_'i'.arc');
dbms_logmnr.start_logmnr(Options => sys.dbms_logmnr.DICT_FROM_ONLINE_CATALOG);
dbms_logmnr.start_logmnr();

insert into logmnr_content(scn,cscn,TIMESTAMP,sql_undo )
select scn,cscn,TIMESTAMP,sql_undo from v$logmnr_contents
where DATA_OBJD# = 67540 ;

commit;
dbms_logmnr.end_logmnr();


end loop;


end;



--將提取出來的sql通過動態sql執行插入表

declare
sql_str varchar2(4000);
begin
for c in (select * from logmnr_content) loop
sql_str := replace(c.sql_undo,';','');
execute immediate sql_str;
end loop;
commit;
end;


注重:假如在這段日志中還有其他對該表的操作的話,可以結合操作類型 OperaTION 和 提交scn cscn 來判定 到底是不是該恢復的這部分數據。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 潞西市| 南乐县| 灵武市| 汽车| 罗平县| 普兰县| 岳阳市| 任丘市| 赣州市| 图木舒克市| 台东市| 印江| 东辽县| 阿拉善盟| 呼和浩特市| 昌图县| 石嘴山市| 炉霍县| 泸溪县| 左云县| 名山县| 巴林左旗| 合山市| 四会市| 聂荣县| 娱乐| 民勤县| 奈曼旗| 桦甸市| 翁牛特旗| 韩城市| 济阳县| 闻喜县| 潼关县| 定远县| 得荣县| 松江区| 新宁县| 七台河市| 西安市| 宜兰市|