logmnr使用】的更多相关文章

在oracle:对logmnr工具分析日志这个不陌生:对数据恢复应用场景经常用到:这里为了方便对归档日志进行分析: 当然网上有一个logmnr界面的工具:感觉很人性化:下载需要积分:为此写一个脚本. ##=========================================================== ## oracle_log_fetch.sh ## created by lottu ## // ## usage: oracle_log_fetch.sh $START_TI…
日志挖掘 9.1 日志中数据用途 所有对用户数据以及数据字典的改变全部被保存在联机日志中.当然nologging,insert/*+append+/情况比较特殊除外,因此归档日志可以用来做数据库的恢复.为了数据库中的日志含有用的信息,一般需要启用最小化的追加日志的属性(alter database add supplemental log data;) 以下列举了日志的常用功能: 1)  恢复数据库的逻辑灾难.比如,在增加员工工资时,应该增加10%,但是却增加了100%,这就需要进行基于时间点逻…
logminer 工具的使用 Oracle LogMiner 是Oracle公司从产品8i以后提供的一个实际非常有用的分析工具,使用该工具可以轻松获得Oracle 重作日志文件(归档日志文件)中的具体内容,特别是,该工具可以分析出所有对于数据库操作的DML(insert.update.delete等)语句,另外还可分析得到一些必要的回滚SQL语句.该工具特别适用于调试.审计或者回退某个特定的事务. LogMiner分析工具实际上是由一组PL/SQL包和一些动态视图(Oracle8i内置包的一部分…
LOGMNR首先执行一个ddl(或dml)操作,以记录重做信息: SYS@ ora11g>conn scott/tigerConnected.SCOTT@ ora11g>alter system switch logfile; System altered. SCOTT@ ora11g>create table user1 as select * from dba_users; Table created. SCOTT@ ora11g>select count(*) from us…
自Oracle 11g起,无需设置UTL_FILE_DIR就可以使用LOGMNR对本地数据库的日志进行分析,以下是使用LOGMNR的DICT_FROM_ONLINE_CATALOG分析REDO和归档日志的步骤,供大家参考学习: 一.分析REDO日志的实验 1.创建测试表,并做DML操作. SQL create table t_test自Oracle 11g起,无需设置UTL_FILE_DIR就可以使用LOGMNR对本地数据库的日志进行分析,以下是使用LOGMNR的DICT_FROM_ONLINE…
使用Logmnr挖掘日志的详细步骤如下: 1. 查看日志状态及位置 col member for a45 select group#,status from v$log; select group#,member from v$logfile; 2. 修改数据库启用补充日志 alter database add supplemental log data; 3. 添加日志文件 exec dbms_logmnr.add_logfile('/u01/app/oracle/oradata/lgr/re…
生产库中出现了大量的锁表,需要得到当时程式执行的SQL以及其带入的值 1.查看SQL SELECT SQL_ID FROM V$SESSION WHERE SID=(SELECT FINAL_BLOCKING_SESSION FROM V$SESSION WHERE BLOCKING_SESSION IS NOT NULL); 查出来后,在通过V$SQL查找,此时发现程式使用了绑定变量,此方法不可行. 2.通过10046进行追踪 可以通过10046追踪某个会话,但是因为有好多程式,并不知道哪一个…
1.找到存储过程被修改时的归档日志 SELECT NAME FROM V$ARCHIVED_LOG WHERE FIRST_TIME BETWEEN TO_DATE('20191118080000','YYYYMMDDHH24MISS') AND TO_DATE('20191118081000','YYYYMMDDHH24MISS'); 2.使用logmnr EXEC SYS.DBMS_LOGMNR.ADD_LOGFILE('/archlog/xxxxx.dbf'); EXEC SYS.DBMS…
经常遇到开发的需求,帮我查一下是谁修改了表里面的记录,是谁对表进行了DDL操作,此类问题可以使用logmnr解决 1.根据操作时间定位归档日志 SELECT name FROM V$ARCHIVED_LOG WHERE CREATOR='ARCH' AND FIRST_TIME BETWEEN TO_DATE('','') AND TO_DATE('',''); 2.将归档日志加载进logmnr EXEC SYS.DBMS_LOGMNR.ADD_LOGFILE('/xxx/xxx/1_15882…
俗话说,常在河边走,哪有不湿鞋的.作为一个经常与数据库打交道的程序员,偶尔不小心误删除或误操作的数据也是在所难免的.如果是Oracle数据库,这里给您介绍一种从日志中找回数据的办法,下面这个地址是我以前曾经做过的一个脚本,在plsql的command中执行,供您参考   http://www.saehk.com/a/jingyanfenxiang/Oraclejingyanfenxiang/124.html…