Исаак, предпочтительно мы запускаем один экземпляр на одном сервере и реализуем различные приложения в виде схем и служб в этой единой базе данных. Если на сервере достаточно памяти, проблем не будет, если все приложения будут вести себя как хорошие граждане Oracle. Как только появляется приложение, которое не использует переменные связывания, на хосте нарастает боль. То же самое для приложений, которые продолжают создавать новые соединения каждые несколько секунд вместо повторного использования существующих соединений. Такие вещи, как автоматическое принятие, также не помогают улучшить ситуацию. Каково нормальное поведение вашего приложения? Это делает большие обновления? Когда он делает коммит? Сколько повторов генерируется / час? Использует ли ваше приложение переменные связывания? Во многих случаях местоположение онлайн-файлов редологов имеет решающее значение. Если приложение генерирует много повторов (или конкурирует с другим приложением, которое делает это), средство записи журнала замедлится и вызовет значительное снижение производительности, поскольку сеанс ожидает завершения записи файла журнала. Предоставьте заказчику макет диска, где повторы выполняются на выделенных дисках raid-10, и посмотрите, насколько это помогает. Также выясните ситуацию с выделением памяти. Возможно, потребуется справедливое перераспределение доступной памяти.
надеюсь, это поможет
Запуск нескольких экземпляров на одном сервере возможен, а в некоторых случаях необходим. Oratab разработан специально для управления несколькими экземплярами. В тех случаях, когда у вас есть несколько независимых приложений, может быть предпочтительнее иметь экземпляр для каждого приложения.
Наличие достаточного объема памяти имеет решающее значение. Oracle строит SGA в разделяемой памяти. Если у вас недостаточно памяти, SGA или процессы начнут включаться и выключаться. Это известно как избиение и приводит к значительному снижению производительности.
Может быть возможно настроить экземпляры для запуска с меньшим SGA. Oracle предоставляет инструменты для настройки размера SGA. Если какой-либо из экземпляров имеет слишком большой SGA, он будет наказывать все экземпляры.
Другое использование для памяти, которая важна, является буферным пространством. Это действует как вторичный кеш и может устранить значительные операции чтения-ввода-вывода.
Выполнение
sar
(при условии, что Unix base O / S) может дать вам хорошую диагностику того, где проблема. Вероятные проблемы - это подкачка или насыщение дискового ввода-вывода. Добавление оперативной памяти, вероятно, решит любую из этих проблем.С насыщением дискового ввода-вывода можно также справиться, переместив некоторые табличные пространства на другие диски. Обычно я настраиваю Oracle так, чтобы ввод-вывод распределялся по максимально возможному количеству дисков.
РЕДАКТИРОВАТЬ: Это несколько случаев, которые могут потребовать отдельных экземпляров.
источник
Наиболее важным ресурсом является оперативная память.
Каждый запущенный экземпляр Oracle выделяет некоторую оперативную память для своей собственной, когда он только запущен и не загружен.
Мы запускаем 10g с 10 и 11g с 8 экземплярами, но это серверы разработки. После перезапуска ОС некоторые службы Oracle не запускаются автоматически и должны запускаться вручную: Oradim -startup -sid xxx.
Мы только начинаем использовать автоматическое управление памятью, но ситуация отличается от SQL Server, где вы можете добавлять базы данных столько, сколько дает дисковое пространство.
В вашем случае, с большим количеством экземпляров на одном компьютере SGA для каждого экземпляра становится меньше, меньше кешируемых SQL-файлов может быть кэшировано, и машине приходится выполнять больше SQL-компиляции, что снижает производительность.
Добавление оперативной памяти может помочь в вашей ситуации.
источник