表空间的数据字典管理

数据字典管理(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/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/81227/viewspace-690191/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值