У меня есть две базы данных с одинаковыми данными, работающие на одном физическом сервере.
Они выступают по-разному (один в два раза быстрее другого). Я сравнил параметры инициализации и обновил параметры SPFILE, чтобы они стали идентичными. Единственная разница в том, что более медленная версия работает при установке с немного более новым уровнем исправления.
Прежде чем я откатываю патч на более медленную, есть ли какой-нибудь инструмент, который расскажет мне обо всех различиях в конфигурации между двумя базами данных? У меня сложилось впечатление, что не все можно найти в параметрах инициализации / SPFile.
Проверьте статистику своей базы данных на экземпляре, в котором возникли проблемы. Если статистика устарела, то оптимизатор часто предлагает другой план выполнения, в том числе не использовать индексы, как это было бы обычно, если бы у него была текущая статистика. Один из способов быстрой проверки - сравнить выходные данные плана объяснения для одного и того же запроса в обеих базах данных. Очевидно, проверьте запрос, который плохо работает в одном экземпляре и нормально работает в другом.
Кроме того, посмотрите столбец dba_tables.last_analyzed, чтобы убедиться, что вы недавно анализировали некоторые таблицы. Если нет, проверьте dba_scheduler_jobs для job_name GATHER_STATS_JOB, чтобы убедиться, что оно выполняется без проблем - обратите внимание на LAST_START_DATE и FAILURE_COUNT.