oracle如何清理sysaux表空间,ORACLE 清理SYSAUX表空间

在数据库检查中发现SYSAUX表空间占用过大,SYSAUX是ORACLE10G开始提供的功能,用于数据库为SYSTEM表空间减负。

用以下语句查出相应的表空间值

select

a.tablespace_name,trunc(sum(a.bytes)/1024/1024/1024,2) total,

trunc(sum(a.bytes)/1024/1024/1024 - sum(b.bytes)/1024/1024/1024,2) used,

trunc(sum(b.bytes)/1024/1024/1024,2) free,

to_char(trunc((sum(a.bytes)/1024/1024/1024-sum(b.bytes)/1024/1024/1024)/(sum(a.bytes)/1024/1024/1024),4)*100)||'%' pused,

to_char(trunc((sum(b.bytes)/1024/1024/1024)/(sum(a.bytes)/1024/1024/1024),4)*100)||'%' pfree

from (select sum(bytes) bytes,tablespace_name from dba_data_files group by tablespace_name) a,(select sum(bytes) bytes,tablespace_name from dba_free_space group by tablespace_name) b

where a.tablespace_name=b.tablespace_name(+)

group by a.tablespace_name;

查出表空SYSAUX占用率过高

73f9d44e27754782e6c9cd3e58001381.png

SYSAUX共13.84G 其使用率95%

通过以下语句查出什么使用这么多空间

SELECT occupant_name "Item",

space_usage_kbytes / 1048576 "Space Used (GB)",

schema_name "Schema",

move_procedure "Move Procedure"

FROM v$sysaux_occupants

ORDER BY 2 desc;

e8c046cbb87f2bdd2ebe18dad63ecb40.png

从上图可以看到其中AWR用了11G空间

查看下AWR统计数的保存天数

select dbms_stats.get_stats_history_retention from dual;

3d41e2e01370eaecd8a8512603c35245.png

59185454ffdb205eb200677e2db551c5.png

通过 select dbid, min(snap_id),max(snap_id) from dba_hist_snapshot group by dbid;

查出相应的DBID和SNAP_ID,

2fdc8ea0532ded0ac46bfc6e29c7d31b.png

清空上一个dbid下的所有snapshot

exec dbms_workload_repository.drop_snapshot_range(29737,29943,310691130);

等待太久了‘

为了加快清除速实施以下操作

查找到那些占用sysaux表空间的基表,按照大小进行排序

select * from (select segment_name,PARTITION_NAME,segment_type,bytes/1024/1024 from dba_segments where tablespace_name='SYSAUX' order by 4 desc) where rownum<=10;

查出以下内容

640b5c26b7991ba65bcec54b6a06fdd1.png

备份基表WRH$ACTIVE_SESSION_HISTOR,WRH$_SQLSTAS,WRH$_EVENT_HISTOGRAM

create table WRH$_ACTIVE_SESSION_HISTORY0926 as select * from WRH$_ACTIVE_SESSION_HISTORY;

create table WRH$_SQLSTAT0926 as select * from WRH$_SQLSTAT;

create table WRH$_EVENT_HISTOGRAM0926 as select * from WRH$_EVENT_HISTOGRAM;

create table WRH$_LATCH0926 as select * from WRH$_LATCH;

清除相应基表数据

truncate  table  WRH$_ACTIVE_SESSION_HISTORY;

truncate  table  WRH$_EVENT_HISTOGRAM;

truncate  table  WRH$_SQLSTAT;

truncate  table  WRH$_LATCH_MISSES_SUMMARY;

truncate  table  WRH$_LATCH;

truncate  table  WRH$_SYSSTAT;

truncate  table  WRH$_SEG_STAT;

truncate  table  WRH$_PARAMETER;

truncate  table  WRH$_SYSTEM_EVENT;

truncate  table  WRH$_SQL_PLAN;

truncate  table  WRH$_DLM_MISC;

truncate  table  WRH$_SERVICE_STAT;

truncate  table  WRH$_TABLESPACE_STAT;

truncate  table  WRH$_ROWCACHE_SUMMARY;

truncate  table  WRH$_MVPARAMETER;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值