1.显示所有剩余空间小于10%的表
这里要注意的是,blocks和empty_blocks是只有通过dbms_stats.gather_table_stat收集后才能得到最准确的值。
SQL> SELECT owner, table_name, blocks, empty_blocks
2 FROM dba_tables
2 FROM dba_tables
3 WHERE empty_blocks/(blocks+empty_blocks) < .1;
OWNER TABLE_NAME BLOCKS EMPTY_BLOCKS
------ ---------- ---------- ------------
HR EMPLOYEES 1450 50
HR COUNTRIES 460 40
2.要避免动态分配,根据上面的结果,执行下面的语句
SQL> ALTER TABLE hr.employees ALLOCATE EXTENT;
Table altered.
3.这个办法也可以用于index/cluster
本文介绍如何通过查询表空间利用率低于10%的表并调整其extent分配策略来优化Oracle数据库性能。
2163

被折叠的 条评论
为什么被折叠?



