龙空技术网

清理PERFSTAT快照表空间方法

重庆思庄 145

前言:

现时小伙伴们对“清理oracle表空间”可能比较讲究,咱们都想要了解一些“清理oracle表空间”的相关知识。那么小编在网上汇集了一些有关“清理oracle表空间””的相关知识,希望大家能喜欢,我们一起来了解一下吧!

清理PERFSTAT快照表空间方法

1.查询整个记录时间段snap_id

select snap_id,dbid,to_char(snap_time,'yyyy/mm/dd hh24:mi:ss') snaptime,snap_level from stats$snapshot order by 1;

2.使用oracle自带脚本sppurge.sql清理快照,只需要输入起始到结束时间段的snap_id即可将这个时间段的快照删除。

以上步骤操作完成commit后发现PERFSTAT表空间容量并没有下降,为什么?那么我的理解只能是与高水位有关了。

解决高水位有几种方法:

1.move操作

2.exp导入/导出

由于我的库是9I的,在10G才有shrink,所以这里我选择用move操作来解决高水位的问题。

由于PERFSTAT表空间使用较高,无法在直接move,所以我先move到其它表空间,之后在迁移回来。

alter table PERFSTAT.STATS$SQLTEXT move tablespace SMMS_BASE_DAT;

之后在迁移回PERFSTAT表空间即可解决高水位问题,由于使用的是move操作索引会失效

select status,index_name from dba_indexes where owner='PERFSTAT'; 检查因为move操作失效的索引rebuild

alter index index_name rebuild;

标签: #清理oracle表空间