Oracle数据库的空间管理技巧(三)

日期: 2008-06-17 来源:TechTarget中国

  三、关于连续空间


  可以用下面的语句来查看数据库中的自由空间:   


  SQL > select * from dba_free_space


  where tablespace_name=’SFSJTS’


  2 order by block_id;


  TABLESPACE FILE_ID BLOCK_ID BYTESBLOCKS


  _NAME


  ———– ——— ————–


  SFSJTS 6 133455 1064960 130


  SFSJTS 6 133719 1032192 126


  SFSJTS 6 133845 1064960 130


  SFSJTS 6 135275 1064960 130


  SFSJTS 6 135721 606208 74


  SFSJTS 6 139877 901120 110


  SFSJTS 6 143497 737280 90


  SFSJTS 6 220248 737280 90


  SFSJTS 6 246228 491520 60


  SFSJTS 6 261804 1064960 130  


  10 rows selected.


  我们可以通过命令的结果来估计相邻自由空间的真正数量。对每一行,用起始快的id(BLOCK_ID)加上自由块(BLOCKS)的数量,如果其和与下一行的块id(BLOCK_ID)相等,则此两行是连续的。如上例第二行和第三行,133719+126=133845,而1338456+130!=135275,所以从block_id为133719开始,有126+130=256个block的连续空间。


  在Oracle数据库的后台,系统监视器(SMON)周期性地合并自由空间相邻的块,以得到更大的连续块。而DBA可以用SQL命令来完成这个工作:   


  alter tablespace tablespace_name coalesce;


  Oracle空间管理对数据库的工作性能有重要影响,其管理方法值得我们认真摸索研究。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐