TNS-Resolution mit LDAP M. Weckerle 24.10.2007
Agenda Motivation Oracle Lösungen für die Namensauflösung Was ist LDAP / OID? Funktionsweise Directory Naming Konfiguration Directory Naming im OID Konfiguration auf ClientSeite Tests bisherige Erfahrung Directory Naming mit AD Literatur Fragen
Motivation In grossen Umgebungen mit vielen Datenbanken und sehr vielen –auch verschiedenen – Clients ist es nicht einfach das TNSNAMES.ORA aktuell zu halten. Probleme: Neue Clients bekommen altes TNSNAMES.ORA Datenbank wird vom Node A weggenommen und zum Node B migriert Neue Datenbank => neuer Eintrag in TNSNAMES.ORA Veränderung LISTENER Port ……. Lösung: Verteilungssoftware für TNSNAMES.ORA ……
O - Lösungen für die Namensauflösung seit der Version 7.3 gibt es Oracle Names in 2 Varianten File - basiertes Repository DB – basiertes Repository Ab Oracle 10 desupported (Desupport von Oracle 9.2 am 1.7.2007 ) http://www.oracle.com/support/library/data-sheet/oracle-lifetime-support-policy-datasheet.pdf NIS, HOSTNAME und NDS (Netware Directory Service) easy connect Methode (seit 10g R1) Directory Naming und selbstverständlich TNSNAMES easy connect : CONNECT username/password@[//]host[:port][/service_name] For large or complex environments where advanced features, such as connection pooling, external procedure calls, or Heterogeneous Services, which require additional connect information, are desired, easy connect naming is not suitable. In these cases, another naming method is recommended. Easy connect naming is automatically configured at installation. Prior to using it, you may want to ensure that EZCONNECT is specified by the NAMES.DIRECTORY_PATH parameter in the sqlnet.ora file. This parameter specifies the order of naming methods Oracle Net can use to resolve connect identifiers to connect descriptors.
Directory Naming wird seit Oracle 8.1.6 unterstützt => setzen Sie noch Clients < 8.1.6 ein, muss zusätzlich ein Names Proxy installiert sein!!! Dies gilt insbesondere für Forms/Reports 6i, Discoverer 3i und IAS 1.X Unterstützte Directories: OID auf allen Plattformen Active Directory nur in reinen Windows Umgebungen (Client und Server)
Was ist das LDAP / OID? Lightweight Directory Access Protocoll 1993 an der University of Michigan als Alternative zu X.500 DAP mit Netscape zusammen entwickelt ( dann von Sun übernommen – iPlanet ) Standardisierter Verzeichnisdienst Setzt direkt auf TCP/IP auf benötigt wenig Ressourcen Optimiert für Abfragen (aber nicht für INSERTS, UPDATE und DELETE)
Vorteile von LDAP Hierarchischer Aufbau der Daten Beschränkter Funktionsumfang Einfache Suchfunktionen Einfache Erweiterbarkeit Objektorientiert Herstellerunabhängig Security Zentralisierte Verwaltung von Zugriffsberechtigung
Aufbau eines LDAP Verzeichnisses ou: Computers root dc: Basel Document Information Tree (DIT) dc=ch ou: Users objectClass: person cn: xxx100 Sn: xxx email: …@swiss.ch objectClass: person cn: wec100 Sn: Weckerle email: ……..@swiss.ch DN: cn=wec100,ou=Users,dc=Basel,dc=ch
Beispiel eines LDAP Baums
Architektur OID LDAP Process Watchdog für die LDAP Process LDAP-Proc. Clientproc. zur DB OID Schema Datenbank als LDAP Repository
Funktionsweise Directory Naming 2. LDAP Query auf xx 3. Suche von xx im Oracle Context OID 1. sqlplus user/pwd@xx 4. Rückgabe Connect Deskriptor an den Client 6. Listener ruft DB. Start Serverprozess 5. Client verbindet sich mit dem Listener (Host, Port, SID) 8. Client komuniziert direkt mit dem Server Listener DB 7. Serverprozess ruft Client und vereinbart Kommunikationsport
Konfiguration Directory Naming im OID To DO: Erzeugung des Oracle Contexts im OID Import oder Eintrag aller Connect Descriptoren (TNSNAMES Einträge)
Erzeugung Oracle Kontext im OID I Mit dem NetConfigurationAssistant - netca
Import TNSNAMES in OID Start von NetManager netmgr => Menu Command, Directory, Export Net Services Names
OIDADMIN
Konfiguration auf ClientSeite SQLNET.ORA NAMES.DIRECTORY_PATH = (LDAP,……) LDAP.ORA DEFAULT_ADMIN_CONTEXT=„DC=manor,DC=ch“ DIRECTORY_SERVERS=(bazu12.manor.ch:3060:636) DIRECTORY_SERVER_TYPE=OID
Tests I tnsping ./tnsping <dbname>
Tests II sqlplus ./sqlplus <user>/<password>@<connect identifier>
Tests III Connect mit Distinguished Name ./sqlplus <u>/<p>@“distinguished name“
Tests IV Clientsqlnet trace Konfiguration in sqlnet.ora Tracefile
bisherige Erfahrung Installation der IAS Infrastruktur auf RedHat AS 3 Achtung: Installation der Kompatibiltäts-Libraries nicht vergessen Dauer: ½ -1 Tag Installation und Konfiguration Directory Naming Dauer: 1 – 2 Stunden, mit Import von TNSNAMES.ORA NetMgr gewöhnungsbedürftig Connect Deskriptoren mit Failover werden im NetMgr nicht angezeigt
Directory Naming mit AD Directory Naming mit dem AD wird seit der Version 9i unterstützt. ACHTUNG: Aber nur wenn alle Clients und Server Windowssysteme sind !!!!! Ein gute Beschreibung der AD Implementation findet sich auf der deutschen WebSite von Oracle unter http://www.oracle.com/global/de/download/2006_02_28_Teil4_Integration_von_AD_auf_Netzwerkebene_Claus_Jandausch.zip
Kosten In der Datenbanklizenz ist „restricted use for OID“ enthalten, wenn nur Directory Naming benutzt wird. Installation der IAS Infrastructure – enthält OID – ist erlaubt, falls nur TNSNAMES Entries im OID gespeichert werden. Installation des OID-Schemas in bestehende DB‘s ist erlaubt benötigt wird eine DB-Lizenz, Standard- oder EE- Edition, wenn eine neue DB für Directory Naming aufgesetzt wird (Aussage PreSales Oracle)
Literatur Net Services Administrator‘s Guide 10gR2 (Chapter 8) http://www.oracle.com/technology/products/oraclenet/pdf/directory_naming_boeing.pdf http://www.oracle.com/technology/products/oid/htdocs/namesmigration.html www.doag.org/pub/docs/regio/stuttgart/2002/10/OID.pdf OID https://webserver.brandeis.edu/pages/view/Info/OracleInternetDirectoryOID http://www.oracle-base.com/articles/9i/OracleInternetDirectory9i.php TNSNAMES in OpenLDAP http://home.nc.rr.com/jtlayton/oid2openldap.html
Ende Sollten Sie noch Fragen haben schreiben Sie mir ein Mail oder rufen Sie mich an: mweckerl@hotmail.com 07621 / 75864 Vielen Dank für Ihre Aufmerksamkeit !!