深藍的天空下,有你有我...
          共享酸、甜、苦、辣
          posts - 23,comments - 19,trackbacks - 0
          --創(chuàng)建一個表來保存提取出來的sql create table logmnr_content tablespace tools as scn,cscn,TIMESTAMP,sql_undo from v$logmnr_contents where 1=0; --通過dba_objects 查到表對應(yīng)的 object_id and data_object_id ,用來在log中提取該表相關(guān)的sql_undo select object_id,data_object_id from dba_objects where object_name = ??? --通過在os中找到的歸檔日志范圍,進行聯(lián)機提取 將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通過動態(tài)sql執(zhí)行插入表 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; 注意:如果在這段日志中還有其他對該表的操作的話,可以結(jié)合操作類型 OPERATION 和 提交scn cscn 來判斷 到底是不是該恢復的這部分數(shù)據(jù)。 轉(zhuǎn)自:http://www.itpub.net/thread-324926-1-1.html
          posted on 2011-06-19 02:11 三刀流の逆風 閱讀(321) 評論(0)  編輯  收藏 所屬分類: Oracle
          主站蜘蛛池模板: 莱芜市| 金塔县| 修水县| 天全县| 中江县| 封丘县| 和硕县| 太仓市| 安化县| 台北县| 博野县| 西林县| 长宁县| 察哈| 库车县| 大城县| 育儿| 汉阴县| 喀什市| 韶关市| 平乐县| 岱山县| 探索| 房产| 永宁县| 石泉县| 大余县| 巴彦淖尔市| 江都市| 金华市| 基隆市| 黄陵县| 抚州市| 丹寨县| 林口县| 泰安市| 绵竹市| 沙湾县| 青浦区| 辉县市| 潮安县|