`

oracle的数据块学习兼学习trac文件分析

阅读更多
今天学习了oracle的数据块的相关知识,这里再兼谈下trac文件的分析,
1 创建一个表:
  SQL> create table block_test

  2  (id varchar2(4) primary key,

  3  name varchar2(20))

  4  tablespace test;

Table created

SQL> insert into block_test values (’0001′,’TOM’);

1 row inserted

SQL> commit;

Commit complete

我们建立了一个数据表block_test ,并向其中插入了一条数据。想要看这个表中的数据是怎么样在oracle中存储的,首先要找到这条数据库存储在哪个数据文件上,哪个数据块中。

查找数据块地址:

SQL> select id,name,rowid from block_test;

ID   NAME                 ROWID

—- ——————– ——————

0001 TOM                 AAAOJuAANAAAATCAAA
SQL>select dbms_rowid.rowid_relative_fno(’AAAOJuAANAAAATCAAA’) file_num,

dbms_rowid.rowid_block_number(’AAAOJuAANAAAATCAAA’) block_num from dual;

file_num                      block_num

—————————— ——————————

     8                          1218
由此得知这条记录存储在数据中的标号为8的数据文件的第2523个块中。

导出data block结构:

SQL> alter system dump datafile 8 block 1218;

System altered


2  这个时候,可以先看下trc文件放在什么地方,
   show parameter dump
这里我的是放在oracle\udump下,
按时间顺序找出这个trc文件。

3 注意,这里插一下,我们可以直接打开这个trc文件去看,而不是去用分析工具去分析这个文件,本文最后会再说如何用工具去分析这个trac文件:
   打开这个TRAC文件后,发现如下:
Start dump data blocks tsn: 14 file#: 13 minblk 1218 maxblk 1218
buffer tsn: 14 rdba: 0x034004c2 (13/1218)
scn: 0x0000.00d323eb seq: 0x05 flg: 0x06 tail: 0x23eb0605
frmt: 0x02 chkval: 0xc1e1 type: 0x06=trans data
Block header dump:  0x034004c2
Object id on Block? Y
seg/obj: 0xe26e  csc: 0x00.d323e2  itc: 2  flg: O  typ: 1 - DATA
     fsl: 0  fnx: 0x0 ver: 0x01

Itl           Xid                  Uba         Flag  Lck        Scn/Fsc
0x01   0x0004.01a.000031e9  0x008073ae.183a.30  --U-    1  fsc 0x0000.00d323eb
0x02   0x0000.000.00000000  0x00000000.0000.00  ----    0  fsc 0x0000.00000000

data_block_dump,data header at 0x40c025c
===============
tsiz: 0x1fa0
hsiz: 0x14
pbl: 0x040c025c
bdba: 0x034004c2
     76543210
flag=--------
ntab=1
nrow=1
frre=-1
fsbo=0x14
fseo=0x1f94
avsp=0x1f80
tosp=0x1f80
0xe:pti[0] nrow=1 offs=0
0x12:pri[0] offs=0x1f94
block_row_dump:
tab 0, row 0, @0x1f94
tl: 12 fb: --H-FL-- lb: 0x1  cc: 2
col  0: [ 4]  30 30 30 31
col  1: [ 3]  54 4f 4d
end_of_block_dump


解析下;
tsn:data block所在表空间序号

file#: data block所在数据文件序号

minblk:dump的开始块号

maxblk:dump的终止块号

rdba:数据块地址

scn:scn号

seq:序列号

tail:保持一致性 lower scn + type + seq

frmt: oracle8以上为2

chkval:可选择的校验值

type:block的类型


itc: itl slots的个数,此时多少个事务在对本data block进行操作

flg: 0=on the freelist

fsl: itl tx freelist slot

fnx: dba of next block on freelist

Itl:interested transaction list index

Xid:transaction id

Uba:undo address

Flag:事务状态标志

Lck:事物所影响行的数量

col  0: [ 4]  30 30 30 31  //第一列中数据长度为4,数据为30 30 30 31

col  1: [ 3]  54 4f 4d     //第一列中数据长度为3,数据为54 4f 4d 

以上信息就是我们刚才查找的那条记录在数据库中真实的存储情况

table:记录所在表的序号

row:记录在块中所在行号

tl:rowsize(number of bytes plus data)

fb:记录的状态

lb:lock byte—itl entry then has this row locked

cc: number of columns in this row piece



end_of_block_dump

End dump data blocks tsn: 7 file#: 8 minblk 2523 maxblk 2523


4) 最后说下如何使用跟踪文件去跟踪,
这里有篇好文,讲的很好,地址是:
http://blog.sina.com.cn/s/blog_4b1c9e12010007a0.html
1
3
分享到:
评论

相关推荐

    trac install file22

    trac install file22

    trac工具包trac工具包

    trac工具包 安装文件 和说明文档 安装文件 和说明文档

    Trac插件开发Trac插件开发

    Trac插件开发Trac插件开发Trac插件开发Trac插件开发

    Apache+Trac配置

    Apache+Trac配置Apache+Trac配置Apache+Trac配置

    Trac应用于项目管理

    Trac应用于项目管理,经典阐述,TRAC管理首选教材 0. 前言 - 1 - 0.1. 我们遇到了什么问题? - 1 - 0.2. 什么是TRAC? - 2 - 0.3. TRAC可以做什么? - 3 - 0.4. TRAC会带来什么变化? - 3 - 1. 定义角色/活动 - 4 - 1.1...

    trac插件开发指南

    trac插件开发指南,用于开发TRAC的插件

    Trac用户使用介绍

    Trac用户使用介绍Trac用户使用介绍Trac用户使用介绍

    trac汉化安装程序

    trac汉化安装文档和相关需要安装的程序,简单便捷的让你安装trac

    Trac-0.12.2及配套

    Trac-0.12.2及配套 含:Trac Babel Bitten Genshi Python

    SVN+Trac配置

    很久以来就有的想法,给我们的产品开发...使用过vss,虽说简洁,但功能不完善而且有很多小BUG,所以放弃,在次研究Trac,发现Trac非常符合我的要求:免费、开源、跨平台、轻量级、高度可扩展,下面介绍下svn+trac的配置

    SVN+Trac+Apache的配置文件

    SVN+Trac+Apache的配置文件

    apache2配置Trac和Gitweb

    支持trac server和gitweb的apache2 default配置文件。

    Trac-1.0.1.zip

    Trac是一个为软件开发项目需要而集成了Wiki和问题跟踪管理系统的应用平台,是一个开源软件应用。Trac以简单的方式建立了一个软件项目管理的Web应用,以帮助开发人员更好地写出高质量的软件;Trac应用力求不影响现有...

    SVN+Trac安装笔记

    SVN+Trac安装笔记

    选安装trac截图详解

    精选安装trac截图详解,均有详图描述,轻松安装trac

    轻松在Windows上配置SVN+Trac+密码修改+共享的服务器。

    用这种方法TRAC的安装也仅仅是几个文件拷贝而已。从此Windows上的SVN开发服务器配置不再困难,而且具有完整的功能:Trac、客户端修改密码、文件共享,这些功能在团队开发中非常有用。采用这种方法配置服务器,5分钟...

    Trac安装包

    Trac安装包,可以与SVN集成,供软件开发人员管理软件版本

    Apache+Trac+SVN

    Apache+Trac+SVN安装测试指导

    TRAC教程【原创】

    TRAC教程【原创】 非常贴近使用的教材

    trac使用手册.doc

    Trac使用手册 Trac是一个为软件开发项目需要而集成了Wiki和问题跟踪管理系统的应用平台,是一个开源软件应用。Trac以简单的方式建立了一个软件项目管理的Web应用,以帮助开发人员更好地写出高质量的软件;Trac应用...

Global site tag (gtag.js) - Google Analytics