Почему мой Oracle читает с диска?
Наш сервер Oracle (версия 12c) работает на сервере RedHat-6.7 с 128 ГБ ОЗУ.
Текущий размер единственной базы данных на нем составляет всего около 60 ГБ.
Тем не менее, мы видим много операций чтения с диска - на устройстве, где хранится база данных - в iostat
выход (показано синим цветом). Конечно, есть и некоторые записи (показаны желтым цветом):
В то время как записи в постоянное хранилище имеют смысл, потому что мы несколько раз вносим изменения в данные, чтения нет - вся БД может поместиться в памяти вдвое больше... Действительно, мы должны иметь возможность хранить ее на USB-носителе. придерживайтесь и все еще иметь хорошие времена чтения.
Какие части конфигурации Oracle мы должны изучить и настроить, чтобы сервер использовал всю доступную оперативную память?
Обновление: посмотрим на настройки INMEMORY - спасибо @lenniey. Но, казалось бы, параметры INMEMORY вступают в игру, когда сервер должен (из-за нехватки ОЗУ) решить, что выкинуть из памяти, чтобы перечитать позже. В нашем случае ничто не должно быть удалено из памяти, потому что есть место для всего. И все же некоторые вещи, очевидно, читаются снова и снова...
1 ответ
Вы используете более одной базы данных на этом экземпляре Oracle? Если это так, убедитесь, что данные чтения происходят во всех базах данных в этом экземпляре. Если это не тот случай, проверьте журналы и процессы и постарайтесь сузить их до конкретных запросов, заданий. Перед тем, как сделать это, вы должны спросить себя, достаточно ли хороша ваша производительность из этой базы данных? Вы получаете жалобы? Иногда мы пытаемся оптимизировать что-то, что работает просто отлично. Удачи!