oracle本地管理的表空间

本地管理的表空间(locally managed tablespace)在每个数据文件(datafile)中维护一个位图(bitmap),记录此数据文件内数据块(block)的状态(可用/占用),并据此管理表空间内的数据扩展(extent)。位图中的每一位代表
一个或一组数据块(block)。当一个数据扩展被分配或者被释放,Oracle负
责改变位图中相应的数据块的状态。这些修改不会产生回滚信息(rollback
information),因为她们不会更新数据字典(data dictionary)中的表(一些
特殊的情况除外,例如改变表空间的配额(quota)信息)。

本地管理的表空间(locally managed tablespace)与数据字典管理的表空间
(dictionary managed tablespace)相比有如下优势:
● 在本地管理数据扩展(extent)的分配,易于查找连续的可用空间[此
处指数据块],避免了数据扩展合并(coalesce free extents)。
● 在本地管理数据扩展的分配,能够避免产生递归(recursive)的空间管
理操作。在使用数据字典管理的表空间时,分配或回收方案对象
(schema object)的数据扩展可能会导致数据字典表(data dictionary
table)或回滚段(rollback segment)中也产生分配或回收空间的操作,
即称为递归的空间管理操作。

在本地管理(locally managed)状态下,每次分配的数据扩展(extent)的容
量可以由系统自动地决定。此外,用户也可以覆盖方案对象默认的存储参
数,每次分配相同容量的数据扩展。

在 CREATE TABLESPACE 或 CREATE TEMPORARY TABLESPACE 语句中使
用 LOCAL 子句可以创建本地管理的(locally managed)永久表空间
(permanent tablespace)或临时表空间(temporary tablespace)。

本地管理的表空间中的段空间管理

用户使用 CREATE TABLESPACE 语句创建一个本地管理的表空间(locally
managed tablespace)时,可以使用 SEGMENT SPACE MANAGEMENT 子句来
设定段(segment)内的可用/已用空间如何管理。可选的方式有:
● AUTO
在这种设置下,Oracle使用位图(bitmap)管理段内的可用空间。[注
意此处的位图与本地管理的表空间使用的位图不一样]此处的位图用于
描述段内每个数据块(data block)是否有足够的可用空间来插入
(insert)新数据。随着一个数据块中可用空间的变化,她的状态也被
及时地反映到位图中。Oracle使用位图可以更自动化地管理段内的可
用空间。这种空间管理形式被称为自动段空间管理(automatic
segment-space management)。
一个本地管理的(locally managed),且使用自动段空间管理的表空
间,既可以被创建为小文件表空间(传统的)(smallfile tablespace),
也可以被创建为大文件表空间(bigfile tablespaces)。在创建本地管理
的表空间时,自动段空间管理是默认值。
 
● MANUAL
在这种设置下,Oracle使用可用块列表(free list)来管理段内的可用空
间。可用块列表记录了所有可以被用于插入新数据的数据块。

 

 

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8183550/viewspace-666837/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/8183550/viewspace-666837/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值