通過修改了awr收集頻率之後(發現sysaux表空間還是占用嚴重。
下面介紹一下如何清理sysaux表空間
一.清理sysaux下的歷史統計資訊
1.將歷史統計資訊保留時間設為無限
exec dbms_stats.alter_stats_history_retention(-1);
2.truncate較大的table
truncate table sys.wri$_optstat_histhead_history;
truncate table sys.wri$_optstat_histgrm_history;
3.清理歷史統計資訊
exec dbms_stats.purge_stats(sysdate-101);
exec dbms_stats.purge_stats(sysdate-51);
exec dbms_stats.purge_stats(sysdate-5);
4.將歷史統計資訊保留時間設為10天
exec dbms_stats.alter_stats_history_retention(10);
5.將歷史統計資訊相關的表進行move
alter table sys.wri$_optstat_histhead_history move tablespace sysaux;
alter index sys.i_wri$_optstat_hh_obj_icol_st rebuild online;
alter index sys.i_wri$_optstat_hh_st rebuild online;
alter table sys.wri$_optstat_histgrm_history move tablespace sysaux;
alter index sys.i_wri$_optstat_h_obj#_icol#_st rebuild online;
alter index sys.i_wri$_optstat_h_st rebuild online;
alter table sys.wri$_optstat_ind_history move tablespace sysaux;
alter index sys.i_wri$_optstat_ind_obj#_st rebuild online;
alter index sys.i_wri$_optstat_ind_st rebuild online;
alter table sys.wri$_optstat_tab_history move tablespace sysaux;
alter index sys.i_wri$_optstat_tab_obj#_st rebuild online;
alter index sys.i_wri$_optstat_tab_st rebuild online;
alter table sys.wri$_optstat_opr move tablespace sysaux;
alter table sys.wri$_optstat_aux_history move tablespace sysaux;
alter index sys.i_wri$_optstat_aux_st rebuild online;
alter index sys.i_wri$_optstat_opr_stime rebuild online;
6.對move表的統計資訊進行收集
exec dbms_stats.gather_table_stats(ownname => 『sys』,tabname => 『wri$_optstat_histhead_history』,cascade => true);
exec dbms_stats.gather_table_stats(ownname => 『sys』,tabname => 『wri$_optstat_histgrm_history』,cascade => true);
exec dbms_stats.gather_table_stats(ownname => 『sys』,tabname => 『wri$_optstat_ind_history』,cascade => true);
exec dbms_stats.gather_table_stats(ownname => 『sys』,tabname => 『wri$_optstat_tab_history』,cascade => true);
exec dbms_stats.gather_table_stats(ownname => 『sys』,tabname => 『wri$_optstat_opr』,cascade => true);
exec dbms_stats.gather_table_stats(ownname => 『sys』,tabname => 『wri$_optstat_aux_history』,cascade => true);
二.清理syaux下的無效ash資訊
1.檢查是否有無效的ash資訊
select count(*)
from sys.wrh$_active_session_history a
where not exists (select 1
from sys.wrm$_snapshot b
where a.snap_id = b.snap_id
and a.dbid = b.dbid
and a.instance_number = b.instance_number);
2.清理無效的ash資訊
delete
from sys.wrh$_active_session_history a
where not exists (select 1
from sys.wrm$_snapshot b
where a.snap_id = b.snap_id
and a.dbid = b.dbid
and a.instance_number = b.instance_number);
3.對ash表清理後的碎片整理
alter table sys.wrh$_active_session_history enable row movement;
alter table sys.wrh$_active_session_history shrink space cascade;
alter table sys.wrh$_active_session_history disable row movement;
4.收集碎片整理後表的統計資訊
exec dbms_stats.gather_table_stats(ownname => 『sys』,tabname => 『wrh$_active_session_history』,cascade => true);
3.檢查表空間可收縮的的位置
select a.file#,
a.name,
a.bytes / 1024 / 1024 mb,
ceil(hwm * a.block_size) / 1024 / 1024 resizeto,
『alter database datafile 」』 || a.name || 」』 resize 『 ||
(trunc(ceil(hwm * a.block_size) / 1024 / 1024)+20) || 『m;』 resizecmd
from v$datafile a,
(select c.file_id, max(c.block_id + c.blocks – 1) hwm
from dba_extents c
group by file_id) b
where a.file# = b.file_id
and a.tablespace=』sysaux』
order by 5;
三.sysaux清理後的檢查
1.清理後的無效index檢查
select * from dba_indexes where status<>『valid』 and status<>『n/a』;
select * from dba_ind_partitions where status<>『usable』 and status<>『n/a』;
select * from dba_ind_subpartitions where status<>『usable』;
上面語句應均無資料返回,如有則對這些index進行重建
2.清理後的index並行度檢查
select * from dba_indexes where degree not in (』1′,』0′,』default』);
關於DropDownList空間的繫結問題
1.我用dropdownlist後台動態繫結listitem之後 繫結 如下 void bindsendtime else if i 0 string date dtime.year 年 dtime.month 月 dtime.day 日 time listitem li new listitem ...
ubuntu下解決boot分割槽空間不足問題
我們使用ubuntu系統的時候,總會在一段時間後,顯示類似這樣的問題the volume boot has only 5.2 mb disk space remaining。在 boot目錄下佔記憶體比較大的是我們linux系統的核心映象,因此我們可以通過刪除核心映象來釋放一部分空間。我們使用下列 ...
解決Oracle下的undo空間過大的問題
如果undo表空間undotbs不能釋放空間,重建之 建立備用undo表空間 create undo tablespace newundotbs datafile ora data newundotbs01.dbf size 1000m 切換undo表空間 alter system set undo...