ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 表空间的数据字典管理

表空间的数据字典管理

原创 Linux操作系统 作者:cow977 时间:2011-03-22 17:45:36 0 删除 编辑
数据字典管理(Dictionary Management Tablespace,DMT)采用数据字典表FET$和UET$来管理extent的扩张和收缩。
 
desc FET$
Name              Null?            Type
------------------------------------------------------------
TS#                  Not Null       Number     表空间号
FILE#               Not Null       Number     数据文件号
BLOCK#         Not Null        Number    数据块号
LENGTH         Not Null        Number    长度
 
desc UET$
Name              Null?            Type
------------------------------------------------------------
SEGFILE#      Not Null        Number   
SEGBLOCK#  Not Null        Number   
EXT#                Not Null        Number    EXTENT编号
TS#                  Not Null       Number     表空间号
FILE#               Not Null       Number     数据文件号
BLOCK#         Not Null        Number    数据块号
LENGTH         Not Null        Number    长度
 
 
 
DMT存在的问题:
当用户进程对表进行DML操作,从而需要空间时,Oracle会产生很多的递归SQL,通过这些递归SQL完成对FET$和UET$的更新。
因为要对FET$和UET$这两个表之间插入和删除记录,因此需要产生很多的事务,事务都会引起锁定。如果多个进程同时要求扩张extent时,大家都会去试图更新FET$里的相同记录,于是引起锁定等待。
因为产生事务,所以会产生undo和redo。
SMON进程要定期扫描FET$表,对其中相邻的可用空间进行合并。这会消耗一定的资源,当FET$中记录数很多的时候,资源消耗尤其严重。

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

上一篇: 使用EM管理实例
请登录后发表评论 登录
全部评论

注册时间:2011-03-02

  • 博文量
    699
  • 访问量
    754923