如何查看几天前在Oracle数据库版本11g中导出的查询

如何查看几天前在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

我想查看几天前在Oracle数据库版本11g中执行的SQL查询。我可以为此进行查询吗?

除非您在关闭开发人员之前保存了它,否则不可能进行查询

如果您拥有适当的权限,例如选择任何可以查询动态视图V$SQL的字典,如果感兴趣的语句被多次调用,或者如果数据库中没有太多活动,SQL可能仍在共享池中。试试像这样的东西

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语句,而不管它的资源密集程度如何?事实并非如此。看到和