尝试手工生成,报错sysaux表空间满。
BEGIN DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT (); END;
检查DBA_HIST_SNAPSHOT和dba_hist_active_sess_history。发现有错误的过期数据,mmon无法自动清除。
手工删除过期数据
begin dbms_workload_repository.drop_snapshot_range(low_snap_id => xx, high_snap_id => yy); end;
根据需要,压缩表
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;
手工生成正常,但仍不能自动生成。
待晚上自动收集数据完成后,自动生成也恢复。
如果还有问题,考虑后续步骤:
1)重启一下mmon的刷新
alter system set "_swrf_mmon_flush"=false; alter system set "_swrf_mmon_flush"=true;
2)或者,找到mmon进程杀掉,让数据库自动重启一个新的mmon进程,或者重启下实例。 ps -ef|grep mmon kill -9 xxxxxx