1.基础内容:
ALTER SESSION SET EVENTS 'immediate trace name buffers level n';
n取值意义:
1 只转储buffer header.
2 在level 1的基础上再转储数据块头。
3 在level 2的基础上再转储数据块内容。
4 转储buffer header和hash chain.
5 在level 1的基础上再转储数据块头和hash chain.
6 在level 2的基础上再转储数据块内容和hash chain.
8 转储buffer header和hash chain以及users/waiters链表。
9 在level 1的基础上再转储数据块头、hash chain以及users/waiters链表。
10 在level 2的基础上再转储数据块内容、hash chain以及users/waiters链表 2.刷新buffer cache
alter system flush buffer_cache; 3.导出数据块的内容
#确定表所对应的object_id
select object_id from dba_objects where object_name='T01';
object_id
-------------
51780 4.将数据读入到buffer cache
select * from t01; 5.dump出buffer cache
ALTER SESSION SET EVENTS 'immediate trace name buffers level 3';
当前的trace 文件位置:
> oradebug setmypid;.
> oradebug tracefile_name; 6.通过object_id 在dump文件中寻找表对应的块
BH (000007FF087EECC8) file#: 1 rdba: 0x0040ed92 (1/60818) class: 1 ba: 000007FF08636000
set: 3 blksize: 8192 bsi: 0 set-flg: 2 pwbcnt: 0
dbwrid: 0 obj: 51780 objn: 51780 tsn: 0 afn: 1
hash: [9bf53d8,feee108] lru: [97e7a88,57f7108]
ckptq: [NULL] fileq: [NULL] objq: [97e7af8,e3d6dd8]
st: XCURRENT md: NULL tch: 4
flags: only_sequential_access
LRBA: [0x0.0.0] HSCN: [0xffff.ffffffff] HSUB: [65535]
buffer tsn: 0 rdba: 0x0040ed92 (1/60818)
scn: 0x0000.000a213e seq: 0x04 flg: 0x06 tail: 0x213e0604
frmt: 0x02 chkval: 0xf9a7 type: 0x06=trans data
Hex dump of block: st=0, typ_found=1 .......
data_block_dump,data header at 0x44d005c
===============
tsiz: 0x1fa0
hsiz: 0x1a
pbl: 0x044d005c
bdba: 0x0040ed92
76543210
flag=--------
ntab=1
nrow=4
frre=3
fsbo=0x1a
fseo=0x1e42
avsp=0x1f09
tosp=0x1f09
0xe:pti[0] nrow=4 offs=0
0x12:pri[0] offs=0x1eb2
0x14:pri[1] offs=0x1ea6
0x16:pri[2] offs=0x1e42
0x18:pri[3] sfll=-1
block_row_dump:
tab 0, row 0, @0x1eb2
tl: 13 fb: --H-FL-- lb: 0x1 cc: 2
col 0: [ 2] c1 02
col 1: [ 6] 6f 72 61 63 6c 65
tab 0, row 1, @0x1ea6
tl: 12 fb: --H-FL-- lb: 0x1 cc: 2
col 0: [ 2] c1 02
col 1: [ 5] 6d 79 73 71 6c
tab 0, row 2, @0x1e42
tl: 100 fb: --H-FL-- lb: 0x1 cc: 2
col 0: [ 2] c1 02
col 1: [93]
6d 79 73 71 6c 6f 72 61 63 6c 65 6d 79 73 71 6c 6f 72 61 63 6c 65 6d 79 73
71 6c 6f 72 61 63 6c 65 6d 79 73 71 6c 6f 72 61 63 6c 65 6d 79 73 71 6c 6f
72 61 63 6c 65 6d 79 73 71 6c 6f 72 61 63 6c 65 6d 79 73 71 6c 6f 72 61 63
6c 65 6d 79 73 71 6c 6f 72 61 63 6c 65 6d 79 73 71 6c 相关字段简要说明:
|-------obj:51780 表示object_id
|
|-------class表示该buffer header所对应的数据块的类型,具体的值与含义的对应为:
| 1=data block;
| 2=sort block;
| 3=save undo block;
| 4=segment header;
| 5=save undo header;
| 6=free list;
| 7=extent map;
| 8=1st level bmb;
| 9=2nd level bmb;
| 10=3rd level bmb;
| 11=bitmap block;
| 12=bitmap index block;
| 13=unused;
| 14=undo header;
| 15=undo block。
|
|-------rdba: 0x0040ed92 (1/60818)表示该对象所对应的数据块在磁盘数据文件上的地址为 1号文件,60818块
| #确定表所在文件及数据块
| select
| rowid,
| dbms_rowid.rowid_relative_fno(rowid) REL_FNO,--File id
| dbms_rowid.rowid_block_number(rowid) BLOCK_NO,--Block number
| dbms_rowid.rowid_row_number(rowid) ROW_NO,
| id
| from t01;
|
| ROWID REL_FNO BLOCK_NO ROW_NO ID
| ------------------ ---------- ---------- ---------- ----------
| AAAMpEAABAAAO2SAAA 1 60818 0 0
| AAAMpEAABAAAO2SAAB 1 60818 1 1
| AAAMpEAABAAAO2SAAC 1 60818 2 1

参考blog:http://blog.csdn.net/orion61/article/details/8515340

dump buffer cache的更多相关文章

  1. 相克军_Oracle体系_随堂笔记005-Database buffer cache

    本章主要阐述SGA中的Database buffer cache. Buffer cache { 1.pin (读写瞬间的状态) 2.clean 3.dirty 4.unused } --Databa ...

  2. Buffer cache hit ratio性能计数器真的可以作为内存瓶颈的判断指标吗?

    Buffer cache hit ratio官方是这么解释的:“指示在缓冲区高速缓存中找到而不需要从磁盘中读取的页的百分比.” Buffer cache hit ratio被很多人当做判断内存的性能指 ...

  3. Buffer Cache

    Buffer Cache Buffer Cache是SGA区中专门用于存放从数据文件中读取的的数据块拷贝的区域.Oracle进程如果发现需要访问的数据块已经在buffer cache中,就直接读写内存 ...

  4. Oracle buffer cache

    Buffer Cache buffer cache 结构图 HASH链 ORACLE使用HASH算法,把buffer cache中每个buffer的buffer header串联起来,组成多条hash ...

  5. Oracle优化 -- 关于Database Buffer Cache相关参数DB_CACHE_SIZE的优化设置

    select size_for_estimate, buffers_for_estimate ,ESTD_PHYSICAL_READ_factor,ESTD_PHYSICAL_READS from v ...

  6. 【转】Linux 查看内存(free buffer cache)

    转自:http://elf8848.iteye.com/blog/1995638 Linux下如何查内存信息,如内存总量.已使用量.可使用量.经常使用Windows操作系统的朋友,已经习惯了如果空闲的 ...

  7. 配置和使用buffer cache

    存放从磁盘读取的数据.排序和并行读不会使用buffer cache 可以从v$db_cache_advice或者buffer cache的命中率来检查buffer cache设置是否合理 查看v$db ...

  8. buffer cache中,各个object对象占用的buffer blocks

    buffer cache中,各个object对象占用的buffer blocks: COLUMN OBJECT_NAME FORMAT A40 COLUMN NUMBER_OF_BLOCKS FORM ...

  9. Linux-内存管理机制、内存监控、buffer/cache异同

    在Linux中经常发现空闲内存很少,似乎所有的内存都被系统占用了,表面感觉是内存不够用了,其实不然.这是Linux内存管理的一个优秀特性,主要特点是,无论物理内存有多大,Linux 都将其充份利用,将 ...

随机推荐

  1. Spring 配置文件详解 http://www.blogjava.net/hellxoul/archive/2011/11/19/364324.html

    1.基本配置: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http: ...

  2. 《Code Complete》ch.18 表驱动法

    是什么 一种scheme,用表来做信息存取,代替逻辑语句(if/else) 为什么 简化逻辑语句,避免大量嵌套的 if/else 或者 switch/case 怎么用 三种访问表的方式 直接访问:将源 ...

  3. 跟我学 NHibernate (一)

    NHibernate 是一个强大的 ORM 框架,本博文主要就 NHibernate 的使用方法及语法做一些简单的介绍.  1.NHibernate 语法   新建一个类,命名为: QueryCrit ...

  4. Android基础总结(3)——UI界面布局

    Android的UI设计有好几种界面程序编写方式.大体上可分为两大类:一类是利用可视化工具来进行,允许你进行拖拽控件来进行布局:还有一类是编写xml文档来进行布局.这两种方法可以相互转换. 1.常见的 ...

  5. hdu 3336【Count the string】(KMP)

    一道字符串匹配的题目,仅仅借此题练习一下KMP 因为这道题目就是要求用从头开始的n个字符串去匹配原来的字符串,很明显与KMP中求next的过程很相似,所以只要把能够从头开始匹配一定个数的字符串的个数加 ...

  6. ZoneMinder配置与使用

    ZoneMinder是一套基于Linux操作系统的摄像机的视像数据监控的应用软件.应用范围广泛,包括商业或家居防盗等.ZoneMinder支持单一或多台视像镜头应用,包括摄取.分析.记录.和监视来源, ...

  7. CSS实用的代码段

    摘抄的一些代码还有自己总结的常用的代码~ 1>浏览器样式统一 *{ margin:0px; padding:0px; } 浏览器样式统一 2>清除浮动的方法 3>跨浏览器设置透明度 ...

  8. 【缓存】利用Cache防止同一帐号重复登录

    需求概要 对于B/S应用系统中客户经常会提出同一帐号不能重复登录的需求,就是说,用某一帐号登录系统后,在系统不超时的情况下,任何人都不能再用目前已登录的帐号登录系统.包括我目前的项目中同样有这一需求. ...

  9. JS常用的设计模式(8)——访问者模式

    GOF官方定义: 访问者模式是表示一个作用于某个对象结构中的各元素的操作.它使可以在不改变各元素的类的前提下定义作用于这些元素的新操作.我们在使用一些操作对不同的 对象进行处理时,往往会根据不同的对象 ...

  10. C++ builder 2010 操作Excel表格的编程实现

    //--------------------------------------------------------------------------- #include <vcl.h> ...