Oracle逻辑管理模式

逻辑空间管理:

成都创新互联公司始终坚持【策划先行,效果至上】的经营理念,通过多达10多年累计超上千家客户的网站建设总结了一套系统有效的全网营销解决方案,现已广泛运用于各行各业的客户,其中包括:成都木屋等企业,备受客户好评。

本地管理表空间:

(默认值) 数据库使用表空间本身中的位图块来管理扩展区。

因此,本地管理空间需要预留表空间的一部分用于位图块,记录区空间的使用情况。

在一个表空间中, 数据库可以使用自动段空间管理(ASSM)或手动段空间管理(MSSM)来管理段。

位图块:

本地管理表空间在数据文件头维护一个位图,以跟踪数据文件体中的可用空间和已用空间。每一位对应一组块。当空间被分配或释放时,Oracle数据库更改位图值,以反映数据块的新状态。

本地管理表空间优势:

1.  避免使用数据字典来管理扩展区。

2.  自动跟踪相邻的可用空间

3.  自动确定本地管理扩展区的大小

字典管理表空间:

字典管理表空间使用数据字典来管理其扩展区。

每当分配或释放了一个扩展区时,Oracle数据库更新数据字典中的表。

例如,当表需要扩展区时,数据库查询数据字典表,并搜索空闲扩展区。如果数据库找到了空间,则修改一个数据字典表,并插入一行。按这种方式,数据库通过修改和移动数据来管理空间。

段空间管理:

段空间管理是一个从包含该段的表空间继承来的数据。

在一个本地管理表空间中, 数据库可以自动地或手动管理段 。

例如,在users表空间中的段使用自动管理,而tools表空间中的段使用手动管理。

自动段空间管理(ASSM):

仅使用PCTFREE来控制空间分配,此参数指定块中保留用于将来的更新的空间百分比,防止行迁移。

ASSM的并发性:

多个事务可以搜索多个相互独立的空闲数据块列表,从而减少争用和等待。

手动段管理空间(MSSM):

旧式的MSSM方法使用称为空闲列表的链表来管理段中的可用空间。

对一个具有可用空间的数据库对象,有一个空闲列表会跟踪位于高水位线HWM之下的数据块。当块被使用时,数据库根据需要将块放入空闲列表,或将块从空闲列表中删除。

除了 PCTFREE,MSSM还使用PCTUSED设置在当前使用块中必须存在的可用空间百分比, 当块中已使用的空间的比例小于这个百分比的时候,这个块才被标识为有效状态,并将其放入空闲列表中。只有有效的块才被允许插入数据。 在ORACLE9I以后,缺省为自动管理方式,ASSM废弃pctused属性。

  说明 :假如向一个表中插入行。数据库检查该表的空闲列表,以查找第一个可用的块。

如果行无法容纳进该块中,并在块中已使用空间大于或等于pctused,则数据库将该表从空闲列表中移出,并搜索另一个块。如果从块中删除行,则数据库检查块中的已使用空间现在是否小于pctused。如果是,则数据库将该块置于空闲列表的开头。

--来源于oracle database concept


分享标题:Oracle逻辑管理模式
分享URL:http://hbruida.cn/article/psdcoi.html