Oracle显示按应用程序针对DB运行的所有SQL查询

我有一个旧的应用程序/可执行文件,可将数据加载到我们进行反向工程的Oracle DB中。我们希望查看应用程序生成的所有sql,而无需单步执行源代码。源代码具有许多不同的版本,并且可能与可执行文件不匹配。

liuchangqi 回答:Oracle显示按应用程序针对DB运行的所有SQL查询

select  v$sql.last_load_time,v$sql.sql_text 
from v$sql 
order by v$sql.last_load_time desc 

首先,您需要DBA的帮助:

  • 授予从表v $ sql中选择的权限。
  • ALTER SYSTEM SET sql_trace = true SCOPE = MEMORY;完成时 更改系统设置sql_trace = false SCOPE = MEMORY;
  • 从sys.v_ $ session中选择sid,序列号和计算机;找到您机器的sid和序列号并输入到下一个命令
  • 执行sys.dbms_system.set_sql_trace_in_session(sid,serial#,true);
  • 通过执行以下命令来刷新缓存:

    alter system flush buffer_cache;

    alter system flush shared_pool;

本文链接:https://www.f2er.com/3071071.html

大家都在问