oracle查看历史执行的sql
时间: 2023-09-08 19:11:27 浏览: 694
你可以通过以下几种方式来查看历史执行的 SQL:
1. 使用 SQL*Plus 的历史记录功能:
在使用SQL*Plus时,你可以通过向上键查看之前执行的SQL语句,但是这种方式只能查看当前会话中执行的 SQL 语句,如果会话结束,那么历史记录也会消失。
2. 通过Oracle的V$SQL和V$SQLAREA视图:
这两个视图都包含了执行过的 SQL 语句的信息,包括 SQL 语句本身、执行次数、执行时间、执行计划等。你可以通过查询这两个视图来查看历史执行的 SQL。
例如,以下SQL语句可以查询最近执行过的 10 条 SQL 语句:
```
SELECT *
FROM (
SELECT sql_text, executions, elapsed_time / 1000000 AS elapsed_time_sec
FROM v$sqlarea
ORDER BY last_active_time DESC
)
WHERE ROWNUM <= 10;
```
3. 使用Oracle SQL Developer:
Oracle SQL Developer是一个免费的集成开发环境,它提供了一个历史记录窗口,可以查看之前执行过的 SQL 语句。
在 SQL Developer 中,你可以打开历史记录窗口,然后选择需要查看的 SQL 语句,右键点击选择“执行”或“执行并解释计划”来执行该 SQL 语句。
相关问题
oracle 查看历史sql执行
要查看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执行情况。
情况oracle数据库sql执行历史信息
如果您想查看Oracle数据库中执行过的SQL语句历史信息,可以通过以下两种方法实现:
方法一:查看V$SQL和V$SQLTEXT视图
1. 连接到Oracle数据库实例,并使用sysdba权限登录。
2. 执行以下查询语句查看V$SQL视图中的SQL语句信息:
```
SELECT *
FROM V$SQL;
```
该视图包含了所有执行过的SQL语句的信息,包括SQL语句的文本、执行次数、执行时间、执行计划等。
3. 如果需要查看SQL语句的具体内容,可以通过查询V$SQLTEXT视图实现:
```
SELECT *
FROM V$SQLTEXT
WHERE SQL_ID = 'your_sql_id';
```
其中,your_sql_id是需要查看的SQL语句的ID,可以在V$SQL视图中找到。
方法二:使用Oracle SQL Developer
1. 打开Oracle SQL Developer工具,并连接到需要查看SQL历史信息的数据库实例。
2. 在左侧的导航栏中选择“Reports” -> “Standard Reports”。
3. 在弹出的窗口中选择“SQL” -> “Top SQL”或“SQL History”,即可查看执行次数最多的SQL语句或执行历史信息。
4. 如果需要查看SQL语句的具体内容,可以在查询结果中选择需要查看的SQL语句,右键选择“View SQL”,即可查看SQL语句的具体内容。
注意:如果您需要在Oracle数据库中保存SQL执行历史信息,可以通过配置auditing功能实现。在开启此功能后,Oracle数据库会记录所有用户在数据库中执行的SQL语句信息,并保存在数据库的AUD$表中。但是,请注意开启此功能可能会影响数据库性能。
阅读全文