LogMiner 是Oracle公司从产品8i后来提供的一个实际超级有用的分析工具,使用该工具可以轻松获得Oracle 重做日志文件(归档日志文件)中的具体内容,LogMiner分析工具实际上是由一组PL/SQL包和一些动态视图组成,它作为Oracle数据库的一部分来发布,是oracle公司提供的一个完全免费的工具。
日志文件中存放着所有进行数据库恢复的数据,记录了针对数据库结构的每一个变化,也就是对数据库操作的所有DML语句。
一、开启归档日志
1、oracle需要 启动到mount状态
mkdir -p /data/arch —要修改的归档路径
archive log list; —查看oracle归档
shutdown immediate;
startup mount; —oracle需要 启动到mount状态
alter database archivelog;
alter system set log_archive_dest_1= location=/data/arch ; —归档路径修改为 指定路径
alter database open;
2、安装dbms包
SQL> @?/rdbms/admin/dbmslmd.sql
SQL> @?/rdbms/admin/dbmslm.sql
SQL> @?/rdbms/admin/dbmslms.sql
3、查看utl_file_dir参数
SQL> show parameter utl_file_dir
如无路径,须添加路径
SQL> alter system set utl_file_dir= /dblog scope=spfile;
SQL> shut immediate;
SQL> startup
4、手动切换日志
alter system switch logfile;
5、查看日志文件和归档文件路径
select * from v$logfile;
select name from v$archived_log;


二、日志挖掘
1、创建日志挖掘的字典
execute dbms_logmnr_d.build(dictionary_filename=> log.ora ,dictionary_location=> /dblog ,options=>dbms_logmnr_d.store_in_flat_file);
2、添加归档日志
第一个归档日志为new,后面的直接add
exec dbms_logmnr.add_logfile( /data/arch/1_4_1127298192.dbf ,dbms_logmnr.new);
exec dbms_logmnr.add_logfile( /data/arch/1_5_1127298192.dbf ,dbms_logmnr.addfile);
exec dbms_logmnr.add_logfile( /data/arch/1_6_1127298192.dbf ,dbms_logmnr.addfile);
3、开启日志挖掘
exec dbms_logmnr.start_logmnr(dictfilename=> /dblog/log.ora );
4、查看日志挖掘记录,提议使用spool
spool /home/oracle/1.sql
select scn,to_char(timestamp, yyyy-mm-dd hh24:mi:ss ),sql_redo from v$logmnr_contents where seg_name= 表 and seg_owner= 用户;
spool off
5、关闭日志挖掘
exec dbms_logmnr.end_logmnr;
6、查看/home/oracle/1.sql,寻找删除的语句。
