Что именно происходит с идентификаторами соединений оракула, разделенными точкой

StackOverflow https://stackoverflow.com/questions/241361

  •  04-07-2019
  •  | 
  •  

Вопрос

Некоторое время я удивлялся этому, но так как он почти не появлялся, я оставил его в столбце «таинственный волшебник».

Мне кажется, что между идентификатором соединения, таким как ABC и ABC.DEFG, существует какая-то связь, и я не совсем понимаю, что это такое.

Например, на машине, которую я настраивал только сейчас, у меня были проблемы с использованием идентификатора ED2, хотя в моем файле tnsnames у меня явно был

EDC2 = (....)

Это было скопировано и вставлено с другого компьютера, который работал очень хорошо. Тем не менее, выполнение tnsping EDC2 не будет разрешено, пока я не изменил его, чтобы сказать

EDC2.WORLD = (...)

с этого момента разрешение на EDC2 начало работать. Что здесь происходит?

Это было полезно?

Решение

Псевдоним TNS в файле tnsnames.ora взаимодействует с параметром

NAMES.DEFAULT_DOMAIN

в файле sqlnet.ora. Например, если для NAMES.DEFAULT_DOMAIN задано значение WORLD, то при попытке подключиться к псевдониму без домена файл sqlnet.ora указывает Oracle автоматически добавлять домен перед выполнением поиска в файл tnsnames.ora. Если вы пытаетесь подключиться к псевдониму с доменом, NAMES.DEFAULT_DOMAIN игнорируется.

Мое общее предпочтение / предложение заключается в том, чтобы установить для NAMES.DEFAULT_DOMAIN значение WORLD в sqlnet.ora и указать EDC2.WORLD в файле tnsnames.ora. Таким образом, оба идентификатора соединения EDC2 и EDC2.WORLD будут работать - первый будет заменен на последний из-за параметра DEFAULT_DOMAIN .

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top