oracle指定时间查询表执行了哪些语句操作
时间: 2023-09-01 10:04:53 浏览: 76
要查询Oracle在指定时间段内执行了哪些语句操作,可以使用Oracle自带的工具——AWR报告(Automatic Workload Repository)来完成。
AWR报告是Oracle数据库性能调优和故障排查的重要工具,它会自动收集数据库的性能指标和活动信息,并生成系统级和会话级的性能报告。
首先,需要登录到数据库的sys用户,并执行以下命令来生成AWR报告:
```sql
exec dbms_workload_repository.create_snapshot();
```
这条命令会在当前时间点生成一个AWR快照。然后,通过以下命令可以获取生成的AWR报告的ID:
```sql
select snap_id from dba_hist_snapshot order by end_interval_time desc;
```
记下最新的AWR报告ID,在下面的查询中会用到。
接下来,通过以下命令来查询指定时间段的语句操作:
```sql
select sql_text
from dba_hist_sqltext
where sql_id in (
select sql_id
from dba_hist_sqlstat
where snap_id = <AWR快照ID>
)
order by piece;
```
将"<AWR快照ID>"替换为前面记下的AWR报告ID。这条查询语句会返回在指定时间段内执行的所有语句操作的SQL文本。
通过上述步骤,就可以成功地查询Oracle在指定时间段内执行了哪些语句操作。注意,在执行以上操作前需要确保数据库已开启AWR功能,并且数据保留时间足够长以覆盖目标时间段。