程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> 關於Oracle數據庫 >> OracleLogminer使用

OracleLogminer使用

編輯:關於Oracle數據庫

       --創建測試數據

      C:>set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK

      C:>sqlplus / as sysdba

      SQL*Plus: Release 10.2.0.4.0 - Production on 星期三 3月 12 22:10:38 2014

      Copyright (c) 1982, 2007, Oracle. All Rights Reserved.

      連接到:

      Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production

      With the Partitioning, OLAP, Data Mining and Real Application Testing options

      SQL> create tablespace zwc datafile 'C:oraclezwc01.dbf' size 500m;

      表空間已創建。

      SQL> create user zwc identified by zwc;

      用戶已創建。

      SQL> grant resource,connect to zwc;

      授權成功。

      SQL> conn zwc

      輸入口令:

      已連接。

      SQL> create table zwc.tab01(a int primary key,b varchar2(100),c varchar2(100),d date default sysdate) tablespace zwc;

      表已創建。

      SQL> create or replace procedure p_inst_tab01 as

      2 begin

      3 for i in 1..2000000 loop

      4 insert into tab01(a,b,c,d) values(i,i,i,sysdate);

      5 if mod(i,2000)=0 then

      6 commit;

      7 end if;

      8 end loop;

      9 end p_inst_tab01;

      10 /

      過程已創建。

      SQL> show user

      USER 為 "ZWC"

      SQL> exec p_inst_tab01;

      PL/SQL 過程已成功完成。

      SQL> select count(*) from tab01;

      COUNT(*)

      ----------

      2000000

      SQL> select sum(bytes)/1024/1024 "size MB" from user_segments where segment_name='TAB01';

      size MB

      ----------

      80

      --刪除、更新數據

      SQL> show user

      USER 為 "SYS"

      SQL> alter database add supplemental log data;

      數據庫已更改。

      SQL> delete from zwc.tab01 where rownum<=100;

      已刪除100行。

      SQL> update zwc.tab01 set d=sysdate-100 where rownum<=10;

      已更新10行。

      SQL> commit;

      提交完成。

      --使用logminer找回數據

      SQL> alter system set utl_file_dir='c:oracle' scope=spfile;

      系統已更改。

      SQL> alter session set nls_date_format ='yyyy-mm-dd hh24:mi:ss';

      會話已更改。

      SQL> shutdown immediate

      數據庫已經關閉。

      已經卸載數據庫。

      ORACLE 例程已經關閉。

      SQL> startup

      ORACLE 例程已經啟動。

      Total System Global Area 612368384 bytes

      Fixed Size 2067656 bytes

      Variable Size 167772984 bytes

      Database Buffers 436207616 bytes

      Redo Buffers 6320128 bytes

      數據庫裝載完畢。

      數據庫已經打開。

      SQL> execute dbms_logmnr_d.build(dictionary_filename=>'test.ora',dictionary_location=>'c:oracle');

      PL/SQL 過程已成功完成。

      --select group#,status from v$log;

      --select group#,member from v$logfile;

      SQL> execute dbms_logmnr.add_logfile(logfilename=>'C:archARC00041_0842045960.001',options=>dbms_logmnr.new);

      PL/SQL 過程已成功完成。

      SQL> execute dbms_logmnr.start_logmnr(dictFilename=>'c:oracletest.ora');

      PL/SQL 過程已成功完成。

      SQL> create table zwc.t_logminer tablespace zwc as select * from v_$logmnr_contents;

      表已創建。

      SQL> select count(*) from zwc.t_logminer;

      COUNT(*)

      ----------

      212

      SQL> execute dbms_logmnr.end_logmnr;

      PL/SQL 過程已成功完成。

      SQL> select count(*) from zwc.t_logminer where seg_name='TAB01' and seg_owner='ZWC';

      COUNT(*)

      ----------

      110

      --需要恢復數據查詢SQL_UNDO,執行誤刪除的是SQL_REDO,OPERATION是操作類型

      [oracle@db10 ~]$ sqlplus zwc/[email protected]:1521/prod

      SQL*Plus: Release 10.2.0.5.0 - Production on Wed Mar 12 23:10:15 2014

      Copyright (c) 1982, 2010, Oracle. All Rights Reserved.

      Connected to:

      Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production

      With the Partitioning, OLAP, Data Mining and Real Application Testing options

      SQL> set lines 150 pages 200

      SQL> select SQL_UNDO from t_logminer where seg_name='TAB01' and seg_owner='ZWC' and OPERATION='DELETE';

      SQL_UNDO

      ------------------------------------------------------------------------------------------------------------------------------------------------------

      insert into "ZWC"."TAB01"("A","B","C","D") values ('201','201','201',TO_DATE('02-12月-13', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('202','202','202',TO_DATE('02-12月-13', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('203','203','203',TO_DATE('02-12月-13', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('204','204','204',TO_DATE('02-12月-13', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('205','205','205',TO_DATE('02-12月-13', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('206','206','206',TO_DATE('02-12月-13', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('207','207','207',TO_DATE('02-12月-13', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('208','208','208',TO_DATE('02-12月-13', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('209','209','209',TO_DATE('02-12月-13', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('210','210','210',TO_DATE('02-12月-13', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('211','211','211',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('212','212','212',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('213','213','213',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('214','214','214',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('215','215','215',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('216','216','216',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('217','217','217',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('218','218','218',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('219','219','219',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('220','220','220',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('221','221','221',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('222','222','222',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('223','223','223',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('224','224','224',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('225','225','225',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('226','226','226',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('227','227','227',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('228','228','228',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('229','229','229',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('230','230','230',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('231','231','231',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('232','232','232',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('233','233','233',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('234','234','234',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('235','235','235',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('236','236','236',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('237','237','237',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('238','238','238',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('239','239','239',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('240','240','240',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('241','241','241',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('242','242','242',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('243','243','243',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('244','244','244',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('245','245','245',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('246','246','246',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('247','247','247',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('248','248','248',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('249','249','249',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('250','250','250',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('251','251','251',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('252','252','252',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('253','253','253',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('254','254','254',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('255','255','255',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('256','256','256',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('257','257','257',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('258','258','258',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('259','259','259',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('260','260','260',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('261','261','261',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('262','262','262',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('263','263','263',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('264','264','264',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('265','265','265',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('266','266','266',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('267','267','267',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('268','268','268',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('269','269','269',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('270','270','270',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('271','271','271',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('272','272','272',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('273','273','273',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('274','274','274',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('275','275','275',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('276','276','276',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('277','277','277',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('278','278','278',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('279','279','279',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('280','280','280',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('281','281','281',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('282','282','282',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('283','283','283',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('284','284','284',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('285','285','285',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('286','286','286',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('287','287','287',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('288','288','288',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('289','289','289',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('290','290','290',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('291','291','291',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('292','292','292',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('293','293','293',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('294','294','294',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('295','295','295',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('296','296','296',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('297','297','297',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('298','298','298',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('299','299','299',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      insert into "ZWC"."TAB01"("A","B","C","D") values ('300','300','300',TO_DATE('12-3月 -14', 'DD-MON-RR'));

      100 rows selected.

      SQL> select SQL_UNDO from t_logminer where seg_name='TAB01' and seg_owner='ZWC' and OPERATION='UPDATE';

      SQL_UNDO

      ------------------------------------------------------------------------------------------------------------------------------------------------------

      update "ZWC"."TAB01" set "D" = TO_DATE('12-3月 -14', 'DD-MON-RR') where "D" = TO_DATE('02-12月-13', 'DD-MON-RR') and ROWID = 'AAAM7rAAGAAAAAMAEs';

      update "ZWC"."TAB01" set "D" = TO_DATE('12-3月 -14', 'DD-MON-RR') where "D" = TO_DATE('02-12月-13', 'DD-MON-RR') and ROWID = 'AAAM7rAAGAAAAAMAEt';

      update "ZWC"."TAB01" set "D" = TO_DATE('12-3月 -14', 'DD-MON-RR') where "D" = TO_DATE('02-12月-13', 'DD-MON-RR') and ROWID = 'AAAM7rAAGAAAAAMAEu';

      update "ZWC"."TAB01" set "D" = TO_DATE('12-3月 -14', 'DD-MON-RR') where "D" = TO_DATE('02-12月-13', 'DD-MON-RR') and ROWID = 'AAAM7rAAGAAAAANAAA';

      update "ZWC"."TAB01" set "D" = TO_DATE('12-3月 -14', 'DD-MON-RR') where "D" = TO_DATE('02-12月-13', 'DD-MON-RR') and ROWID = 'AAAM7rAAGAAAAANAAB';

      update "ZWC"."TAB01" set "D" = TO_DATE('12-3月 -14', 'DD-MON-RR') where "D" = TO_DATE('02-12月-13', 'DD-MON-RR') and ROWID = 'AAAM7rAAGAAAAANAAC';

      update "ZWC"."TAB01" set "D" = TO_DATE('12-3月 -14', 'DD-MON-RR') where "D" = TO_DATE('02-12月-13', 'DD-MON-RR') and ROWID = 'AAAM7rAAGAAAAANAAD';

      update "ZWC"."TAB01" set "D" = TO_DATE('12-3月 -14', 'DD-MON-RR') where "D" = TO_DATE('02-12月-13', 'DD-MON-RR') and ROWID = 'AAAM7rAAGAAAAANAAE';

      update "ZWC"."TAB01" set "D" = TO_DATE('12-3月 -14', 'DD-MON-RR') where "D" = TO_DATE('02-12月-13', 'DD-MON-RR') and ROWID = 'AAAM7rAAGAAAAANAAF';

      update "ZWC"."TAB01" set "D" = TO_DATE('12-3月 -14', 'DD-MON-RR') where "D" = TO_DATE('02-12月-13', 'DD-MON-RR') and ROWID = 'AAAM7rAAGAAAAANAAG';

      10 rows selected.

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved