查看Oracle数据库SQL执行历史

本文介绍了两种查看Oracle数据库中SQL执行历史的方法:1) 使用LogMiner工具,它可以完全挖掘日志内容,但需要启用归档日志且需熟悉使用;2) 查看HIST视图,操作简单但只能查看一周内的历史。同时列举了Oracle 10.2的command type定义列表。
摘要由CSDN通过智能技术生成

方法1:使用LogMiner工具

优点:可以完全挖掘日志内容,找出所有执行过的SQL语句

缺点:

  1. 如果没有启用归档日志,则只能对联机日志进行挖掘

  2. 需要掌握LogMiner的用法

方法2:查看HIST视图

优点:简单,只要使用普通的select语句查询

缺点:Oracle保留约1周的历史,所以要查太早的就不可能了

举例:

-- 找出哪个数据库用户用什么程序在最近三天执行过delete或truncate table的操作

  SELECT c.username,
         a.program,
         b.sql_text,
         b.command_type,
         a.sample_time
    FROM dba_hist_active_sess_history a
         JOIN dba_hist_sqltext b
            ON a.sql_id = b.sql_id
         JOIN dba_users c
            ON a.
如果您想查看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$表中。但是,请注意开启此功能可能会影响数据库性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值