oracle查询历史执行记录
时间: 2023-08-18 19:11:20 浏览: 129
你可以使用 Oracle 数据库的 V$SQL 和 V$SQL_PLAN 视图来查询历史执行记录。下面是一个示例查询,可以获取最近执行过的 SQL 语句和执行计划:
```sql
SELECT
sql_text,
executions,
plan_hash_value,
first_load_time,
last_load_time
FROM
v$sql
ORDER BY
last_load_time DESC;
```
这个查询会返回 SQL 语句的文本、执行次数、执行计划的哈希值以及首次和最后加载的时间。
请注意,你需要有适当的权限才能查询这些视图。如果你没有权限,需要联系数据库管理员或具有相应权限的用户来执行这个查询。
相关问题
Oracle查询历史记录
作为一个AI语言模型,我无法查看和获取实时的Oracle查询历史记录,因为我没有权限访问数据库。但是,您可以使用以下命令来查看最近执行的SQL查询历史记录:
1. 查询最近执行的SQL查询历史记录:
SELECT username, sql_text, to_char(last_active_time, 'yyyy-mm-dd hh24:mi:ss') last_active_time
FROM v$sql
WHERE username = 'YOUR_USERNAME'
ORDER BY last_active_time DESC;
2. 查询特定用户执行的SQL查询历史记录:
SELECT sql_text, to_char(last_active_time, 'yyyy-mm-dd hh24:mi:ss') last_active_time
FROM v$sql
WHERE username = 'YOUR_USERNAME'
ORDER BY last_active_time DESC;
3. 查询最近执行的PL/SQL语句历史记录:
SELECT username, sql_text, to_char(last_active_time, 'yyyy-mm-dd hh24:mi:ss') last_active_time
FROM v$sql
WHERE username = 'YOUR_USERNAME'
AND sql_text LIKE 'BEGIN%'
ORDER BY last_active_time DESC;
请注意,这些命令仅适用于最近执行的SQL查询历史记录,如果您需要更详细的查询历史记录,可以查看Oracle的审计功能。
oracle数据库查询历史记录
Oracle数据库提供了审计功能,可以记录所有用户对数据库进行的操作,并将这些信息写入到审计日志文件中。数据库管理员可以使用审计日志文件查询用户的操作历史记录。具体步骤如下:
1. 开启审计功能:执行以下语句开启审计功能:
```
AUDIT ALL BY <user> BY ACCESS;
```
其中,<user>为需要审计的用户。
2. 查询审计日志文件:执行以下语句查询审计日志文件:
```
SELECT * FROM dba_audit_trail;
```
可以根据需要添加WHERE子句进行筛选。
3. 停止审计功能:执行以下语句停止审计功能:
```
NOAUDIT ALL BY <user> BY ACCESS;
```
其中,<user>为需要停止审计的用户。