科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Oracle中空间管理对系统性能的影响(2)

Oracle中空间管理对系统性能的影响(2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文从表空间的自由空间、表及索引的扩展和连续空间三个方面告诉读者如何通过观测一定的表或视图来了解当前空间的使用状况,进而作出可能的调整决定。

作者:doorsir 来源:赛迪网 2007年8月31日

关键字: ORACLE

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共2页)

3.在SQL*plus中执行emp.sql。

4.装入数据:

 imp userid=scott/tiger ignore=y file=emp.dmp

需要注意的是,ignore参数必须设为Y。

C.可以用下面的语句来观察表或索引距离达到最大扩展的状况,“UNUSE”为距离达到最大扩展的值,在User_extents表中,extent_id是从0开始记述数的。

SQL >select a.table_name "TABLE_NAME",max

(a.max_extents) "MAXEXTENTS" ,

2 max(b.extent_id)+1 "IN USE", MAX

(a.max_extents)-(max(b.extent_id)+1) "UNUSE"

3 from user_tables a, user_extents b

4where a.table_name=b.segment_name

5 group by a.table_name ORDER BY 4;

TABLE_NAME MAXEXTENTS IN USEUNUSE

---------- ----------- -------- ---------

YZPHB 98 1 97

SHJYB 121 1 120

SHFYB 121 1 120

RCHDB 121 1 120

SJTXDZB121 1 120

SJTXDAB121 1 120

CHYHB 121 1 120

JFDH 50014 486

8 rows selected.

如果“UNUSE"小到一定的程度,我们就应该加以关注,进行适当的调整处理。

三、关于连续空间

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

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空间管理对数据库的工作性能有重要影响,其管理方法值得我们认真研究。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章