oracle 查看历史sql执行
时间: 2023-09-08 07:11:33 浏览: 299
要查看Oracle数据库中历史SQL执行的记录,可以通过以下两种方式:
1. 通过Oracle提供的视图v$sqlarea查询历史SQL执行情况,该视图中包含了所有正在执行或已经执行完成的SQL语句的信息。可以使用以下SQL语句查询历史SQL执行情况:
```
SELECT sql_text, executions, elapsed_time/1000000
FROM v$sqlarea
WHERE parsing_schema_name = 'your_schema_name'
AND sql_text LIKE '%your_search_text%'
ORDER BY elapsed_time/1000000 DESC;
```
其中,`parsing_schema_name`为指定查询的模式名,`sql_text`为SQL语句,`executions`为SQL语句执行次数,`elapsed_time`为SQL语句执行所需时间。
2. 通过Oracle提供的跟踪工具Oracle Trace来查看历史SQL执行情况。Oracle Trace可以记录SQL语句的执行情况、执行时间、执行计划等信息。可以通过以下步骤开启Oracle Trace:
- 使用SQL*Plus登录数据库,并执行以下SQL语句:
```
ALTER SESSION SET SQL_TRACE=TRUE;
```
- 执行需要跟踪的SQL语句。
- 执行以下SQL语句,停止跟踪:
```
ALTER SESSION SET SQL_TRACE=FALSE;
```
- 在Oracle数据库的跟踪目录中,可以找到包含跟踪信息的跟踪文件。可以使用跟踪工具如TKPROF来分析跟踪文件并查看历史SQL执行情况。
阅读全文