重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 7668|回复: 0
打印 上一主题 下一主题

oracle清理PERFSTAT快照表空间遇到的高水位解决方法

[复制链接]
跳转到指定楼层
楼主
发表于 2012-6-25 16:17:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

清理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;

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-5-9 20:28 , Processed in 0.087207 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表