可以使用 Oracle 数据库 10g 中提供的 Oracle Enterprise Manager 界面指定特定的表空间来发现可能的符合要求的段,但如果您的数据库有几百个表空间,则不可能每天执行该操作。即使您能做,但也不是每个表空间都有需要重新组织的段的。因此,如果有一个自动工具可以提前扫描这些段并报告需要重新组织的段岂不很好?
在 Oracle 数据库 10g 第 2 版中,所附带的程序包 DBMS_SPACE 提供了该功能。内置函数 ASA_RECOMMENDATIONS 显示了段;由于这是一个管道函数,因此必须按如下所示使用它:
select * from table (dbms_space.asa_recommendations());由于列数较多,因此看清楚输出不太容易。以下只是一个以垂直格式显示的记录。
TABLESPACE_NAME :USERS SEGMENT_OWNER :ARUP SEGMENT_NAME :ACCOUNTS SEGMENT_TYPE :TABLE PARTITION PARTITION_NAME :P7 ALLOCATED_SPACE : 0 USED_SPACE : 0 RECLAIMABLE_SPACE : 0 CHAIN_ROWEXCESS : 17 RECOMMENDATIONS :The object has chained rows that can be removed by re-org. C1 : C2 : C3 : TASK_ID : 261 MESG_ID : 0此处您将看到,模式 ARUP 中表 ACCOUNTS 的分区 P7 包含链接行。执行重新组织将帮助加快该分区全表扫描的速度。 此信息由在预定义的维护时间窗(周末下午 10 点至早上 6 点以及周六中午 12 点至周一中午 12 点)内运行的自动调度作业收集;您可以使用 Oracle Enterprise Manager 更改这些时间窗。在此时间内,该作业将对段进行扫描以获取符合要求的段。如果扫描无法及时完成,该作业将暂停并在第二天的时间窗继续扫描。 该作业存储有关在名为 wri$_segadv_objlist 的表中检查的段和表空间的信息。可以查看有关在视图 DBA_AUTO_SEGADV_CTL 中检查的段的信息。 [@more@]
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/197458/viewspace-1008486/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/197458/viewspace-1008486/