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 都将其充份利用,将 ...
随机推荐
- 玩转JS插件系列
说明:本系列文章只是通过学习JS插件源码来巩固自己的JS知识,不涉及任何商业目的,如有侵犯版权请尽快告知 一.UI 背景 对话框和灯箱 筛选及排序 反馈 弹出层 悬停 布局 图表 加载 圆边 滚动 标 ...
- Java将Unix时间戳转换成指定格式日期
public String TimeStamp2Date(String timestampString, String formats){ Long timestamp = Long.pars ...
- 初探appium之appium的使用
上一篇中已经讲了python+appium的环境搭建.这里简单的讲一下appium的使用. 我也是第一次使用appium,看了教程问了人.知道appium可以通过模拟也可以连接上手机使用.本篇中,先使 ...
- 你很牛B,面试却没过,为什么?
点击标题下「飞测」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是我们期 ...
- 区间k大数查询
问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个. 输入格式 第一行包含一个数n,表示序列长度. 第二行包含n个正整数,表示给定的序列. 第三个包含一个正整数m,表示询问个数 ...
- MSP430F149学习之路——时钟1
1.看门狗产生方波 #include <msp430x14x.h> void main() { WDTCTL = WDT_MDLY_32; IE1 |= WDTIE; P1DIR |= B ...
- asp.net(c#)中如何在前端用js写条件查询,且不用调用存储过程
前端页面(源): <dx:ASPxButton ID="ASPxButton_Select" runat="server" Text="查询&q ...
- CSS用border绘制三角形
使用border绘制三角形的思路,就是border尺寸设置一个较大的值,元素自身的宽高设置为0,全部由边线占据,这样每边就会显示为四分之一块的三角形.这样不借助图片,可以直接绘制出三角形了. 一个栗子 ...
- SVN与TortoiseSVN实战:属性的奇技淫巧(一)
硬广:<SVN与TortoiseSVN实战>系列已经写了六篇,本系列结合TortoiseSVN对SVN中容易被忽视的部分进行了详解,预计再用三.四篇来结束这个系列. 本篇详解一下SVN的属 ...
- 如何解决SWAT模型数据移动目录后出现的“SWAT2005.mdb database specified in your MasterProgress table does not exists. Please correct and try again”的问题
方法: 1.用MS Access软件打开SWAT模型工程文件的数据文件,如“**流域模拟.mdb”,该文件一般存放在工程文件“**流域模拟.mxd”相同的路径: 2.打开以后,找到“MasterPro ...