dump buffer cache
- 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的更多相关文章
- 相克军_Oracle体系_随堂笔记005-Database buffer cache
本章主要阐述SGA中的Database buffer cache. Buffer cache { 1.pin (读写瞬间的状态) 2.clean 3.dirty 4.unused } --Databa ...
- Buffer cache hit ratio性能计数器真的可以作为内存瓶颈的判断指标吗?
Buffer cache hit ratio官方是这么解释的:“指示在缓冲区高速缓存中找到而不需要从磁盘中读取的页的百分比.” Buffer cache hit ratio被很多人当做判断内存的性能指 ...
- Buffer Cache
Buffer Cache Buffer Cache是SGA区中专门用于存放从数据文件中读取的的数据块拷贝的区域.Oracle进程如果发现需要访问的数据块已经在buffer cache中,就直接读写内存 ...
- Oracle buffer cache
Buffer Cache buffer cache 结构图 HASH链 ORACLE使用HASH算法,把buffer cache中每个buffer的buffer header串联起来,组成多条hash ...
- Oracle优化 -- 关于Database Buffer Cache相关参数DB_CACHE_SIZE的优化设置
select size_for_estimate, buffers_for_estimate ,ESTD_PHYSICAL_READ_factor,ESTD_PHYSICAL_READS from v ...
- 【转】Linux 查看内存(free buffer cache)
转自:http://elf8848.iteye.com/blog/1995638 Linux下如何查内存信息,如内存总量.已使用量.可使用量.经常使用Windows操作系统的朋友,已经习惯了如果空闲的 ...
- 配置和使用buffer cache
存放从磁盘读取的数据.排序和并行读不会使用buffer cache 可以从v$db_cache_advice或者buffer cache的命中率来检查buffer cache设置是否合理 查看v$db ...
- buffer cache中,各个object对象占用的buffer blocks
buffer cache中,各个object对象占用的buffer blocks: COLUMN OBJECT_NAME FORMAT A40 COLUMN NUMBER_OF_BLOCKS FORM ...
- Linux-内存管理机制、内存监控、buffer/cache异同
在Linux中经常发现空闲内存很少,似乎所有的内存都被系统占用了,表面感觉是内存不够用了,其实不然.这是Linux内存管理的一个优秀特性,主要特点是,无论物理内存有多大,Linux 都将其充份利用,将 ...
随机推荐
- JSON.stringify
$(document).ready(function (){var things =[{ id:1, color:'yellow'},{ id:2, color:'blue'},{ id:3, col ...
- windows 开机启动(为了关闭虚拟机的那么多开机进程)
1.阻止VMware开机时的几个进程应用 禁用系统相关服务即可! 具体操作如下:开始运行中输入msconfig,然后点击服务!这时会出现很多服务选项.点击下面的隐藏所有microsoft服务,就只剩下 ...
- C#中的委托,匿名方法和Lambda表达式
简介 在.NET中,委托,匿名方法和Lambda表达式很容易发生混淆.我想下面的代码能证实这点.下面哪一个First会被编译?哪一个会返回我们需要的结果?即Customer.ID=.答案是6个Firs ...
- APP发布Xcode7
一.准备工作 1>准备3.5寸.4寸.4.7寸.5.5寸的程序截图至少个1张,如果支持iPad,那么iPad截图也要有.这些截图尽量截取页面漂亮的,因为这些截图是要放在AppStore中展示的. ...
- 简单jQuery实现选项框中列表项的选择
这段代码非常的简单,仅仅作为自己的一个小小的记录! ok,先上一个简单的图例,效果如下(注意:这只是一个简单的例子,不过可以根据这个简单的例子,变化出更为复杂的效果)! 代码也非常的简单,如下所示(注 ...
- BZOJ1051 受欢迎的牛
http://www.lydsy.com/JudgeOnline/problem.php?id=1051 Description 每一头牛的愿望就是变成一头最受欢迎的牛.现在有N头牛,给你M对整数(A ...
- OpenJudge 核电站
描述 一个核电站有N个放核物质的坑,坑排列在一条直线上.如果连续M个坑中放入核物质,则会发生爆炸,于是,在某些坑中可能不放核物质. 任务:对于给定的N和M,求不发生爆炸的放置核物质的方案总数 输入 只 ...
- CLRS:build_max_heap(strorage in array)
//用满二叉树存储,从n/2处开始递归向上调整(n/2后均为叶子节点,无需调整)使得根最大 //满二叉树顺序存储,左子2i,右子2i+1: #include<stdio.h>#includ ...
- 通用简单的 分页 SQL
select ID,TITLE,CONTENT,USERNAME,REALNAME,UNIT,UNITID,NOWTIMES,ACCEPTERID,ACCEPTERNAM ...
- Sublime 3114 + 转换GBK方法
下载地址: http://files.cnblogs.com/files/wuyifu/Sublime_Text_Build_3114_x64_Setup.zip -– BEGIN LICENSE - ...