Назад | Перейти на главную страницу

В чем разница между экземпляром и серверным процессом в базе данных Oracle

Я сейчас знакомлюсь с базой данных Oracle. К сожалению, меня озадачивает концепция экземпляра и серверного процесса.

Мой вопрос в том, в чем разница между экземпляром и серверным процессом. Более того, каков жизненный цикл экземпляра и серверного процесса соответственно? У меня под рукой учебник по Oracle 9i, который не дает мне четкого объяснения.

Любой ответ будет оценен. Заранее спасибо.

С уважением!

[Ответ сообщества вики кажется здесь наиболее подходящим.]

База данных официально представляет собой набор файлов (файлы данных, журналы повторного выполнения, управляющий файл, файлы параметров).

Экземпляр - это набор процессов и фрагмент памяти, запущенные на сервере. В большинстве случаев у экземпляра есть открытая база данных и сеанс «живого» экземпляра для взаимодействия с базой данных. Экземпляр подключается только к одной базе данных.

В конфигурации RAC (Real Application Clusters) отдельные экземпляры на нескольких серверах могут иметь одну и ту же базу данных.

На сервере также может быть запущено несколько экземпляров, каждый из которых работает с отдельной базой данных. Типичным примером этого является то, что экземпляры базы данных разработки и тестирования работают на одном компьютере. [Лично я ожидаю увидеть меньше этого, поскольку разработка и тестирование на отдельных виртуальных серверах на одном и том же компьютере обеспечивает больший контроль.]

Процесс на сервере будет принадлежать определенному экземпляру, за исключением слушателя базы данных. Один слушатель может прослушивать (обычно через порт 1521) и передавать соединения отдельным экземплярам на основе запрошенного SID или службы.