本次想清除2014年以前statspack相关表的历史数据。
1.找出2014年1月1日之前对应最大的SNAP_ID值
select Max(SNAP_ID)
from stats$snapshot
Where snap_time < to_date('2014-01-01', 'YYYY-MM-DD');
2.根据Oracle DB环境的官方提供的脚本($ORACLE_HOME/rdbms/admin/sptrunc.sql)
Declare
l_SNAP_ID Number := 103;
Begin
Delete From STATS$FILESTATXS Where SNAP_ID <= l_SNAP_ID;
Delete From STATS$TEMPSTATXS Where SNAP_ID <= l_SNAP_ID;
Delete From STATS$LATCH Where SNAP_ID <= l_SNAP_ID;
Delete From STATS$LATCH_CHILDREN Where SNAP_ID <= l_SNAP_ID;
Delete From STATS$LATCH_MISSES_SUMMARY Where SNAP_ID <= l_SNAP_ID;
Delete From STATS$LATCH_PARENT Where SNAP_ID <