这是一个 4 部分的问题
SQL_ID 背后的逻辑是什么。. . 同一个 SQL 的值是否会随着时间而改变?它是否在数据库重新启动之间持续存在?还是每次计划更改都会给出一个新的 SQL_ID?
如何检查特定查询的计划更改历史记录?给定 SQL_ID,我尝试查询 dba_hist_sqlstat 表,但它没有给出计划更改的时间和其他详细信息,以便能够与 v$sql_plan 表匹配。
我将参数 optimizer_mode 设置为 FIRST_ROWS。即使这样,当看到表 dba_hist_sqlstat 时,它也会指示某些 SQL_ID 的 ALL_ROWS 。. . oracle 可以忽略实例级别参数以使用它认为最合适的参数吗?
在晚上 8 点到 2 点之间,查询执行得很差。执行需要 6 秒。下午 3 点之后,查询在 < 1 秒内开始响应。我有显示此详细信息的期间的 AWR 报告。在这 2 个时期内,数据库上的负载没有差异。我怎么能找到这个的根源?我正在尝试查找计划更改的历史记录,但希望获得更多反馈以最好地分析此类问题。
数据库版本是在 AIX 5.3 64b 上运行的 Oracle 10.1.0.4