Как мне заменить tnsnames.ora на стороне клиента запросом ldap?
Меня не интересует запуск Oracle LDAP, у нас есть существующая инфраструктура LDAP.
Я нуждаюсь:
формат записи LDAP
как клиент настроен для получения информации о соединении LDAP. Это автоматически во время выполнения OCI?
Oracle 10.2 или 11.x, если версии имеют значение.
Oracle может «официально» использовать только OID или AD в качестве серверов LDAP. В LDAP.ORA (в $ ORACLE_HOME / network / admin или $ TNS_ADMIN) поместите:
DEFAULT_ADMIN_CONTEXT = “ou=ora,dc=company,dc=com”
DIRECTORY_SERVERS = (ldap1.company.com:389, ldap2.company.com:389)
DIRECTORY_SERVER_TYPE = OID
Тип может быть OID или AD. Несколько серверов предназначены для резервирования; он не будет пробовать каждый по очереди. Затем в SQLNET.ORA:
NAMES.DIRECTORY_PATH=(LDAP, TNSNAMES)
Это означает, что сначала попробуйте LDAP, затем попробуйте TNSNAMES.ORA, а затем откажитесь.
Если вы хотите использовать сторонний сервер LDAP, у Oracle есть продукт под названием Виртуальный каталог который будет действовать как посредник между ними.
Вы не указываете, какую платформу LDAP вы используете. Для этого я использую OpenLDAP.
По сути, вам нужно импортировать некоторые части схемы oid. Тогда вам нужно иметь псевдонимы tns под cn=OracleContext,dc=company,dc=com
узел.
Я создал веб-приложение http://www.tnsadmin.com для легкого управления tnsnames в записях LDAP, которые могут использоваться с любым сервером LDAP. Вы также можете найти там схему OpenLDAP.