Oracle 8i或之前的版本,一直使用的是DMT(Dictionary ManagementTablespace)字典管理表空间,他们的管理主要是依靠uet$和fet$。工作原理是向uet$(代表used-extent table,代表已经使用的扩展的信息表)、fet$(代表free-extent table,)表插入、删除数据。
当一个事务需要进行大量的扩展extent操作的时候,会向uet$表插入大量的数据,同时从fet$表中删除相关纪录的信息; 当某个表的高水线下降,进行extent的回缩操作的时候,从uet$表删除大量的纪录,并且插入到fet$表中。
空间管理引起对uet$,fet$的操作在大量extent的情况(所以我们要控制extent的数量)下严重影响性能, 这种管理表空间的方式是比较耗费资源的,。
从Oracle 8i开始,就引入了本地管理表空间(LMT)的概念,这里对扩展段的管理不是放到字典表中,而是用一个Bitmap纪录并进行操作,由于是对文件进行操作,所以速度比较快,而且在Bitmap上,可以同时并发多个事务,所以速度快了。
本地管理表空间(LMT)相关信息可以参考:
http://blog.youkuaiyun.com/lunar2000/archive/2004/07/23/49453.aspx
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-419058/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/35489/viewspace-419058/
本文介绍了Oracle数据库中表空间管理方式的变化,从早期的DMT字典管理表空间过渡到更高效的本地管理表空间(LMT)。详细解释了两种管理方式的工作原理及优缺点,特别是在extent操作上的性能差异。

被折叠的 条评论
为什么被折叠?



