oracle 日志挖掘

本文介绍了如何使用Oracle的LogMiner工具进行日志挖掘。首先,需要以DBA用户身份运行$ORACLE_HOME/rdbms/admin/dbmslm.sql和dbmslmd.sql脚本来创建必要的包。然后,创建字典文件并启动日志分析。LogMiner的分析结果仅在当前会话中可见,结束后数据将消失。通过查询v$logmnr_contents视图可以查看操作记录,例如删除和插入操作的详细信息。
摘要由CSDN通过智能技术生成
oracle 提供了一种技术,叫做LogMiner 可以对redo log和archive log进行挖掘,得到其中有用的信息。该工具特别适用于调试、审计或者回退某个特定的事务。
LogMiner的使用
  使用LogMiner数据库必须运行在归档模式下,查看数据归档的如下:

SQL> archive log list
数据库日志模式            存档模式
自动存档             启用
存档终点            USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列     1607
下一个存档日志序列   1609
当前日志序列           1609

在开始学习LogMiner,我们做如下的例子:
SQL> create table t as select * from dba_objects;
得到当前scn
SQL> select dbms_flashback.get_system_change_number scn from dual;

       SCN
----------
   7240047
我们来做删除操作
SQL> delete from t where rownum=1;

SQL> commit;

再一次得到scn
SQL> select dbms_flashback.get_system_change_number scn from dual;

       SCN
----------
   7240098
得到当前日志
SQL> select group#,members,status from v$log;

    GROUP#    MEMBERS STATUS
---------- ---------- ----------------
         1          1 CURRENT
         2          1 INACTIVE
         3          1 INACTIVE
SQL> select member from v$logfile where group#=1;

MEMBER
--------------------------------------------------

D:\APP\ZHOUKAI\ORADATA\ORCL\REDO01.LOG
后面我们使用LogMiner来挖掘这部分日志
1.安装LogMiner
  在安装oracle的时候,一般都已经默认安装了LogMiner了,查看有没有LogMiner运行所需要的dbms_logmnrdbms_logmnr_d,如果没有则需要安装,在oracle 11g中使用dba权限执行以下脚本:

1、$ORACLE_HOME/rdbms/admin/dbmslm.sql

2、$ORACLE_HOME/rdbms/admin/dbmslmd.sql

这两个脚本必须均以DBA用户身份运行。其中第一个脚本用来创建DBMS_LOGMNR包,该包用来分析日志文件。第二个脚本用来创建DBMS_LOGMNR_D包,该包用来创建数据字典文件。

2.创建字典文件

 CREATE DIRECTORY utlfile AS 'D:\app\zhoukai\oradata\LOGMNR';
 alter system set utl_file_dir='D:\app\zhoukai\oradata\LOGMNR' scope=spfile;

 执行以上语句后,重启数据库,查看是否设置成功

SQL> show parameter utl

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
create_stored_outlines               string
utl_file_dir                         string      D:\app\zhoukai\oradata\LOGMNR
EXECUTE dbms_logmnr_d.build(dictionary_filename => 'dictionary.ora
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值