Один и тот же канал могут использовать несколько получателей и отправителей, однако принять сообщение может только один получатель. Более того, какой именно получатель действительно примет сообщение, неизвестно. Поэтому рекомендуется адресовать сообщения конкретной программе-получателю. Это можно сделать, сгенерировав для канала уникальное имя, которое будет использоваться только двумя сеансами – одним получателем и одним отправителем. Для этого применяется функция UNIQUE_SESSION_NAME:
function UNIQUE_SESSION_NAME return varchar2;
Каждый вызов UNIQUE_SESSION_NAME возвращает строку символов, максимальная длина которой – 30 символов. Если эту функцию вызывает один и тот же сеанс базы данных, то всякий раз будет выдаваться одна и та же строка, уникальная среди всех сеансов, соединенных с базой данных в конкретный момент времени. Однако если сеанс отсоединяется, то его имя может быть позже задействовано другим сеансом.
Строка символов, возвращаемая UNIQUE_SESSION_NAME, может быть использована в качестве имени канала, что обеспечивает прием сообщения только одним получателем. Для этого существует специальный метод. По каналу с заранее определенным именем посылается начальное сообщение, где указывается имя канала, по которому посылается ответ. Принимающая программа расшифровывает начальное сообщение и посылает ответ по новому каналу, который затем будет использоваться только этими двумя сеансами. С новым каналом будут работать только один получатель и один отправитель, поэтому устраняется неопределенность в вопросе о получателе информации.