[置顶] How to dump redo log entry?
1.转储针对特定数据块(4号文件的第10-20号数据块)修改的 redo entry
select file#,name,blocks from v$datafile;
FILE# NAME BLOCKS
---------- -------------------------------------------------- ----------
1 +DATA/test/datafile/system.269.829746597 89600
2 +DATA/test/datafile/sysaux.270.829746621 76800
3 +DATA/test/datafile/undotbs1.271.829746639 25600
4 +DATA/test/datafile/users.273.829746667 640
-转储 test 表第4行所在的数据块的修改记录
SQL> select t.rowid,t.* from scott.test t;
ROWID DEPTNO DNAME LOC
------------------ ---------- -------------- -------------
AAAPtpAAEAAAADbAAA 10 ACCOUNTING NEW YORK
AAAPtpAAEAAAADbAAB 20 RESEARCH DALLAS
AAAPtpAAEAAAADbAAC 30 SALES CHICAGO
AAAPtpAAEAAAADbAAD 40 OPERATIONS BOSTON
SQL> select DBMS_ROWID.ROWID_OBJECT(rowid) as object#,
2 DBMS_ROWID.ROWID_RELATIVE_FNO(rowid) as file#,
3 dbms_rowid.rowid_block_number(rowid) as block#,
4 DBMS_ROWID.ROWID_ROW_NUMBER(rowid) as row#
5 from scott.test;
OBJECT# FILE# BLOCK# ROW#
---------- ---------- ---------- ----------
64361 4 219 0
64361 4 219 1
64361 4 219 2
64361 4 219 3
--当前属于 current 状态的 online redo log
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME
---------- ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- --------- ------------ ---------
1 1 1 10485760 512 2 YES INACTIVE 430256 25-OCT-13 450682 28-OCT-13
2 1 2 10485760 512 2 YES INACTIVE 450682 28-OCT-13 453557 28-OCT-13
3 1 3 10485760 512 2 NO CURRENT 453557 28-OCT-13 2.8147E+14
--修改 scott.test 表中 deptno 为 40 的记录进行测试
SQL> select * from scott.dept;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
SQL> update scott.test set LOC='BEIJING' where deptno=40;
1 row updated.
SQL> commit;
Commit complete.
SQL> select * from scott.test;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BEIJING
--转储 redo entry,确保 redo log 没有切换
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME
---------- ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- --------- ------------ ---------
1 1 1 10485760 512 2 YES INACTIVE 430256 25-OCT-13 450682 28-OCT-13
2 1 2 10485760 512 2 YES INACTIVE 450682 28-OCT-13 453557 28-OCT-13
3 1 3 10485760 512 2 NO CURRENT 453557 28-OCT-13 2.8147E+14
SQL> select * from v$logfile;
GROUP# STATUS TYPE MEMBER IS_
---------- ------- ------- -------------------------------------------------- ---
1 ONLINE +DATA/test/onlinelog/group_1.266.829746583 NO
1 ONLINE +FRA/test/onlinelog/group_1.261.829746585 YES
2 ONLINE +DATA/test/onlinelog/group_2.267.829746587 NO
2 ONLINE +FRA/test/onlinelog/group_2.262.829746589 YES
3 ONLINE +DATA/test/onlinelog/group_3.268.829746591 NO
3 ONLINE +FRA/test/onlinelog/group_3.263.829746593 YES
6 rows selected.
SQL> alter system dump logfile '+FRA/test/onlinelog/group_3.263.829746593' dba min 4 219 dba max 4 219;
System altered.
--获取转储文件的路径
col value for a60
SQL>
SQL> select * from v$diag_info;
INST_ID NAME VALUE
---------- -------------------------------------------------- ------------------------------------------------------------
1 Diag Enabled TRUE
1 ADR Base /u01/app/oracle
1 ADR Home /u01/app/oracle/diag/rdbms/test/test
1 Diag Trace /u01/app/oracle/diag/rdbms/test/test/trace
1 Diag Alert /u01/app/oracle/diag/rdbms/test/test/alert
1 Diag Incident /u01/app/oracle/diag/rdbms/test/test/incident
1 Diag Cdump /u01/app/oracle/diag/rdbms/test/test/cdump
1 Health Monitor /u01/app/oracle/diag/rdbms/test/test/hm
1 Default Trace File /u01/app/oracle/diag/rdbms/test/test/trace/test_ora_4160.trc
1 Active Problem Count 1
1 Active Incident Count 4
转储指定 SCN 的 redo entry
SQL> select dbms_flashback.get_system_change_number from dual;
GET_SYSTEM_CHANGE_NUMBER
------------------------
455005
SQL> update scott.test set LOC='BOSTON' where deptno=40;
1 row updated.
SQL> commit;
Commit complete.
SQL> select * from scott.test;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
SQL> select dbms_flashback.get_system_change_number from dual;
GET_SYSTEM_CHANGE_NUMBER
------------------------
455020
alter system dump logfile '+FRA/test/onlinelog/group_3.263.829746593' scn min 455005 scn max 455020;
SQL> select * from v$diag_info where NAME ='Default Trace File';
INST_ID NAME VALUE
---------- -------------------------------------------------- ------------------------------------------------------------
1 Default Trace File /u01/app/oracle/diag/rdbms/test/test/trace/test_ora_4160.trc
转储指定 RBA 的 redo entry
SQL> select group#,sequence#,BYTES/BLOCKSIZE as block# from v$log;
GROUP# SEQUENCE# BLOCK#
---------- ---------- ----------
1 1 20480
2 2 20480
3 3 20480
alter system dump logfile '+FRA/test/onlinelog/group_3.263.829746593' rba min 3 1 rba max 3 10;
转载请注明作者出处及原文链接,否则将追究法律责任:
作者:xiangsir
原文链接:http://blog.csdn.net/xiangsir/article/details/13503089
QQ:444367417
MSN:xiangsir@hotmail.com
[置顶] How to dump redo log entry?的更多相关文章
- Oracle Dataguard Standby Redo Log的两个实验
在Data Guard环境中,Standby Redo Log是一个比较特殊的日志类型.从最新的DG安装指导中,都推荐在Primary和Standby端,都配置Standby Redo Log. 简单 ...
- MySQL · 引擎特性 · InnoDB redo log漫游(转)
前言 InnoDB 有两块非常重要的日志,一个是undo log,另外一个是redo log,前者用来保证事务的原子性以及InnoDB的MVCC,后者用来保证事务的持久性. 和大多数关系型数据库一样, ...
- Redo Log File(inactive、active)损坏,处理恢复对策
redolog的生命周期中共有四种状态:current -> 正在使用的active -> 非正在使用的,对应的Dirty Block还没有完全写入到数据文件中inactive -> ...
- mysql报错Ignoring the redo log due to missing MLOG_CHECKPOINT between
mysql报错Ignoring the redo log due to missing MLOG_CHECKPOINT between mysql版本:5.7.19 系统版本:centos7.3 由于 ...
- [置顶] All about control file in Oracle Database
--数据库实例启动的三个阶段: NOMOUNT(START):打开初始化参数文件 MOUNT:打开控制文件 OPEN:打开数据文件和日志文件 --控制文件 控制文件的作用:管理数据库的状态和描述数据库 ...
- [置顶] Android开发笔记(成长轨迹)
分类: 开发学习笔记2013-06-21 09:44 26043人阅读 评论(5) 收藏 Android开发笔记 1.控制台输出:called unimplemented OpenGL ES API ...
- 8 redo log内部结构分析(IMU/非IMU)--update示例
Oracle内核的进步 ---- 新.老Redo机制对比 体系结构 非IMU下的redo产生过程 --分析redo log(update) SQL> set sqlprompt "_U ...
- jQuery 元素的选中, 置顶、上移、下移、置底、删除
如截图: <ul> <li class="li01" onclick="C_columnSetTop(this)"><i>& ...
- 【搬运工】NOIP吧置顶贴
目的是存置顶贴里的链接.. 原帖:http://tieba.baidu.com/p/1753284199 资源站:*C++资源:http://tieba.baidu.com/p/1239792581* ...
随机推荐
- Top Android App使用的组件 2
微信_355 SQLCipher:info.guardianproject.database:Android数据库加密 微博_650 点信传媒:cn.dx:广告平台 Apache HttpClient ...
- 【转】匹配dll(exe)和pdb方法
1. 静态检查windbg 调试工具包中有一个工具symchk.exe, 选项很多, 下面一个简单的用法可以检查一个 test.exe能不能找到与它匹配的PDB: 这是成功的情形. 下面来个失败的作为 ...
- HDU 4267-A Simple Problem with Integers(多个BIT)
题意: 2种操作 1 a b k c 在区间[a,b]中的(i-a)%k==0的位置i上的数+c 2 a 查询位置a的值 输出每次查询的值 分析: 开始想到多维的线段树,但比较麻烦,看了题解才知道,用 ...
- bjfu1284 判别正则表达式
做解析器做得多的我,一上来就觉得要写解析器,麻烦,于是想偷懒用java的正则表达式类Pattern直接进行判断,结果wa了,原因是这题要求的正则表达式只是真正正则表达式的一个子集.比如|12是合法正则 ...
- 【跟我一起学Python吧】Python解释执行原理
这里的解释执行是相对于编译执行而言的.我们都知道,使用C/C++之类的编译性语言编写的程序,是需要从源文件转换成计算机使用的机器语言,经过链接器链接之后形成了二进制的可执行文件.运行该程序的时候,就可 ...
- 将string转化为char*的方法
在构造文件流变量时候发现,fstream的第一个参数,即文件路径必须是const char * 如: string s = "/home/user/1.txt"; fstream ...
- [算法] 插入排序 Insertion Sort
插入排序(Insertion Sort)是一种简单直观的排序算法.它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入.插入排序在实现上,通常采用in-pla ...
- InputFormat,OutputFormat,InputSplit,RecordRead(一些常见面试题),使用yum安装64位Mysql
列举出hadoop常用的一些InputFormat InputFormat是用来对我们的输入数据进行格式化的.TextInputFormat是默认的. InputFormat有哪些类型? DBInpu ...
- http协议中的Content-Type
今天对http协议中的Content-Type有所理解了 它的主要功给我的感觉,还是在前台(客户端)给服务器传输数据时,描述这个数据的格式. 比如,我只传一个表单数据,但这个表单中只有文本,没有其它的 ...
- homework-07
终于等到了一次难度相对比较小的问题,只要读完提问题就好,但又不得不说自己真的很菜,且不说C++掌握的不好,连英文也比较差,导致读的非常吃力,不过我还是坚持读完了四篇英文文章,大致意思是可以了解的,但是 ...