开发者社区> 技术小美> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

亲测 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:\oracle\oradata\practice\LOGMNR';
SQL> alter system set utl_file_dir='D:\oracle\oradata\practice\LOGMNR' 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:\oracle\oradata\practice\LOGMNR');

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;

文章可以转载,必须以链接形式标明出处。


本文转自 张冲andy 博客园博客,原文链接: http://www.cnblogs.com/andy6/p/6067854.html  ,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
logminer实践--客户的一次疏忽,DBA的一次噩梦。
客户的一次疏忽,DBA的一次噩梦。  转载出处:http://www.oracleblog.org/working-case/dba-always-bad-luck-with-careless-customer/ 今晚接到老大的电话,泰国的客户不小心删除了一些表的数据,现在非常着急,需要恢复数据。
659 0
如何生成和阅读EnterpriseDB (PPAS)诊断报告
PPAS是基于PostgreSQL的高度兼容Oracle的商业产品。 不仅语法和Oracle兼容,功能也和Oracle很类似。 例如它也支持生成类似statspack或者AWR报告。 如何创建快照 配置参数timed_statistics=true或者在客户端会话中设置timed
3196 0
LogMiner日志分析工具的使用
1.安装logminer:       要安装LogMiner工具,必须首先要运行下面这样两个脚本,      $ORACLE_HOME/rdbms/admin/dbmslm.sql      $ORACLE_HOME/rdbms/admin/dbmslmd.sql.      这两个脚本必须均以SYS用户身份运行。
564 0
Oracle 10g LOGMNR挖掘日志很方便
转自http://blog.zdnet.com.cn/html/80/289380-2877270.html Oracle 10g LOGMNR挖掘日志很方便.   Oracle 10g可以使用LOGMNR在线分析和挖掘日志,使用当前在线的数据字典,非常方便。
556 0
ORACLE关于索引是否需要定期重建争论的整理
ORACLE数据库中的索引到底要不要定期重建呢? 如果不需要定期重建,那么理由是什么? 如果需要定期重建,那么理由又是什么?另外,如果需要定期重建,那么满足那些条件的索引才需要重建呢?关于这个问题,网上也有很多争论,也一直让我有点困惑,因为总有点不得庐山真面目的感觉,直到上周看到了一些资料,遂整理于此,方便以后翻阅:   首先来看看网上关于索引需要重建的准则或标准:    一:分析(analyze)指定索引之后,查询index_stats的height字段的值,如果这个值>=4 ,最好重建(rebuild)这个索引。
1520 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载