Некоторая информация в ConnectionString, которую вы можете получить с помощью SQL:
SELECT
SYS_CONTEXT('USERENV', 'NETWORK_PROTOCOL'),
SYS_CONTEXT('USERENV', 'SERVER_HOST'),
SYS_CONTEXT('USERENV', 'DB_NAME'),
SYS_CONTEXT('USERENV', 'DB_DOMAIN'),
SYS_CONTEXT('USERENV', 'DB_UNIQUE_NAME'),
SYS_CONTEXT('USERENV', 'SERVICE_NAME')
FROM DUAL;
Однако ваша реальная запись tnsnames.ora
может выглядеть совсем иначе.Например, вы не можете описать конфигурацию восстановления после отказа следующим образом:
(DESCRIPTION=
(FAILOVER=ON)
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=server-1)(PORT=1901))
(ADDRESS=(PROTOCOL=TCP)(HOST=server-2)(PORT=1901))
)
(CONNECT_DATA=
(SERVICE_NAME=DB_SERVICE)
)
)
База данных, размещенная на сервере-1, не знает сервер-2 - если вы не запросите некоторые параметры init.ora, такие как fal_server