首页 > 数据库 > Oracle > 回收表的HWM-10G新功能
发现perfstats表空间已满面了,STATS$SQL_SUMMARY和其索引占用的空间最大,用delete删掉一些STATS的信息后表所占的空间不会释放。
10G已可以用shrink space来回收HWM了,9i是不行的。
下面是9i的测试。
[@more@]
1.删除STATS的信息.
SQL> delete stats$snapshot where snap_id<29;
28 rows deleted.
SQL> commit;
2.分析一下,看表的实际情况是怎样
SQL> ANALYZE TABLE perfstat.stats$sql_summary COMPUTE STATISTICS;
Table analyzed.
SQL> SELECT segment_name,segment_type,blocks
2 From dba_segments where segment_name='STATS$SQL_SUMMARY';
SEGMENT_NAME SEGMENT_TYPE BLOCKS
-------------------- -------------------
STATS$SQL_SUMMARY TABLE 5760
占用了5760个blocks.
SQL> SELECT table_name,num_rows,blocks,empty_blocks
2 from dba_tables where table_name='STATS$SQL_SUMMARY';
TABLE_NAME NUM_ROWS BLOCKS EMPTY_BLOCKS
------------ -------------- ------- -------------
STATS$SQL_SUMMARY 310729 5759 0
注意:BLOCKS + EMPTY_BLOCKS (5759+0)比DBA_SEGMENTS.BLOCKS少个数据库块,这是因为有一个数
据库块被保留用作segment header。DBA_SEGMENTS.BLOCKS 表示分配给这个表的所有的数据库块的数
目。USER_TABLES.BLOCKS表示已经使用过的数据库块的数目。
因为上面已删除掉一些资料,5759个blocks应该有空的才对,通过下面的语句查看实际占用了多少
block.
SQL> SELECT COUNT (DISTINCT DBMS_ROWID.ROWID_BLOCK_NUMBER(rowid)||
DBMS_ROWID.ROWID_RELATIVE_FNO(rowid)) "Used"
2 FROM perfstat.stats$sql_summary;
Used
----------
5254
实际只有了5254个,空闲的有5760-5254=506.通过DBMS_SPACE也可以直观的查看.
SQL> set serveroutput on;
SQL> exec show_space('STATS$SQL_SUMMARY','PERFSTAT');
Free Blocks............................. 506
Total Blocks............................ 5,760
Total Bytes............................. 47,185,920
Total MBytes............................ 45
Unused Blocks........................... 0
Unused Bytes............................ 0
Last Used Ext FileId.................... 53
Last Used Ext BlockId................... 25,097
Last Used Block......................... 128
PL/SQL procedure successfully completed.
3.由于版本是9.0.0.1的,不支持shrink操作.
SQL> alter table perfstat.STATS$SQL_SUMMARY enable row movement;
Table altered.
SQL> alter table perfstat.STATS$SQL_SUMMARY shrink space;
alter table perfstat.STATS$SQL_SUMMARY shrink space
*
ERROR at line 1:
ORA-01735: invalid ALTER TABLE option
真郁闷,有机会到10g上测试一下,再发上来.
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/271283/viewspace-1006929/ ,如需转载,请注明出处,否则将追究法律责任。