zoukankan      html  css  js  c++  java
  • 亲测 logminer挖掘

    LogMiner两种使用类型,一种是使用源数据库的数据字典分析DML操作,别一种是摘取LogMiner数据字典到字典文件分析DDL操作。
    检查下suppplemental logging:
    SQL> SELECT SUPPLEMENTAL_LOG_DATA_MIN FROM V$DATABASE;
    如果是YES 或者IMPLICIT则表明已经生效了,否则需要启动:

    安装LogMiner
    查看系统中是否存在运行LogMiner所需要的dbms_logmnr、dbms_logmnr_d包,如果没有需要安装LogMiner工具,必须首先要运行下面这样两个脚本:
    SQL> SELECT distinct name,text,line FROM DBA_SOURCE where type = 'PACKAGE' and name = upper( 'dbms_logmnr_d');
    SQL> @?$ORACLE_HOME/rdbms/admin/dbmslm.sql
    SQL> @?$ORACLE_HOME/rdbms/admin/dbmslmd.sql.
    -- 创建数据字典文件之前需要配置LogMiner文件夹:
    SQL> select * from dba_directories;
    SQL> CREATE DIRECTORY utlfile AS 'D:oracleoradatapracticeLOGMNR';
    SQL> alter system set utl_file_dir='D:oracleoradatapracticeLOGMNR' scope=spfile;
    SQL> SHOW PARAMETER utl_file_dir
    --创建字典文件需要以DBA用户登录,创建到上面配置好的LogMiner文件夹中:
    SQL> CONN LOGMINER/ LOGMINER@PRACTICE AS SYSDBA
    SQL> EXECUTE dbms_logmnr_d.build(dictionary_filename => 'dictionary.ora', dictionary_location =>'D:oracleoradatapracticeLOGMNR');

    SQL>alter database add supplemental log data;

    Database altered.

    SQL> select supplemental_log_data_min,supplemental_log_data_pk,supplemental_log_data_ui from v$database;

    SUPPLEME SUP SUP
    -------- --- ---
    YES NO NO

    --  Oracle的LogMiner可以分析在线(online)和归档(offline)两种日志文件,加入分析日志文件使用dbms_logmnr.add_logfile过程,第一个文件使用dbms_logmnr.NEW参数,后面文件使用dbms_logmnr.ADDFILE参数


    SQL> col member for a50;

    SQL> select * from v$logfile;

    GROUP# STATUS TYPE MEMBER IS_
    ---------- ------- ------- -------------------------------------------------- ---
    3 ONLINE /home/oracle/app/oradata/orcl/redo03.log NO
    2 ONLINE /home/oracle/app/oradata/orcl/redo02.log NO
    1 ONLINE /home/oracle/app/oradata/orcl/redo01.log NO

    SQL> select group#,status from v$log;

    GROUP# STATUS
    ---------- ----------------
    1 INACTIVE
    2 INACTIVE
    3 CURRENT

     

    SQL> select name from v$archived_log where name is not null order by 1;

    no rows selected

     

    SQL> EXECUTE DBMS_LOGMNR.ADD_LOGFILE(LogFileName=>'/home/oracle/app/oradata/orcl/redo03.log',Options=>dbms_logmnr.new);

    PL/SQL procedure successfully completed.

    SQL>EXECUTE DBMS_LOGMNR.ADD_LOGFILE(LogFileName=>'/home/oracle/app/oradata/orcl/redo03.log',Options=>dbms_logmnr.ADDFILE);

    PL/SQL procedure successfully completed.

    SQL> execute DBMS_LOGMNR.START_LOGMNR(options=>dbms_logmnr.dict_from_online_catalog);

    PL/SQL procedure successfully completed.

    SQL> col username for a10;
    SQL> col sql_redo for a45;
    SQL> select username,scn,timestamp,sql_redo from v$logmnr_contents where seg_name='ANDY' order by scn;

    USERNAME SCN TIMESTAMP SQL_REDO
    ---------- ---------- --------- ---------------------------------------------
    UNKNOWN 1301179 15-OCT-14 create table andy(id int);
    UNKNOWN 1301259 15-OCT-14 insert into "ANDY"."ANDY"("ID") values ('1');
    ANDY 1301738 15-OCT-14 insert into "ANDY"."ANDY"("ID") values ('2');
    ANDY 1301743 15-OCT-14 insert into "ANDY"."ANDY"("ID") values ('3');
    ANDY 1301774 15-OCT-14 truncate table andy;

    SQL> execute dbms_logmnr.end_logmnr;

  • 相关阅读:
    (10)C#静态方法,静态字段,静态类,匿名类
    (9)C#类
    (8)C#字符串
    (7)C#流程控制
    (6)C#方法,作用域,方法重载
    (5)C#运算符
    各个品牌主板快速开机启动
    口袋的天空
    繁忙的都市
    取水
  • 原文地址:https://www.cnblogs.com/andy6/p/6067854.html
Copyright © 2011-2022 走看看