Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1169143
  • 博文数量: 178
  • 博客积分: 2776
  • 博客等级: 少校
  • 技术积分: 2809
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-22 15:36
文章分类

全部博文(178)

文章存档

2014年(3)

2013年(66)

2012年(109)

分类: Oracle

2012-09-18 13:16:00

今天我们来看看,盘区分配和oracle数据块。
一、Extent alloc & dealloc(盘区分配与释放)                        
 
  盘区是段下面的一个存储单位,一个盘区在物理上是一段连续的数据块。
 
一个数据文件有一个文件头,点用了若干个数据块,这这个文件头里记录着盘区的分配与释放的信息。在这个文件中有些盘区是被使用的,有些盘区是空闲的。
什么时候创建盘区:
创建
扩展
改变(改大)
什么时候释放盘区:
删除
改变(改小)
 
 
二、Database Block(数据库块)                                   
 
最小单位的输入/输出
数据块由操作系统中的一个或多个块组成
数据块是表空间的基本单位
DB_BLOCK_SIZE 文件来表示缺省块的大小
 
查看oracle 块的大小:
[ora10@localhost dbs]$ strings spfileora10.ora | grep -i db_block
*.db_block_size=8192  (8KB)
 
 
  在早期的数据库中,oracle只支持一种数据块的大小。从9i版本支持了改变大小的设置。但也不是任用户随便改动的,选择oracle培训规定范围在2KB到32KB之间,必须是倍数增加的,也就是2KB\4KB\8KB\16KB\32KB 五种大小。
  需要注意的是,块大小的设置是在数据库创建时候设置的,一旦设置好是不可更改的。类似于我们磁盘的存储格式,FAT16、FAT32、NTFS.... ,要想改变存储格式只能数数据全部格式化掉。
 
Hearder : 块头记录一些控制信息,帮助oracle定位这个块,块与块之间的串联信息。
Free space :处于重现状态的这空间。
Data :已经写入数据的空间。数据存放数据的方式是自底往上的,就像现实中的一个箱子。
阅读(2019) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~