Hi,
we just start to do it:
You need oidbase.schema:
8<--------------------
attributetype ( 2.16.840.1.113894.7.1.1 NAME 'orclVersion'
EQUALITY caseIgnoreMatch SYNTAX '1.3.6.1.4.1.1466.115.121.1.15' SINGLE-VALUE )
attributetype ( 2.16.840.1.113894.7.1.2 NAME 'orclOracleHome'
SYNTAX '1.3.6.1.4.1.1466.115.121.1.15' SINGLE-VALUE )
attributetype ( 2.16.840.1.113894.7.1.3 NAME 'orclSystemName'
EQUALITY caseIgnoreMatch SYNTAX '1.3.6.1.4.1.1466.115.121.1.15' SINGLE-VALUE )
attributetype ( 2.16.840.1.113894.7.1.4 NAME 'orclServiceType'
EQUALITY caseIgnoreMatch SYNTAX '1.3.6.1.4.1.1466.115.121.1.15' SINGLE-VALUE )
attributetype ( 2.16.840.1.113894.7.1.5 NAME 'orclSid' EQUALITY
caseIgnoreMatch SYNTAX '1.3.6.1.4.1.1466.115.121.1.15' SINGLE-VALUE )
attributetype ( 2.16.840.1.113894.7.1.6 NAME
'orclProductVersion' EQUALITY caseIgnoreMatch SYNTAX
'1.3.6.1.4.1.1466.115.121.1.15' )
objectClass ( 2.16.840.1.113894.7.2.2 NAME 'orclContainer' SUP
'top' STRUCTURAL MUST ( cn ) )
objectClass ( 2.16.840.1.113894.7.2.3 NAME 'orclContext' SUP
'top' STRUCTURAL MUST ( cn ) )
objectClass ( 2.16.840.1.113894.7.2.6 NAME 'orclSchemaVersion'
SUP 'top' STRUCTURAL MUST ( cn $ orclProductVersion ) )
attributetype ( 2.16.840.1.113894.3.1.12 NAME 'orclNetDescName'
EQUALITY distinguishedNameMatch SYNTAX '1.3.6.1.4.1.1466.115.121.1.12'
SINGLE-VALUE )
attributetype ( 2.16.840.1.113894.3.1.13 NAME
'orclNetDescString' EQUALITY caseIgnoreMatch SYNTAX
'1.3.6.1.4.1.1466.115.121.1.15' SINGLE-VALUE )
objectClass ( 2.16.840.1.113894.7.2.1001 NAME 'orclService' SUP
'top' STRUCTURAL MUST ( cn ) MAY ( orclServiceType $ orclOracleHome $
orclSystemName $ orclSid $ orclNetDescName $ orclNetDescString $ orclVersion $
Description ) )
---------------------->8
You need oidnet.schema:
8<--------------------
attributetype ( 2.16.840.1.113894.3.1.1 NAME
'orclNetSourceRoute' SYNTAX '1.3.6.1.4.1.1466.115.121.1.5' SINGLE-VALUE )
attributetype ( 2.16.840.1.113894.3.1.2 NAME
'orclNetLoadBalance' SYNTAX '1.3.6.1.4.1.1466.115.121.1.5' SINGLE-VALUE )
attributetype ( 2.16.840.1.113894.3.1.3 NAME 'orclNetFailover'
SYNTAX '1.3.6.1.4.1.1466.115.121.1.5' SINGLE-VALUE )
attributetype ( 2.16.840.1.113894.3.1.4 NAME 'orclNetSdu'
EQUALITY caseIgnoreMatch SYNTAX '1.3.6.1.4.1.1466.115.121.1.15' SINGLE-VALUE )
attributetype ( 2.16.840.1.113894.3.1.5 NAME 'orclNetServer'
EQUALITY caseIgnoreMatch SYNTAX '1.3.6.1.4.1.1466.115.121.1.15' SINGLE-VALUE )
attributetype ( 2.16.840.1.113894.3.1.6 NAME
'orclNetServiceName' EQUALITY caseIgnoreMatch SYNTAX
'1.3.6.1.4.1.1466.115.121.1.15' SINGLE-VALUE )
attributetype ( 2.16.840.1.113894.3.1.7 NAME
'orclNetInstanceName' EQUALITY caseIgnoreMatch SYNTAX
'1.3.6.1.4.1.1466.115.121.1.15' SINGLE-VALUE )
attributetype ( 2.16.840.1.113894.3.1.8 NAME
'orclNetHandlerName' EQUALITY caseIgnoreMatch SYNTAX
'1.3.6.1.4.1.1466.115.121.1.15' SINGLE-VALUE )
attributetype ( 2.16.840.1.113894.3.1.9 NAME 'orclNetParamList'
EQUALITY caseIgnoreMatch SYNTAX '1.3.6.1.4.1.1466.115.121.1.15' )
attributetype ( 2.16.840.1.113894.3.1.10 NAME
'orclNetAuthenticationType' EQUALITY caseIgnoreMatch SYNTAX
'1.3.6.1.4.1.1466.115.121.1.15' SINGLE-VALUE )
attributetype ( 2.16.840.1.113894.3.1.11 NAME
'orclNetAuthParams' EQUALITY caseIgnoreMatch SYNTAX
'1.3.6.1.4.1.1466.115.121.1.15' SINGLE-VALUE )
attributetype ( 2.16.840.1.113894.3.1.14 NAME
'orclNetAddressString' EQUALITY caseIgnoreMatch SYNTAX
'1.3.6.1.4.1.1466.115.121.1.15' SINGLE-VALUE )
attributetype ( 2.16.840.1.113894.3.1.15 NAME 'orclNetProtocol'
EQUALITY caseIgnoreMatch SYNTAX '1.3.6.1.4.1.1466.115.121.1.15' SINGLE-VALUE )
attributetype ( 2.16.840.1.113894.3.1.16 NAME 'orclNetShared'
EQUALITY caseIgnoreMatch SYNTAX '1.3.6.1.4.1.1466.115.121.1.15' SINGLE-VALUE )
attributetype ( 2.16.840.1.113894.3.1.17 NAME 'orclNetAddrList'
EQUALITY caseIgnoreMatch SYNTAX '1.3.6.1.4.1.1466.115.121.1.15' )
attributetype ( 2.16.840.1.113894.3.1.18 NAME
'orclNetProtocolStack' EQUALITY caseIgnoreMatch SYNTAX
'1.3.6.1.4.1.1466.115.121.1.15' SINGLE-VALUE )
attributetype ( 2.16.840.1.113894.3.1.19 NAME 'orclNetDescList'
EQUALITY caseIgnoreMatch SYNTAX '1.3.6.1.4.1.1466.115.121.1.15' )
attributetype ( 2.16.840.1.113894.3.1.20 NAME
'orclNetConnParamList' EQUALITY caseIgnoreMatch SYNTAX '1.3.6.1.4.1.1466.115.121.1.15'
)
attributetype ( 2.16.840.1.113894.3.1.21 NAME
'orclNetAuthenticationService' EQUALITY caseIgnoreMatch SYNTAX
'1.3.6.1.4.1.1466.115.121.1.15' SINGLE-VALUE )
objectClass ( 2.16.840.1.113894.3.2.5 NAME 'orclNetService' SUP
'top' STRUCTURAL MUST ( cn ) MAY ( orclNetDescName $ orclNetDescString $
orclVersion $ Description ) )
objectClass ( 2.16.840.1.113894.3.2.4 NAME
'orclNetDescriptionList' SUP 'top' STRUCTURAL MUST ( cn ) MAY ( orclNetDescList
$ orclNetSourceRoute $ orclNetLoadBalance $ orclNetFailover $ orclNetShared $
orclVersion $ Description ) )
objectClass ( 2.16.840.1.113894.3.2.3 NAME 'orclNetDescription'
SUP 'top' STRUCTURAL MUST ( cn ) MAY ( orclNetAddrList $ orclNetProtocolStack $
orclNetSdu $ orclSid $ orclNetServer $ orclNetServiceName $ orclNetInstanceName
$ orclNetHandlerName $ orclOracleHome $ orclNetAuthenticationType $
orclNetAuthenticationService $ orclNetAuthParams $ orclNetParamList $
orclNetConnParamList $ orclNetSourceRoute $ orclNetLoadBalance $
orclNetFailover $ orclNetShared $ orclVersion $ Description ) )
objectClass ( 2.16.840.1.113894.3.2.2 NAME 'orclNetAddressList'
SUP 'top' STRUCTURAL MUST ( cn ) MAY ( orclNetAddrList $ orclNetSourceRoute $
orclNetLoadBalance $ orclNetFailover $ orclNetShared $ orclVersion $
Description ) )
objectClass ( 2.16.840.1.113894.3.2.1 NAME 'orclNetAddress' SUP
'top' STRUCTURAL MUST ( cn ) MAY ( orclNetAddressString $ orclNetProtocol $
orclNetShared $ orclVersion $ Description ) )
---------------------->8
Configured in your ldap.conf.
Then you have to add a branch OracleContext and add your
TNSNAMES:
8<-------------------------------
dn: cn=OracleContext,OU=myUnit,O=myOrg,C=DE
objectclass: orclContext
cn: OracleContextdir
dn: cn=exampleDB,cn=OracleContext,OU=myUnit,O=myOrg,C=DE
objectclass: top
objectclass: orclNetService
cn: exampleDB
orclNetDescString:
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ops)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=EXAMPLEDB)))
------->8
Configuring your Oracle client to use OID with the URL of your
OpenLdap-Server.
That’s all.
You don’t need anything of the schemes files, but if you start
with LDAP services for Oracle, you will do further steps soon.
Another point is Authentication: you must do it via certificates
and the wallet-function within the Oracle-Client.
Nice Friday.
From: openldap-technical-bounces@OpenLDAP.org
[mailto:openldap-technical-bounces@OpenLDAP.org] On Behalf Of Gavin
Henry
Sent: Donnerstag, 26. August 2010 19:33
To: Stuart Cherrington
Cc: openldap-technical@openldap.org
Subject: Re: tnsnames in openldap
----- "Stuart Cherrington" <stuart_cherrington@hotmail.co.uk>
wrote:
> Hi,
>
> I was wondering if anyone here has had a good/bad experience of getting
Openldap to provision tnsnames lookup for Oracle Databases? We're thinking of
removing our current OID implementation which is very old and as I'm already
running OpenLDAP 2.4 is makes sense to just roll it from there.
>
> I found a VERY useful article at
http://oracle-cookies.blogspot.com/2007/01/get-tnsnamesora-from-openldap.html
which I think will help enormously.
How did you get on with this?
--
Kind Regards,
Gavin Henry.
OpenLDAP Engineering Team.
E ghenry@OpenLDAP.org
Community developed LDAP software.
http://www.openldap.org/project/