嘗試手工生成,報錯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
