ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Local Tablespace Management实验1-System-managed LMT和Uniform Size LMT的开销比较

Local Tablespace Management实验1-System-managed LMT和Uniform Size LMT的开销比较

原创 Linux操作系统 作者:kimster88 时间:2012-10-29 23:19:13 0 删除 编辑
表空间的区(extent)管理分DMT(Dictionary Management Tablespace)和LMT(Local Management Tablespace)。Oracle建议使用的是LMT,根据Tom的说法就应该当做没有DMT这么回事情。只考虑LMT的问题,因为DMT在分配和释放extent的时候会频繁访问UET$和FET$2张表,会产生大量的递归SQL,导致Oracle的性能低下。而且DMT容易引起磁盘碎片。除了这些,因为LMT使用的是bitmap进行管理,所以很容易判断2个extent是连续的,但是DMT即使2个extent是连续的,但是如果是作为2个record在FET$表中的,Oracle无法识别他们是连续的。

LMT又分System-Manage和Uniform. Size,2者的区别:前者由Oracle决定分配的extent的大小是多少,而后者是由user参数指定。根据Tom的建议,当你不知道object的大小的时候使用System_manage,当一个segment小于10g的时候选择System_manage。

本实验用来查看System-Manage和Uniform. Size2种表空间的开销区别。

LMT的表空间,当创建了对象,就会有64k的空间用于表空间的管理,这个就是开销。但是如果使用的是Uniform. Size类型的,因为会有参数指定每个extent的大小,比如size=5m,虽然Oracle只会使用64k的空间用于表空间的管理,但是实际上是使用了5M的(可以通过user_extent和dba_extent查询)。

下面进行试验:
首先创建2个表空间,分别是上面说的2种LMT表空间
--System Manage LMT
SYS@10.2.0.5>create tablespace system_man extent management local;

Tablespace created.


--Uniform. Size LMT
SYS@10.2.0.5>create tablespace uniform_man extent management local uniform. size 5m;

Tablespace created.

然后分别在2个表空间上创建对象(一张空的表)

--System Manage LMT
SYS@10.2.0.5>create table system_tab (id int, c char(2000)) tablespace system_man ;

Table created.

--Uniform. Size LMT
SYS@10.2.0.5>create table uniform_tab(id int, c char(2000)) tablespace uniform_man;

Table created.

然后通过user_extent/dba_extent对开销进行查询:

SYS@10.2.0.5>select TABLESPACE_NAME,EXTENT_ID,bytes/1024/1024, blocks from dba_extents  where tablespace_name in ('SYSTEM_MAN','UNIFORM_MAN');

TABLESPACE_NAME                 EXTENT_ID BYTES/1024/1024     BLOCKS
------------------------------ ---------- --------------- ----------
UNIFORM_MAN                             0               5        640
SYSTEM_MAN                              0           .0625          8

通过上面的查询可以看出,uniform. size的LMT一开始就使用了5M的空间,虽然表现在是空的。但是System Manage的LMT依旧只是使用了64k的空间用于管理。(这里说一开始就使用,更好的说法应该是一下子分配,system manage只分配了64k用于空间管理,而uniform. size的LMT则分配了uniform. size指定的参数大小的空间)

PS:下次的实验依旧是2种类型的LMT的比较,比较的内容是对于多数据文件的表空间,2种LMT的使用数据文件区别。




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

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-07-04

  • 博文量
    2
  • 访问量
    3772