暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

崖山数据库--数据文件学习

原创 杨有田 2024-05-04
417

默认安装情况下数据文件有:temp、swap、users、sysaux、system、undo。

dump这些文件信息,简要说明:

1.数据文件物理结构

数据文件物理上可以划分固定位置部分和可变位置部分。

固定位置,block 0-127的块,分别是数据文件头块(block 0)和数据文件空间管理块(block 1 到block 127)

可变位置,block 128以后的数据块

2.数据文件头块和空间管理头块部分字段说明

----------------------------------------------------------------

block: 0
data file head
head: id 0-0, type 1, instance id 0 lsn 0, checksum: 0, change num 0, isEncrypted 0, isCompressed 0
space id: 0    db id: 1581543562    db create time: 2024-05-04 09:46:31.763793, create lsn 1, truncate lsn 0
tail: change num: 0

block: 1
space head
head: id 0-1, type 2, instance id 0 lsn 1, checksum: 0, change num 0, isEncrypted 0, isCompressed 0
migration number: 0
tail: change num: 0

----------------------------------------------------------------

block: N ,块号N

head: id 0-0, 第一个0表示相对文件号(v$datafile.relative_fno),第二个0表示块号

type: N,块类型

         0: unknown,  未格式块

         1:data file head,数据文件头块

         2:  space head,  空间管理头块?

         4:  head data,表示用来存放数据的head 类型表

         6: xact,???

         7: undo segment,undo段头块

         8: undo data,undo数据块

         9:  datafile map, 数据文件空间管理块

         32: assm: 表示自动段空间管理 位图块

         33: segment:表示段头

 

change num 0,块的变更序号,随着每次块的变化而增加 ???,块头的change num与块尾tail 的change num保持一致

isEncrypted 0,是否加密,0表示未加密

isCompressed 0,是否压缩,0表示未压缩

space id: 0,表空间号(v$tablespace.id)

db id: 1581543562  , 数据库ID

3.数据文件空间分配管理map块部分字段说明

----------------------------------------------------------------

block: 2
datafile map
head: id 0-2, type 9, instance id 0 lsn 4606, checksum: 0, change num 194, isEncrypted 0, isCompressed 0
data first: 128    free begin: 160    free count: 64917

11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 
11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 
11111111 11111111 11111111 11111111 11111111 00000111 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ......

----------------------------------------------------------------

大部分字段类似块头,部分字段如下说明:

data first: 128,第一个数据块块号,128号块

free begin: 160 ,可用数据块开始位置

free count: 64917,剩余可用数据块数量

11111111......,使用0或者1来表示数据块的使用情况,一个数字表示一个空间位图块,一个位图块可以管理8个数据块???

例如:

创建一个表空间包括2个数据文件:

create tablespace YYT01 datafile '/yashan/yasdb_data/db-1-1/dbfiles/yyt01' size 2g;
alter tablespace yyt01 add datafile '/yashan/yasdb_data/db-1-1/dbfiles/yyt02' size 100m;

 

创建表LEO,插入99999条记录后,dump数据文件,可以看到 每个文件的block 2的分配情况,其中相对文件号0的数据文件,分配112个位图块,每个位图块管理8个数据块,也就是112*8=896 blocks;相对文件号1的数据文件,分配0个位图块。

--相对文件号0

block: 2
datafile map
head: id 0-2, type 9, instance id 0 lsn 4894, checksum: 0, change num 22, isEncrypted 0, isCompressed 0
data first: 128    free begin: 112    free count: 65104

11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 00000000 00000000 
00000000 00000000 00000000 00000000 ......

--相对文件号1

block: 2
datafile map
head: id 1-2, type 9, instance id 0 lsn 4644, checksum: 0, change num 0, isEncrypted 0, isCompressed 0
data first: 128    free begin: 0    free count: 65216

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
00000000 00000000 00000000 00000000 ......

查看dba_segments视图,blocks数量为896.

SQL> col owner for a10
SQL> col segment_name for a10
SQL> select owner,segment_name,blocks from dba_segments where segment_name='LEO';

OWNER      SEGMENT_NA                BLOCKS 
---------- ---------- --------------------- 
SYS        LEO                          896

1 row fetched.

从这里也可以看到,数据空间分配全部在相对文件号0上面,而不是表空间所有数据文件。

最后修改时间:2024-05-07 05:35:54
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论