DMT 模式下Oracle Extent空间管理 -- uet$ & fet$

在Oracle 8i之前,包括8i,一直用的是DMT(Dictionary ManagementTablespace)字典管理表空间,它工作的原理是向uet$(代表used-extent table)、fet$(代表free-extent table)表插入、删除数据。当一个事务需要进行大量的扩展extent操作的时候,会向uet$表插入大量的数据,同时从fet$表中删除相关纪录的信息;当某个表的高水线下降,进行extent的回缩操作的时候,从uet$表删除大量的纪录,并且插入到fet$表中。

空间管理引起对uet$,fet$的操作在大量extent的情况下严重影响性能所以这种管理表空间的方式是比较耗费资源的,尤其是发生大量extent操作的时候,对uet$、fet$表的DML操作会引发性能问题。从Oracle 8i开始,就引入了本地管理表空间(LMT)的概念,这里对扩展段的管理不是放到字典表中,而是用一个Bitmap纪录并进行操作,由于是对文件进行操作,所以速度比较快,而且在Bitmap上,可以同时并发多个事务,所以速度快了。
 

sys.uet$与sys.fet$主要是串行化的问题,在高并发情况下可能要引起空间请求的等待
然后就是太多的extent,将引起uet$表的膨胀,因为uet$是使用系统回滚段的,最严重的情况下
也会引发系统回滚段的空间不够(如drop一个很多extent的表)

碎片问题也是DMT表空间特有的,但是与uet$,fet$关系不大,主要是因为每个段的extent的大小不一致,以及pctincrease不等于0,导致每个段中的extent的大小也不一致频繁的插入与删除,将引发很多气泡碎片, DMT的碎片问题,如果设计的好,是完全可以避免的

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

转载于:http://blog.itpub.net/35489/viewspace-665616/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值