Tablespace Manager

Tablespace Manager

第一、字典管理表空间(Dictionary-Managed Tablespace简称DMT)

   将Oracle的区管理信息存放在表空间的字典中进行管理,所有区的分配与释放,都会使字典的记录的增减变动。也就是在字典的记录中会执行更新、插入、删 除操作,在执行上述操作时,都会生成重做日志,对字典的管理,将影响正常操作的效率,并且在区分配、回收的过程中,产生磁盘碎片,如果磁盘碎片增加到一定的程度,会浪费空间,严重影响效率,同时,Oracle 在管理表空间的管理中,会产生递归SQL。

    Oracle使用两个字典来记录Extents的使用情况:SYS.FET$记录空闲的Extents,SYS.UET$记录使用的Extents。在分配和释放分区时,都要修改者两个字典。属于DML操作,存在竞争,每个动作都是一个事务,会产生UNDO记录。需要周期性进行合并操作。效率低下。

    如果要用字典的方式管理表空间,可以在创建表空间时,使用: EXTENT MANAGEMENT DICTIONARY 选项。

第二、本地管理表空间

    本地管理是以位图的方式,将区的分配信息保存在数据文件本身,所有区的分配等操作都只是位图的算,位图中的每一位对应数据文件中的一个区或几个连续的区,这样在进行区管理时,生成的重做日志将非常少,并且运行的效率很高。并且产生磁盘碎片很少

  如果要用本地管理表空间,可以在创建表空间时,使用: EXTENT MANAGEMENT LOCAL 选项。

    在表空间的管理中,Oracle8I中可以采用字典管理,也可以采用本地管理,如果不指定,将采用字典管理方式。

      在 Oracle9I中,推荐采用本地管理的方式,如果不指定,将采用本地管理的方式。

     从Oracle 10g开如,要求采用本地管理的方式。


你可能感兴趣的:(oracle,记录,回收,空间,周期性)