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 都将其充份利用,将 ...
随机推荐
- JDBC建立/关闭数据库连接
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口 ...
- 项目已被os x使用 不能打开-黑苹果之路
之前复制了几个视频文件到NTFS的盘上,在mac中始终无法使用(甚至是chmod),无论是哪种播放软件,甚至改成dmg类型都无法打开,报“项目已被os x使用 不能打开”,用ls命令发现文件属性中多了 ...
- transform的使用
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...
- NoSuchMethodError: resolveTypeArguments
NoSuchMethodError: resolveTypeArguments——因为spring版本冲突导致,观察解压war包后lib中有几个spring.在pom中通过exclusion解决 Ht ...
- 剑指Offer:面试题11——数值的整数次方(java实现)
题目描述: 实现函数double Power(double base, int exponent),求base的exponent次方,不得使用库函数,同时不需要考虑大数问题 思路:本题的重点考察内容是 ...
- 009 The Interfaces In JAVA(官网文档翻译)
Interfaces There are a number of situations in software engineering when it is important for dispara ...
- 未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序的处理方式
今天客户向我反映一个问题,当他们在用我们的系统导出excel表格时,报错:未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序 经过找资料终于得到解决方法,记录一下. 在对应 ...
- 学习记录 java泛型资料
java泛型资料: 1. 概述在引入范型之前,Java类型分为原始类型.复杂类型,其中复杂类型分为数组和类.引入范型后,一个复杂类型就可以在细分成更多的类型.例如原先的类型List,现在在细分成Lis ...
- SQL:每年每月最高的两个温度
SET QUOTED_IDENTIFIER ONGO CREATE TABLE [dbo].[Temperature]( [ID] [int] IDENTITY(1,1) NOT NULL, [Mon ...
- LoadRunner脚本 《第二篇》
一.基础函数简介 在VU左边导航栏中,有三个LoadRunner框架函数,分别是vuser_init().Action().vuser_end().这三个函数存在于任何Vuser类型的脚本中. vus ...