如何清理WRH$_ACTIVE_SESSION_HISTORY
时间: 2023-09-11 19:11:39 浏览: 258
WRH$_ACTIVE_SESSION_HISTORY 是 Oracle 数据库中的一个性能监控表。如果需要清理这个表中的数据,可以使用以下步骤:
1. 首先,确认该表中的数据是否过期,可以通过查询该表中最后一个采集时间(LAST_SAMPLE_TIME)来判断。如果数据已经过期,可以考虑清理。
2. 使用以下语句清理 WRH$_ACTIVE_SESSION_HISTORY:
```
EXEC DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(interval => 0);
```
这个语句会暂停自动快照的采集,以便清理该表中的数据。
3. 使用以下语句清空 WRH$_ACTIVE_SESSION_HISTORY:
```
DELETE FROM wrh$_active_session_history;
```
4. 最后,重新启用自动快照的采集:
```
EXEC DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(interval => 15);
```
这个语句会将自动快照的采集间隔设置为 15 分钟,可以根据实际需要进行调整。
相关问题
wrh$_active_session_history清理
wrh$_active_session_history是Oracle数据库中的一个表,用于记录当前正在执行的会话的信息。如果这个表的数据过多,可能会导致数据库性能下降,因此需要定期清理。可以使用以下语句清理wrh$_active_session_history表中的数据:
```
exec DBMS_WORKLOAD_REPOSITORY.DROP_WRH$_ACTIVE_SESSION_HISTORY(SYSDATE-7);
```
上述语句将删除wrh$_active_session_history表中一周前的数据。你可以根据实际情况调整清理的时间范围。
WRH$_ACTIVE_SESSION_HISTORY 的作用
WRH$_ACTIVE_SESSION_HISTORY是Oracle数据库中的一个表,用于记录当前正在执行的会话的信息。这个表是AWR (Automatic Workload Repository)的一部分,是Oracle自带的一种性能监控和诊断工具。AWR用于收集和存储Oracle数据库的性能数据,包括系统和会话级别的性能指标。
WRH$_ACTIVE_SESSION_HISTORY表中的数据记录了当前正在执行的会话的信息,包括会话的开始时间、结束时间、会话的状态、会话使用的资源等等。这些数据可以用于分析和诊断数据库的性能问题,例如,可以通过分析WRH$_ACTIVE_SESSION_HISTORY表中的数据,找出哪些会话在占用数据库资源,哪些SQL语句执行效率低下等等。
需要注意的是,WRH$_ACTIVE_SESSION_HISTORY表的记录是动态的,即当一个会话结束后,其对应的记录也会被删除,因此该表中只会记录当前正在执行的会话信息。
阅读全文