logmnr 的使用详解

select * from v$log

select * from v$logfile

exec dbms_logmnr.add_logfile('/u01/app/oracle/oradata/aiki/redo03.log',dbms_logmnr.new);

select count(1) from v$logmnr_contents;

exec dbms_logmnr.start_logmnr(options=>dbms_logmnr.dict_from_online_catalog);


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

1:基本对象
数据库
分析数据库
LogMiner字典


2:LonMiner配置需求
1):源数据库和分析数据库必须在相同的硬件平台上
2)分析数据库可以是独立数据库或者与源数据库在同一数据库中
3):分析数据库版本不能低于源数据库的版本
4):分析数据库与源数据库必须有相同的字符集
5):LogMiner字典必须在源数据库中生成
6):重做日志文件
默认情况下无法支持一下特征
索引簇,long和lob数据类型

sql>conn sys/oracle@deom as sysdba
sql>alter database add supplemental log data;


3:数据库配置
mkdir /logmnr

chown -R oracle:dba /logmnr

alter system set utl_file_dir='/logmnr' scope=spfile sid='*';

startup force

4:Use logmnr
create dictionary
1):
execute dbms_logmnr_d.build(dictionary_filename=>'dictionary.ora',dictionary_location=>'/logmnr');
这个过程可能会报错identifier 'DBMS_LOGMNR_D.STORE_IN_FLAT_FILE' must be declared
我的数据库版本是10g执行$ORACLE_HOME/rdbms/admin/dbmslmd.sql这个脚本,如果是早期的版本需要执dbmslogmnrd.sql
2):add logfile
SQL> execute dbms_logmnr.add_logfile(logfilename=>'/u01/db_1/dbs/arch1_7_668642272.dbf');
注:如果这个过程有问题,运行这个SQL>@$ORACLE_HOME/rdbms/admin/dbmslm.sql脚本即可解决
select * from v$logmnr_logs;
3):start analyze
SQL> execute dbms_logmnr.start_logmnr(dictfilename=>'/logmnr/dictionary.ora');
SQL> select count(*) from v$logmnr_contents; //证明该表中有数据
4):create table as select * from v$logmnr_contents
sql>create table test.logmnr as select * from v$log

desc v$logmnr_contents
username
seg_name
seg_owner
seg_type_name
timestamp
operation
5):end logmnr
SQL> select count(*) from v$logmnr_contents;

COUNT(*)
----------
599

SQL> execute dbms_logmnr.end_logmnr;

PL/SQL procedure successfully completed.

SQL> select count(*) from v$logmnr_contents;
select count(*) from v$logmnr_contents
*
ERROR at line 1:
ORA-01306: dbms_logmnr.start_logmnr() must be invoked before selecting from
v$logmnr_contents
6):find exact drop time

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值