我怎么知道我的oracle数据库configuration有什么不同?

我有两个数据库具有相同的数据,运行在同一台物理服务器上。

他们performance不同(一个是另一个的两倍)。 我比较了初始化参数并更新了SPFILE参数,使它们是相同的。 唯一的区别是在稍微更新的修补程序级别的安装上运行速度较慢。

在我将补丁回滚到较慢的补丁之前,是否有一些工具可以告诉我两个数据库之间的configuration差异? 我觉得不是所有的东西都可以在初始化参数/ SPFile中find。

检查有问题的实例的数据库统计信息。 如果统计数据是陈旧的,那么优化器通常会提出一个不同的执行计划,包括不使用索引,如果它具有当前的统计数据,通常会使用它。 快速检查的一种方法是比较两个数据库上相同查询的解释计划输出。 显然,检查一个执行不佳的查询,罚款另一个。

另外,请看dba_tables.last_analyzed专栏,以确保您最近得到了一些表格。 如果不是,请检查dba_scheduler_jobs的job_name GATHER_STATS_JOB以确保它正常运行 – 请注意LAST_START_DATE和FAILURE_COUNT。