
Чтобы передавать клиентские подключения экземпляру, прослушиватель должен знать имя экземпляра и где располагается ORACLE_HOME экземпляра. Прослушиватель может найти эту информацию двумя способами:
Динамическая регистрация службы: Oracle8i и более поздние экземпляры автоматически регистрируются в прослушивателе по умолчанию при запуске базы данных. По умолчанию не потребуется никакая дополнительная конфигурация прослушивателя .
Статическая регистрация службы: Более ранние выпуски базы данных Oracle автоматически не регистрируются в прослушивателе и, поэтому, требуют, чтобы конфигурационный файл прослушивателя содержал список всех служб базы данных, которым будет служить прослушиватель. Можно также по-прежнему использовать статическую регистрацию службы с более новыми выпусками если:
Ваш прослушиватель не находится на порту по умолчанию 1521, и Вы не хотите конфигурировать свой экземпляр, чтобы зарегистрировать его на порту не по умолчанию
Ваше приложение требует статической регистрации службы
Чтобы добавить статическую службу базы данных, щелкните по Static Database Registration на странице Edit Listener, и затем нажмите кнопку Add. Введите имя службы (то же самое, что и глобальное имя базы данных <DB_NAME>. <DB_DOMAIN>), путь ORACLE_HOME, и SID (тот же самый, как имя экземпляра). Нажмите OK. Чтобы изменения вступили в силу, следует перезагрузить (используйте команду RELOAD), или перезапустить Ваш прослушиватель.
Имена Служб
Параметр инициализации SERVICE_NAMES определяет одно или более имен, которые клиенты могут использовать для соединения с экземпляром. Экземпляр регистрирует свои имена службы в прослушивателе. Когда клиент запрашивает службу, прослушиватель определяет, какие экземпляры предлагают требуемую службу, и направляет клиента к соответствующему экземпляру.
Можно определить несколько имен служб, чтобы различать несколько вариантов использования той же самой базы данных, как в этом примере:
SERVICE_NAMES = sales.example.com, eurosales.example.com
Можно также использовать имена службы, чтобы идентифицировать единственную службу, которая доступна с двух различных баз данных с помощью репликации.
Если Вы не квалифицируете имена в этом параметре с доменом, Oracle квалифицирует их со значением параметра DB_DOMAIN. Если DB_DOMAIN не будет определен, то никакой домен не будет применен к неквалифицированным значениям SERVICE_NAMES.
Обрабатывая клиентский запрос соединения, прослушиватель пытается сопоставить значение этого параметра со значением параметра SERVICE_NAME в клиентском дескрипторе подключения. Если клиентский дескриптор подключения использует параметр SID, прослушиватель не пытается отобразить значения. Значение для этого параметра обычно получается из комбинации параметров DB_NAME и DB_DOMAIN (DB_NAME.DB_DOMAIN) в файле параметров инициализации, но значение может также содержать любое допустимое имя, используемое клиентами, чтобы идентифицировать службу.