首页 > 代码库 > 实验日志挖掘一例

实验日志挖掘一例

---开启附加日志功能

   SQL> archive log list;   Database log mode           Archive Mode   Automatic archival           Enabled   Archive destination           /home/oracle/archive_log   Oldest online log sequence     27   Next log sequence to archive   29   Current log sequence           29      SQL> alter database add supplemental log data;      Database altered.

 --模拟一个删除

       SQL> conn scott/tiger       Connected.       SQL> select * from tab;              TNAME                   TABTYPE    CLUSTERID       ------------------------------ ------- ----------       DEPT                   TABLE       EMP                   TABLE       BONUS                   TABLE       SALGRADE               TABLE       TEST                   TABLE       EXT_TEST               TABLE       TEST2                   TABLE       EXT_TEST_SQLLOADER           TABLE              8 rows selected.              SQL> delete emp;                14 rows deleted.              SQL> commit;              Commit complete.

---开始日志挖掘

SQL> conn /as sysdbaConnected.SQL> desc dbms_logmnrPROCEDURE ADD_LOGFILE Argument Name            Type            In/Out Default? ------------------------------ ----------------------- ------ -------- LOGFILENAME            VARCHAR2        IN OPTIONS            BINARY_INTEGER        IN     DEFAULTFUNCTION COLUMN_PRESENT RETURNS BINARY_INTEGER Argument Name            Type            In/Out Default? ------------------------------ ----------------------- ------ -------- SQL_REDO_UNDO            NUMBER            IN     DEFAULT COLUMN_NAME            VARCHAR2        IN     DEFAULTPROCEDURE END_LOGMNRFUNCTION MINE_VALUE RETURNS VARCHAR2 Argument Name            Type            In/Out Default? ------------------------------ ----------------------- ------ -------- SQL_REDO_UNDO            NUMBER            IN     DEFAULT COLUMN_NAME            VARCHAR2        IN     DEFAULTPROCEDURE REMOVE_LOGFILE Argument Name            Type            In/Out Default? ------------------------------ ----------------------- ------ -------- LOGFILENAME            VARCHAR2        INPROCEDURE START_LOGMNR Argument Name            Type            In/Out Default? ------------------------------ ----------------------- ------ -------- STARTSCN            NUMBER            IN     DEFAULT ENDSCN             NUMBER            IN     DEFAULT STARTTIME            DATE            IN     DEFAULT ENDTIME            DATE            IN     DEFAULT DICTFILENAME            VARCHAR2        IN     DEFAULT OPTIONS            BINARY_INTEGER        IN     DEFAULT

 

SQL> select member from v$logfile;MEMBER--------------------------------------------------------------------------------/u01/app/oracle/oradata/ORCL/redo03.log/u01/app/oracle/oradata/ORCL/redo02.log/u01/app/oracle/oradata/ORCL/redo01.logSQL> exec dbms_logmnr.ADD_LOGFILE(LOGFILENAME=>/u01/app/oracle/oradata/ORCL/redo01.log,OPTIONS=>dbms_logmnr.new);PL/SQL procedure successfully completed.SQL> exec dbms_logmnr.ADD_LOGFILE(LOGFILENAME=>/u01/app/oracle/oradata/ORCL/redo02.log,OPTIONS=>dbms_logmnr.addfile);PL/SQL procedure successfully completed.SQL> exec dbms_logmnr.ADD_LOGFILE(LOGFILENAME=>/u01/app/oracle/oradata/ORCL/redo03.log,OPTIONS=>dbms_logmnr.addfile);PL/SQL procedure successfully completed.SQL> exec dbms_logmnr.start_logmnr(OPTIONS=>dbms_logmnr.dict_from_online_catalog);PL/SQL procedure successfully completed.

 

SQL> select username,scn,timestamp,sql_redo from v$logmnr_contents where seg_name=EMP;USERNAME      SCN TIMESTAMP       SQL_REDO---------- ---------- ------------------- --------------------------------------------------SCOTT           765514 2014-05-14 15:30:04 delete from "SCOTT"."EMP" where "EMPNO" = 7369 a                      nd "ENAME" = SMITH and "JOB" = CLERK and "MGR"                       = 7902 and "HIREDATE" = TO_DATE(1980-12-17 00:                      00:00, yyyy-mm-dd hh24:mi:ss) and "SAL" = 800                       and "COMM" IS NULL and "DEPTNO" = 20 and ROWID                      = AAAMfMAAEAAAAAgAAA;SCOTT           765514 2014-05-14 15:30:04 delete from "SCOTT"."EMP" where "EMPNO" = 7499 a                      nd "ENAME" = ALLEN and "JOB" = SALESMAN and "M                      GR" = ‘7698‘ and "HIREDATE" = TO_DATE(‘1981-02-20                      00:00:00, yyyy-mm-dd hh24:mi:ss) and "SAL" = 1USERNAME      SCN TIMESTAMP       SQL_REDO---------- ---------- ------------------- --------------------------------------------------                      600 and "COMM" = 300 and "DEPTNO" = 30 and RO                      WID = AAAMfMAAEAAAAAgAAB;SCOTT           765514 2014-05-14 15:30:04 delete from "SCOTT"."EMP" where "EMPNO" = 7521 a                      nd "ENAME" = WARD and "JOB" = SALESMAN and "MG                      R" = ‘7698‘ and "HIREDATE" = TO_DATE(‘1981-02-22 0                      0:00:00, yyyy-mm-dd hh24:mi:ss) and "SAL" = 12                      50 and "COMM" = 500 and "DEPTNO" = 30 and ROW                      ID = AAAMfMAAEAAAAAgAAC;SCOTT           765514 2014-05-14 15:30:04 delete from "SCOTT"."EMP" where "EMPNO" = 7566 aUSERNAME      SCN TIMESTAMP       SQL_REDO---------- ---------- ------------------- --------------------------------------------------                      nd "ENAME" = JONES and "JOB" = MANAGER and "MG                      R" = ‘7839‘ and "HIREDATE" = TO_DATE(‘1981-04-02 0                      0:00:00, yyyy-mm-dd hh24:mi:ss) and "SAL" = 29                      75 and "COMM" IS NULL and "DEPTNO" = 20 and ROW                      ID = AAAMfMAAEAAAAAgAAD;SCOTT           765514 2014-05-14 15:30:04 delete from "SCOTT"."EMP" where "EMPNO" = 7654 a                      nd "ENAME" = MARTIN and "JOB" = SALESMAN and "                      MGR" = ‘7698‘ and "HIREDATE" = TO_DATE(‘1981-09-28                       00:00:00, yyyy-mm-dd hh24:mi:ss) and "SAL" =                       1250 and "COMM" = 1400 and "DEPTNO" = 30 andUSERNAME      SCN TIMESTAMP       SQL_REDO---------- ---------- ------------------- --------------------------------------------------                      ROWID = AAAMfMAAEAAAAAgAAE;SCOTT           765514 2014-05-14 15:30:04 delete from "SCOTT"."EMP" where "EMPNO" = 7698 a                      nd "ENAME" = BLAKE and "JOB" = MANAGER and "MG                      R" = ‘7839‘ and "HIREDATE" = TO_DATE(‘1981-05-01 0                      0:00:00, yyyy-mm-dd hh24:mi:ss) and "SAL" = 28                      50 and "COMM" IS NULL and "DEPTNO" = 30 and ROW                      ID = AAAMfMAAEAAAAAgAAF;SCOTT           765514 2014-05-14 15:30:04 delete from "SCOTT"."EMP" where "EMPNO" = 7782 a                      nd "ENAME" = CLARK and "JOB" = MANAGER and "MGUSERNAME      SCN TIMESTAMP       SQL_REDO---------- ---------- ------------------- --------------------------------------------------                      R" = ‘7839‘ and "HIREDATE" = TO_DATE(‘1981-06-09 0                      0:00:00, yyyy-mm-dd hh24:mi:ss) and "SAL" = 24                      50 and "COMM" IS NULL and "DEPTNO" = 10 and ROW                      ID = AAAMfMAAEAAAAAgAAG;SCOTT           765514 2014-05-14 15:30:04 delete from "SCOTT"."EMP" where "EMPNO" = 7788 a                      nd "ENAME" = SCOTT and "JOB" = ANALYST and "MG                      R" = ‘7566‘ and "HIREDATE" = TO_DATE(‘1987-04-19 0                      0:00:00, yyyy-mm-dd hh24:mi:ss) and "SAL" = 30                      00 and "COMM" IS NULL and "DEPTNO" = 20 and ROW                      ID = AAAMfMAAEAAAAAgAAH;USERNAME      SCN TIMESTAMP       SQL_REDO---------- ---------- ------------------- --------------------------------------------------SCOTT           765514 2014-05-14 15:30:04 delete from "SCOTT"."EMP" where "EMPNO" = 7839 a                      nd "ENAME" = KING and "JOB" = PRESIDENT and "M                      GR" IS NULL and "HIREDATE" = TO_DATE(‘1981-11-17 0                      0:00:00, yyyy-mm-dd hh24:mi:ss) and "SAL" = 50                      00 and "COMM" IS NULL and "DEPTNO" = 10 and ROW                      ID = AAAMfMAAEAAAAAgAAI;SCOTT           765514 2014-05-14 15:30:04 delete from "SCOTT"."EMP" where "EMPNO" = 7844 a                      nd "ENAME" = TURNER and "JOB" = SALESMAN and "                      MGR" = ‘7698‘ and "HIREDATE" = TO_DATE(‘1981-09-08USERNAME      SCN TIMESTAMP       SQL_REDO---------- ---------- ------------------- --------------------------------------------------                       00:00:00, yyyy-mm-dd hh24:mi:ss) and "SAL" =                       1500 and "COMM" = 0 and "DEPTNO" = 30 and ROW                      ID = AAAMfMAAEAAAAAgAAJ;SCOTT           765514 2014-05-14 15:30:04 delete from "SCOTT"."EMP" where "EMPNO" = 7876 a                      nd "ENAME" = ADAMS and "JOB" = CLERK and "MGR"                       = 7788 and "HIREDATE" = TO_DATE(1987-05-23 00:                      00:00, yyyy-mm-dd hh24:mi:ss) and "SAL" = 1100                       and "COMM" IS NULL and "DEPTNO" = 20 and ROWID                       = AAAMfMAAEAAAAAgAAK;USERNAME      SCN TIMESTAMP       SQL_REDO---------- ---------- ------------------- --------------------------------------------------SCOTT           765514 2014-05-14 15:30:04 delete from "SCOTT"."EMP" where "EMPNO" = 7900 a                      nd "ENAME" = JAMES and "JOB" = CLERK and "MGR"                       = 7698 and "HIREDATE" = TO_DATE(1981-12-03 00:                      00:00, yyyy-mm-dd hh24:mi:ss) and "SAL" = 950                       and "COMM" IS NULL and "DEPTNO" = 30 and ROWID                      = AAAMfMAAEAAAAAgAAL;SCOTT           765514 2014-05-14 15:30:04 delete from "SCOTT"."EMP" where "EMPNO" = 7902 a                      nd "ENAME" = FORD and "JOB" = ANALYST and "MGR                      " = ‘7566‘ and "HIREDATE" = TO_DATE(‘1981-12-03 00                      :00:00, yyyy-mm-dd hh24:mi:ss) and "SAL" = 300USERNAME      SCN TIMESTAMP       SQL_REDO---------- ---------- ------------------- --------------------------------------------------                      0 and "COMM" IS NULL and "DEPTNO" = 20 and ROWI                      D = AAAMfMAAEAAAAAgAAM;SCOTT           765514 2014-05-14 15:30:04 delete from "SCOTT"."EMP" where "EMPNO" = 7934 a                      nd "ENAME" = MILLER and "JOB" = CLERK and "MGR                      " = ‘7782‘ and "HIREDATE" = TO_DATE(‘1982-01-23 00                      :00:00, yyyy-mm-dd hh24:mi:ss) and "SAL" = 130                      0 and "COMM" IS NULL and "DEPTNO" = 10 and ROWI                      D = AAAMfMAAEAAAAAgAAN;

 

SQL> set pagesize 1000SQL> select sql_undo from v$logmnr_contents where seg_name=EMP;SQL_UNDO------------------------------------------------------------------------------------------------------------------------insert into "SCOTT"."EMP"("EMPNO","ENAME","JOB","MGR","HIREDATE","SAL","COMM","DEPTNO") values (7369,SMITH,CLERK,7902,TO_DATE(1980-12-17 00:00:00, yyyy-mm-dd hh24:mi:ss),800,NULL,20);insert into "SCOTT"."EMP"("EMPNO","ENAME","JOB","MGR","HIREDATE","SAL","COMM","DEPTNO") values (7499,ALLEN,SALESMAN,7698,TO_DATE(1981-02-20 00:00:00, yyyy-mm-dd hh24:mi:ss),1600,300,30);insert into "SCOTT"."EMP"("EMPNO","ENAME","JOB","MGR","HIREDATE","SAL","COMM","DEPTNO") values (7521,WARD,SALESMAN,7698,TO_DATE(1981-02-22 00:00:00, yyyy-mm-dd hh24:mi:ss),1250,500,30);insert into "SCOTT"."EMP"("EMPNO","ENAME","JOB","MGR","HIREDATE","SAL","COMM","DEPTNO") values (7566,JONES,MANAGER,7839,TO_DATE(1981-04-02 00:00:00, yyyy-mm-dd hh24:mi:ss),2975,NULL,20);insert into "SCOTT"."EMP"("EMPNO","ENAME","JOB","MGR","HIREDATE","SAL","COMM","DEPTNO") values (7654,MARTIN,SALESMAN,7698,TO_DATE(1981-09-28 00:00:00, yyyy-mm-dd hh24:mi:ss),1250,1400,30);insert into "SCOTT"."EMP"("EMPNO","ENAME","JOB","MGR","HIREDATE","SAL","COMM","DEPTNO") values (7698,BLAKE,MANAGER,7839,TO_DATE(1981-05-01 00:00:00, yyyy-mm-dd hh24:mi:ss),2850,NULL,30);insert into "SCOTT"."EMP"("EMPNO","ENAME","JOB","MGR","HIREDATE","SAL","COMM","DEPTNO") values (7782,CLARK,MANAGER,7839,TO_DATE(1981-06-09 00:00:00, yyyy-mm-dd hh24:mi:ss),2450,NULL,10);insert into "SCOTT"."EMP"("EMPNO","ENAME","JOB","MGR","HIREDATE","SAL","COMM","DEPTNO") values (7788,SCOTT,ANALYST,7566,TO_DATE(1987-04-19 00:00:00, yyyy-mm-dd hh24:mi:ss),3000,NULL,20);insert into "SCOTT"."EMP"("EMPNO","ENAME","JOB","MGR","HIREDATE","SAL","COMM","DEPTNO") values (7839,KING,PRESIDENT,NULL,TO_DATE(1981-11-17 00:00:00, yyyy-mm-dd hh24:mi:ss),5000,NULL,10);insert into "SCOTT"."EMP"("EMPNO","ENAME","JOB","MGR","HIREDATE","SAL","COMM","DEPTNO") values (7844,TURNER,SALESMAN,7698,TO_DATE(1981-09-08 00:00:00, yyyy-mm-dd hh24:mi:ss),1500,0,30);insert into "SCOTT"."EMP"("EMPNO","ENAME","JOB","MGR","HIREDATE","SAL","COMM","DEPTNO") values (7876,ADAMS,CLERK,7788,TO_DATE(1987-05-23 00:00:00, yyyy-mm-dd hh24:mi:ss),1100,NULL,20);insert into "SCOTT"."EMP"("EMPNO","ENAME","JOB","MGR","HIREDATE","SAL","COMM","DEPTNO") values (7900,JAMES,CLERK,7698,TO_DATE(1981-12-03 00:00:00, yyyy-mm-dd hh24:mi:ss),950,NULL,30);insert into "SCOTT"."EMP"("EMPNO","ENAME","JOB","MGR","HIREDATE","SAL","COMM","DEPTNO") values (7902,FORD,ANALYST,7566,TO_DATE(1981-12-03 00:00:00, yyyy-mm-dd hh24:mi:ss),3000,NULL,20);insert into "SCOTT"."EMP"("EMPNO","ENAME","JOB","MGR","HIREDATE","SAL","COMM","DEPTNO") values (7934,MILLER,CLERK,7782,TO_DATE(1982-01-23 00:00:00, yyyy-mm-dd hh24:mi:ss),1300,NULL,10);14 rows selected.

 

实验日志挖掘一例