如何查看几天前在Oracle数据库版本11g中导出的查询
我想查看几天前在Oracle数据库版本11g中执行的SQL查询。我可以为此进行查询吗?除非您在关闭开发人员之前保存了它,否则不可能进行查询如果您拥有适当的权限,例如选择任何可以查询动态视图V$SQL的字典,如果感兴趣的语句被多次调用,或者如果数据库中没有太多活动,SQL可能仍在共享池中。试试像这样的东西如何查看几天前在Oracle数据库版本11g中导出的查询,oracle,oracle11g,Oracle,Oracle11g,我想查看几天前在Oracle数据库版本11g中执行的SQL查询。我可以为此进行查询吗?除非您在关闭开发人员之前保存了它,否则不可能进行查询如果您拥有适当的权限,例如选择任何可以查询动态视图V$SQL的字典,如果感兴趣的语句被多次调用,或者如果数据库中没有太多活动,SQL可能仍在共享池中。试试像这样的东西 set long 12000 select sql_id, last_active_time, executions, sql_text -- or full_sql_text
set long 12000
select sql_id, last_active_time, executions,
sql_text -- or full_sql_text if you want more than just the first 1000 characters of the SQL
from v$sql
where last_active_time between trunc(sysdate)-2 and trunc(sysdate)-1
order by last_active_time;
以获取两天前调用的所有SQL。另外,正如Justin所提到的,如果您使用的是AWR Advanced Workload Repository,则默认设置中包含数据库中最近7天活动的详细信息,包括高资源使用率SQL;使用Oracle报告脚本@?/rdbms/admin/awrrpt,您可以指定日期/时间范围以查看高活动性SQL和大量其他统计信息。Oracle的哪个版本?您有使用AWR的许可证吗?您是否安装了Statspack?您是否只查找顶级SQL语句?或者,您是否试图获取每一条SQL语句,而不管它的资源密集程度如何?事实并非如此。看到和