- 浏览: 25737 次
- 性别:
- 来自: 大连
文章分类
最新评论
-
jxhow:
很好,很受用!感谢
Spring annotation 自动注入(Service,DAO) -
vernonchen163:
简洁实用.
List to Map -
ahuzl007:
allloveend 写道有没有效果图来一个 效果很一般,就是 ...
struts2.3.x 用validation框架做客户端验证 -
allloveend:
有没有效果图来一个
struts2.3.x 用validation框架做客户端验证
1. dict_from_online_catalog mode
dict_from_online_catalog具体操作又分为两种:分析online redo logfile,分析archived logfile.
1.1 分析online redo logfile
准备数据
id number(5),
name varchar2(20)
);
PL/SQL procedure successfully completed.
这里需要说明的是,不一定三个online redo log都加,这里只是个例子,按照需要添加即可
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
TIMESTAMP
-------------------
SQL_REDO
--------------------------------------------------------------------------------
SQL_UNDO
--------------------------------------------------------------------------------
2010/07/15 00:34:31
set transaction read write;
2010/07/15 00:34:31
insert into "SCOTT"."TEST_LOGMNR"("ID","NAME") values ('222','test2');
delete from "SCOTT"."TEST_LOGMNR" where "ID" = '222' and "NAME" = 'test2' and RO
WID = 'AAANymAAEAAAAb0AAC';
2010/07/15 00:34:39
commit;
1.2 分析archived log
[oracle@rac02 archive]$ ls -ltr | tail -2
-rw-r----- 1 oracle oinstall 52027904 Jul 14 22:00 1_433_704572097.arc
-rw-r----- 1 oracle oinstall 16630784 Jul 15 01:56 1_434_704572097.arc
[oracle@rac02 archive]$ date
Thu Jul 15 01:58:13 JST 2010
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
TIMESTAMP
-------------------
SQL_REDO
--------------------------------------------------------------------------------
SQL_UNDO
--------------------------------------------------------------------------------
2010/07/15 01:55:23
set transaction read write;
2010/07/15 01:55:23
insert into "SCOTT"."TEST_LOGMNR"("ID","NAME") values ('333','test3');
delete from "SCOTT"."TEST_LOGMNR" where "ID" = '333' and "NAME" = 'test3' and RO
WID = 'AAANymAAEAAAAb0AAD';
2010/07/15 01:55:24
commit;
2. dict_from_redo_logs mode
准备数据
2.1 添加archived log
我觉得,这个mode比较扯,扯就扯在这个添加archived log的过程上,各位看官自己看吧
2.1.1 准备要添加的archived log
PL/SQL procedure successfully completed.
NAME
------------------------------------------------------------------------------------------------------------------------
/opt/ora10g/flash_recovery_area/SINGLE/archivelog/2010_07_09/o1_mf_1_18 _63fplys3_.arc
/opt/ora10g/flash_recovery_area/SINGLE/archivelog/2010_07_18/o1_mf_1_24 _645vgq4d_.arc
/opt/ora10g/flash_recovery_area/SINGLE/archivelog/2010_07_18/o1_mf_1_28 _645vyodl_.arc
/opt/ora10g/flash_recovery_area/SINGLE/archivelog/2010_07_18/o1_mf_1_36 _645x3s23_.arc
/opt/ora10g/flash_recovery_area/SINGLE/archivelog/2010_07_18/o1_mf_1_38 _645x8v45_.arc
/opt/ora10g/flash_recovery_area/SINGLE/archivelog/2010_07_18/o1_mf_1_40 _645xd76w_.arc
/opt/ora10g/flash_recovery_area/SINGLE/archivelog/2010_07_18/o1_mf_1_43 _645xw17j_.arc
/opt/ora10g/flash_recovery_area/SINGLE/archivelog/2010_07_19/o1_mf_1_46 _646vx8m4_.arc
8 rows selected.
2.1.2 确认要添加的archived log(这次我们添加7月19日的)
合計 47520
-rw-r----- 1 oracle dba 39141888 7月 19 06:18 o1_mf_1_45_646vx3lr_.arc
-rw-r----- 1 oracle dba 9451520 7月 19 06:18 o1_mf_1_46_646vx8m4_.arc
2.1.3 添加archived log到logminer
PL/SQL procedure successfully completed.
这里要注意的是,要先添加o1_mf_1_ 46 _646vx8m4_.arc(即显示在v$archived_log里的), 再添加o1_mf_1_45_646vx3lr_.arc,否则会出错。
为什么我非要多添加一个o1_mf_1_45_646vx3lr_.arc呢?因为我知道,刚刚插入的444,‘test4’数据就在这个archived log中。
PL/SQL procedure successfully completed.
2.1.4 开始分析
PL/SQL procedure successfully completed.
2.1.5 从 v$logmnr_contents中查找SQL_REDO和SQL_UNDO
TIMESTAMP
-------------------
SQL_REDO
--------------------------------------------------------------------------------
SQL_UNDO
--------------------------------------------------------------------------------
2010-07-19 06:17:35
insert into "SCOTT"."TEST_LOGMNR"("ID","NAME") values ('444','test4');
delete from "SCOTT"."TEST_LOGMNR" where "ID" = '444' and "NAME" = 'test4' and RO
WID = 'AAAM6eAAEAAADo8AAF';
2010-07-19 06:17:35
commit;
3. Dictory mode
Dictory mode的优点是可以分析其他DB或是Instance的log. 只要你有那个目标库的数据字典 XXXX.ora文件。缺点就是你必须要有这个 XXXX.ora文件
3.1 set utl_file_dir parameter
utl_file_dir一般默认为空
NAME TYPE VALUE
------------------------------------ ----------- ----------------------------
utl_file_dir string
想写scope=both => 不行, 想立即生效 => 不行, 乖乖重起DB吧
System altered.
设定完后确认一下
NAME TYPE VALUE
------------------------------------ ----------- ----------------------------
utl_file_dir string /home/oracle/chou
3.2 生成XXXX.ora数据字典文件
dictionary_location必须是先前指定的utl_file_dir值
2 dictionary_filename => 'test_logmnr.ora',
3 dictionary_location => '/home/oracle/chou',
4 options => DBMS_LOGMNR_D.STORE_IN_FLAT_FILE);
PL/SQL procedure successfully completed.
-rw-r--r-- 1 oracle oinstall 22137597 Jun 30 19:31 test_logmnr.ora
3.3 开始logminer过程
3.3.1 分析online redo log
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
TIMESTAMP
-------------------
SQL_REDO
--------------------------------------------------------------------------------
SQL_UNDO
--------------------------------------------------------------------------------
2010/07/15 00:34:31
set transaction read write;
2010/07/15 00:34:31
insert into "SCOTT"."TEST_LOGMNR"("ID","NAME") values ('222','test2');
delete from "SCOTT"."TEST_LOGMNR" where "ID" = '222' and "NAME" = 'test2' and RO
WID = 'AAANymAAEAAAAb0AAC';
2010/07/15 00:34:39
commit;
如果不指定
DICTFILENAME,
会怎样呢,下面为您呈现
PL/SQL procedure successfully completed.
TIMESTAMP
-------------------
SQL_REDO
--------------------------------------------------------------------------------
SQL_UNDO
--------------------------------------------------------------------------------
2010/07/15 00:34:31
set transaction read write;
2010/07/15 00:34:31
insert into "UNKNOWN "."OBJ# 56486 "("COL 1 ","COL 2 ") values (HEXTORAW('323232'),HEXTORAW('7465737432') );
delete from "UNKNOWN "."OBJ# 56486 " where "COL 1" = HEXTORAW('323232') and "COL 2" = HEXTORAW('7465737432') and ROWID = 'AAANymAAEAAAAb0AAC';
2010/07/15 00:34:39
commit;
区别我就不说了吧
3.3.2 分析archived log
2 LOGFILENAME => '/home/oracle/chou/1_419_704572097.arc',
3 OPTIONS => dbms_logmnr.new);
PL/SQL procedure successfully completed.
3.3.2.2 开始分析
2 DICTFILENAME => '/home/oracle/chou/test_logmnr.ora');
PL/SQL procedure successfully completed.
2 where USERNAME = 'SCOTT' and OPERATION = 'DELETE';
TIMESTAMP
-------------------
SQL_REDO
------------------------------------------------------------------------------------------------------------------------
SQL_UNDO
------------------------------------------------------------------------------------------------------------------------
2010/06/30 19:09:43
delete from "SCOTT"."TEST_LOGMNR" where "ID" = '222' and "NAME" = 'tester1' and ROWID = 'AAANymAAEAAAAb0AAB';
insert into "SCOTT"."TEST_LOGMNR"("ID","NAME") values ('222','tester1');
完了。
发表评论
-
LIKE索引,以及全文检索索引
2015-11-15 05:40 451有空再翻译 通常、Oracle Databaseからデータ ... -
一些查询TABLESPACE的sql
2015-09-15 19:46 493原文:http://www.asahi-net ... -
java连接oracle数据库 返回一个单例连接
2012-08-14 16:46 1067import java.sql.Connection; im ... -
plsql 块一个小例子(循环更新,游标使用)
2012-01-25 14:10 1033set echo off set termout on s ... -
sqlplus 生成csv 文件
2012-01-25 14:09 1200set echo off --コンソー ... -
Flashback间接恢复被删除的tablespace
2010-09-13 11:36 1226前提,数据库处于archivelog mode 场景如下: ... -
得到tablespace使用率的脚本
2010-07-29 09:58 1175用PLSQL procedure: CREATE OR RE ... -
如何从control file中找到DBID和DBNAME
2010-07-13 01:40 1701第一次在JavaEye写博客,真紧张啊! ...
相关推荐
下面是对 LogMiner 的详细介绍和使用方法。 一、LogMiner 的架构 LogMiner 的架构主要包括三个部分:日志挖掘器(LogMiner)、日志分析器(Log Analyzer)和日志报告器(Log Reporter)。日志挖掘器负责从日志文件...
### Oracle日志分析工具LogMiner使用详解 #### 一、概述 Oracle LogMiner是Oracle数据库提供的一个强大工具,用于分析重做日志文件,提取数据库中的...希望本文能帮助您更好地理解和掌握Oracle LogMiner的使用方法。
### Oracle日志管理logminer使用 #### 一、Oracle日志管理概述 Oracle数据库通过日志记录了所有对数据的更改操作,这对于确保数据的一致性和完整性至关重要。Oracle中的日志主要包括重做日志(Redo Logs)和归档...
### LogMiner的使用 #### 一、LogMiner简介 **LogMiner**是Oracle数据库提供的一种强大工具,主要用于分析重做日志文件(在线重做日志和归档重做日志),以获取数据库中发生的事务详情。这对于进行数据库逻辑恢复...
超级简单的ORACLE LOGMINER使用简单步骤,一看就会。
使用LogMiner时,DBA首先需要配置数据字典,然后指定要分析的日志文件范围,并启动LogMiner进行分析。分析完成后,通过查询v$logmnr_contents等视图获取结果。这种强大的工具使得对Oracle数据库的操作跟踪和审计变得...
以下将详细介绍LogMiner的使用步骤及关键知识点。 1. **安装LogMiner** 在使用LogMiner之前,需要执行两个SYS用户的脚本,分别是`dbmslm.sql`和`dbmslmd.sql`。这两个脚本分别用于创建DBMS_LOGMNR包和DBMS_LOGMNR_...
Oracle的LOGMINER工具是一个强大的分析工具,尤其在数据恢复和审计方面...掌握LOGMINER的使用方法,对于数据库管理员来说,能显著提升在问题出现时的响应速度和解决能力,减少对数据库服务的影响,保障数据的安全性。
### Oracle Logminer 使用和安装步骤详解 #### 一、Oracle Logminer 概述 Oracle Logminer 是一个强大的工具,用于挖掘 Oracle 数据库 Redo 日志中的数据更改信息。通过 Logminer,用户可以追踪数据库表的变化情况...
除了基本的使用方法之外,LogMiner还支持一些高级功能,比如: - **分析多个数据库的重做日志文件**:LogMiner不仅可以分析本数据库的重做日志文件,还可以分析其他数据库的重做日志文件。这对于跨数据库的审计和...
Logminer 基本使用步骤 <1>. Specify a LogMiner dictionary. 指定Logminer字典 <2>. Specify a list of redo log files for analysis. 指定需要挖掘的redo或者archivelog日志文件 <3>. Start LogMiner. 开始日志...
浅谈LogMiner的使用方法 LogMiner是Oracle提供的一个功能强大且实用的工具,能够帮助DBA对数据库进行事务回退、数据恢复和问题诊断。下面将详细介绍LogMiner的使用方法和相关知识点。 一、LogMiner的概念和特点 ...
本文介绍了使用 Oracle LogMiner 进行日志分析的方法,并强调了数据库版本、DB NAME 和生成的数据字典的 DBID 一致性问题的重要性。同时,本文也提供了使用 nid 工具修改 DB NAME 和 DBID 的方法,以便与日志来源库...
- **LogMiner结构**:LogMiner使用V$LOGMNR_CONTENTS视图提供分析结果,它包含了从redo日志中解析出的SQL语句、事务信息和时间戳等。 2. **使用LogMiner的过程** - **启动LogMiner**:通过执行DBMS_LOGMNR包中的...
要使用 LogMiner,首先需要进行安装,步骤包括以 SYS 用户身份运行两个初始化脚本: - `$ORACLE_HOME/rdbms/admin/dbmslsm.sql` - `$ORACLE_HOME/rdbms/admin/dbmslsmd.sql` 这些脚本会创建必要的包和数据字典文件...
在IT领域,Oracle数据库的LogMiner工具是一个用于分析重做...LogMiner作为一个强大的数据库分析工具,其在数据库管理中的作用不容小觑,熟练掌握其安装和配置方法,对于提高数据库运维效率、保障数据安全具有重要意义。