Skip Headers

Oracle® Database Platform Guide
10g Release 1 (10.1) for 64-Bit Windows
Part No. B13831-01
  Go To Table Of Contents
Contents
Go To Index
Index

Previous Next  

12 Using Oracle Database with Microsoft Active Directory

This chapter describes how to configure and use Microsoft Active Directory as the LDAP directory.

This chapter contains these topics:

12.1 Microsoft Active Directory Support

This section describes how Microsoft Active Directory is used as an LDAP directory server by Oracle Database.

This section contains these topics:

12.1.1 About Microsoft Active Directory

Active Directory is the LDAP-compliant directory server included with Windows 2000. Active Directory stores all Windows 2000 information, including users, groups, and policies. Active Directory also stores information about network resources (such as databases) and makes this information available to application users and network administrators. Active Directory enables users to access network resources with a single login. The scope of Active Directory can range from storing all the resources of a small computer network to storing all the resources of several wide areas networks (WANs).


Note:

If you use Oracle Net Manager with Active Directory for creating and managing net service names from this release, then partial net service names are created. Oracle recommends that you not use Oracle Net Manager with Active Directory.

If you are already using Active Directory from a previous Oracle release, then you can continue to use Oracle Net Manager from that release to create net service names in Active Directory for Oracle Database 10g Release 1 (10.1) databases.


12.1.2 Accessing Active Directory

When using Oracle features that support Active Directory, ensure that the Active Directory computer can be successfully reached using all possible TCP/IP hostname forms to reach the domain controller. For example, if the hostname of the domain controller is server1 in the domain acme.com, then ensure that you can ping that computer using all of the following:

  • server1.acme.com

  • acme.com

  • server1

Active Directory often issues referrals back to itself in one or more of these forms, depending upon the operation being performed. If any of the forms cannot reach the Active Directory computer, then some LDAP operations may fail.

12.2 Oracle Components That Integrate with Active Directory

The following Oracle Database features support or have been specifically designed to integrate with Active Directory:

12.2.1 Directory Naming

Oracle Database provides the Directory Naming feature which makes use of a directory server. This feature has been enabled to work with Microsoft Active Directory. Directory Naming enables clients to connect to the database making use of information stored centrally in an LDAP-compliant directory server such as Active Directory. For example, any net service name previously stored in the tnsnames.ora file can now be stored in Active Directory.

12.2.2 Automatic Discovery of Directory Servers

Oracle Net Configuration Assistant provides automatic discovery of directory servers. When you select Active Directory as the directory server type, Oracle Net Configuration Assistant automatically discovers the directory server location and performs related tasks.


See Also:

"Configuring Oracle Database to Use Active Directory" for more information on Active Directory configuration

12.2.3 Integration with Microsoft Tools

Oracle Database services, net service names, and enterprise role entries in Active Directory can be displayed and tested in two Windows 2000 tools:

  • Windows Explorer

  • Active Directory Users and Computers

Windows Explorer displays the hierarchical structure of files, directories, and local and network drives on your computer. It can display and test Oracle Database service and net service name objects.

Active Directory Users and Computers is an administrative tool installed on Windows servers configured as domain controllers. This tool enables you to add, modify, delete, and organize Windows 2000 accounts and groups, and publish resources in the directory of your organization. Like Windows Explorer, it can display and test Oracle Database service and net service name objects. Additionally, it can manage access control.

12.2.4 User Interface Extensions for Oracle Net Directory Naming

The property menus of Oracle Database service and net service name objects in Windows Explorer and Active Directory Users and Computers have been enhanced. When you right-click these Oracle directory objects, you now see two new options for testing connectivity:

  • Test

  • Connect with SQL*Plus

The Test option tests whether the username, password, and net service name you initially entered can actually connect to Oracle Database. The Connect with SQL*Plus option starts SQL*Plus, which enables you to perform database administration, run scripts, and so on.

12.2.5 Enhancement of Directory Object Type Descriptions

Oracle directory object type descriptions in Active Directory have been enhanced to make them easier to understand. In the right pane of Figure 12-1, for example, the Type column reveals that sales is an Oracle Net Service name.

12.2.6 Integration with Windows Login Credentials

Oracle database and configuration tools can use the login credentials of the Windows user currently logged on to connect to Active Directory without having to re-enter the login credentials. This feature has two benefits:

  • Oracle clients and databases can securely connect to Active Directory and retrieve the net service name.

  • Oracle configuration tools can connect automatically to Active Directory and configure Oracle Database and net service name objects. The enabled tools include Oracle Net Configuration Assistant and Database Configuration Assistant.

12.2.7 Oracle Directory Objects in Active Directory

If Oracle Database and Oracle Net Services are installed and configured to access Active Directory, then Active Directory Users and Computers displays Oracle directory objects, as illustrated in Figure 12-1:

Figure 12-1 Oracle Directory Objects in Active Directory Users and Computers

Description of adusrext.gif follows
Description of the illustration adusrext.gif

Table 12-1 describes the Oracle directory objects appearing in Figure 12-1.

Table 12-1 Oracle Directory Objects

Object Description
oranet.dev The domain in which you created your Oracle Context. This domain (also known as the administrative context) contains various Oracle entries to support directory naming. Oracle Net Configuration Assistant automatically discovers this information during Oracle Database integration with Active Directory.
OracleContext The top-level Oracle entry in the Active Directory tree. It contains Oracle Database service and net service name object information. All Oracle software information is placed in this folder.
orcl The Oracle Database service name used in this example.
Products Folder for Oracle product information.
sales The net service name object used in this example.
Users Folder for the Oracle security groups. See "Access Control List Management for Oracle Directory Objects" for more information. Enterprise users and roles created with Oracle Enterprise Security Manager also appear in this folder.

12.3 Requirements for Using Oracle Database with Active Directory

To use Net Directory Naming with Active Directory, you must have certain Microsoft and Oracle software releases, and you must create an Oracle Schema and an Oracle Context. These requirements are discussed in the following sections:


Note:

  • The Oracle schema and Oracle Context can both be created by running Oracle Net Configuration Assistant.

  • Regardless of the Oracle Database Client and Oracle Database releases you are using, you must be running in a Windows 2000 domain to integrate Net Directory Naming with Active Directory.


If you are using Active Directory with Oracle Database, then ping the DNS domain name of your Windows 2000 domain. If this does not work, then perform either of the following tasks:

On the Windows 2000 computer, you can either set 001.002.003.0 as the DNS, or you can add 001.002.003.0 acme.com to the hosts or lmhosts file.

If this step is not performed, then errors such as the following are returned when using Active Directory:

Cannot Chase Referrals

12.3.1 Directory Naming Software Requirements

For client computers from which you want to manage Oracle Database enterprise users, roles and domains, you must have Oracle8i Client release 8.1.6 or later and one of the following Microsoft products:

  • Windows XP, Windows 2000, or Windows Server 2003

  • Windows NT 4.0 with Active Directory Service Interfaces (ADSI)

For the database, you must have Oracle8i Database release 8.1.6 or later. This is required for registering the database service as an object in Active Directory. The database can use any of the following Microsoft products:

  • Windows 2000 or Windows Server 2003

  • Windows NT 4.0 with ADSI

Both the client computers and the database must be members of a Windows 2000 domain.

12.3.2 Oracle Schema Creation

You must create an Oracle schema to use net directory naming features with Active Directory. A schema is a set of rules for Oracle Net Services and Oracle Database entries and their attributes stored in Active Directory. The following restrictions apply to creating an Oracle schema to use with Active Directory:

  • Only one Oracle schema can be created for each forest.

  • Schema creation is performed on a Windows 2000 domain controller.

  • The Windows 2000 domain controller must be the operations master that allows schema updates. See your operating system documentation for instructions.

To create an Oracle schema:

  1. Log in as a member of the Schema Administrator group. Domain administrators are in the Schema Administrator group by default.

  2. Use Oracle Net Configuration Assistant to create the Oracle schema. You can create your schema during or after database installation.

If the Active Directory display is not configured to accept all 24 default languages, then Oracle schema creation can fail while Oracle Net Configuration Assistant is configuring Active Directory as the directory server. Before running Oracle Net Configuration Assistant to complete directory access configuration, verify that the display specifiers for all 24 languages are populated by entering the following at the command prompt:

ldifde -p OneLevel -d cn=DisplaySpecifiers,cn=Configuration,domain context -f 
temp file

where:

  • domain context is the domain context for this Active Directory server.

    For example, dc=acme,dc=com.

  • temp file is a file where you want to put the output.

If the command reports that fewer than 24 entries were found, then you can still use Oracle Net Configuration Assistant. However, the report will indicate that Oracle schema creation failed, rather than simply reporting that display specifiers for some languages were not created.

Display Specifiers Not Created

When Net Configuration Assistant creates the Oracle Schema in Active Directory, the display specifiers for Oracle entries are not created. This means you cannot view Oracle database entries in Active Directory interfaces.

You can manually add these entries into Active Directory after the Oracle Schema has been created by doing the following, using the same Windows userid you used when creating the Oracle Schema with Net Configuration Assistant:

  1. Open a command shell.

  2. Change directory to ORACLE_HOME\ldap\schema\ad.

  3. Copy adDisplaySpecifiers_us.sbs to adDisplaySpecifiers_us.ldif.

  4. Copy adDisplaySpecifiers_other.sbs to adDisplaySpecifiers_other.ldif.

  5. Edit each of these .ldif files, replacing all occurrences of %s_AdDomainDN% with the domain DN for the specific Active Directory into which you want to load the display specifiers (for example, dc=acme,dc=com).

  6. Run the following commands:

    ldapmodify -h <ad hostname> -Z -f adDisplaySpecifiers_us.ldif
    ldapmodify -h <ad hostname> -Z -f adDisplaySpecifiers_other.ldif
    
    

    where <ad hostname> is the hostname of the Active Directory domain controller to which you want to load the display specifiers.

12.3.3 Oracle Context Creation

You must create an Oracle Context to use net directory naming features with Active Directory. Oracle Context is the top-level Oracle entry in the Active Directory tree. It contains Oracle Database service and Oracle Net service name object information.

  • You can create only one Oracle Context for each Windows 2000 domain (administrative context).

  • You must have the right to create domain and enterprise objects in order to create the Oracle Context in Active Directory with Oracle Net Configuration Assistant.

  • Use Oracle Net Configuration Assistant to create your Oracle Context. You can create the Oracle Context during or after Oracle Database Custom installation.


See Also:


12.4 Configuring Oracle Database to Use Active Directory

Oracle Net Configuration Assistant enables you to configure client computers and Oracle Database to access a directory server. When you choose directory access configuration from Oracle Net Configuration Assistant, it then prompts you to specify a directory server type to use. When you select Active Directory as the directory server type, the Automatic Discovery of Directory Servers feature of Oracle Net Configuration Assistant automatically:

If the Active Directory server is shut down while client connections are accessing an Oracle Database server, another Active Directory server is automatically discovered and begins providing connection information. This minimizes client connection downtime.

If the Active Directory server already has an Oracle Context, then select the following non-default radio button:

Oracle Net Configuration Assistant will report that the Oracle Context does not exist. Ignore this and choose to create the Oracle Context anyway. Directory access configuration will complete without trying to re-create the existing Oracle Context.


Note:

Regardless of the Oracle Database Client and Oracle Database releases you are using, you must be running in a Windows 2000 domain to take advantage of the automatic directory server discovery features of Oracle Net Configuration Assistant. If you are not running in a Windows 2000 domain, then Oracle Net Configuration Assistant does not automatically discover your directory server, and instead prompts you for additional information, such as the Active Directory location.

12.5 Testing Connectivity

This section describes how to connect to an Oracle Database server through Active Directory.

This section contains these topics:

12.5.1 Testing Connectivity from Client Computers

When using Oracle Net directory naming, client computers connect to a database by specifying the database or net service name entry that appears in the Oracle Context. For example, if the database entry under the Oracle Context in Active Directory is orcl, and the client and the database are in the same domain, then a user connects to the database through SQL*Plus by entering the following connect string:

SQL> CONNECT username/password@orcl

If the client and the database are in different domains, then a user connects to the database through SQL*Plus by entering:

SQL> CONNECT username/password@orcl.domain

where domain is the domain in which the Oracle Database server is located.

These connect strings follow DNS-style conventions. While Active Directory also supports connections using X.500 naming conventions, Oracle recommends DNS-style conventions because they are easier to use.

DNS-style conventions enable client users to access an Oracle Database server through a directory server by entering minimal connection information, even when the client computer and Oracle Database server are in separate domains. Names following the X.500 convention are longer, especially when the client and Oracle Database server are located in different domains (also known as administrative contexts).


See Also:


12.5.2 Testing Connectivity from Microsoft Tools

Oracle directory objects in Active Directory are integrated with two Microsoft tools:

  • Windows Explorer

  • Active Directory Users and Computers

You can test connectivity to an Oracle Database server from within these Microsoft tools by actually connecting to it, or you can just test the connection with actually connecting. To test connectivity:

  1. Start Windows Explorer or Active Directory Users and Computers.

    To start Windows Explorer:

    1. Choose Start > Programs > Accessories > Windows Explorer.

    2. Expand My Network Places.

    3. Expand Entire Network.

    4. Expand Directory.

    To start Active Directory Users and Computers:

    Choose Start > Programs > Administrative Tools > Active Directory Users and Computers.


    Note:

    All clients accessing an Oracle Database server through Active Directory require read access on all net service name objects in the Oracle Context and must be able to authenticate anonymously with Active Directory. Oracle Net Configuration Assistant automatically sets this up.

  2. Expand the domain in which your Oracle Context is located.

  3. Expand your Oracle Context.

  4. Right-click a database service or Oracle Net Service name object.

    A menu appears with several options. This section covers only the Test and Connect with SQL*Plus options.

    Description of adtest.gif follows
    Description of the illustration adtest.gif

  5. If you want to test the database connection without actually connecting to it, then choose Test. A status message appears describing the status of your connection attempt.

    Description of adtstcon.gif follows
    Description of the illustration adtstcon.gif

  6. If you want to test the database connection by actually connecting to it, then choose Connect with SQL*Plus. The Oracle SQL*Plus Logon dialog appears.

    Description of adsqlpls.gif follows
    Description of the illustration adsqlpls.gif

  7. Enter your username and password, then click OK. A status message appears describing the status of your connection attempt.

12.6 Access Control List Management for Oracle Directory Objects

This section identifies security groups specific to Oracle directory objects within Active Directory and explains how to add and delete security group members.

This section contains these topics:

12.6.1 Security Groups

Security groups are automatically created when the Oracle Context is created in Active Directory. The user configuring access (and thus creating the Oracle Context) is automatically added to each group. The relevant groups are:

12.6.1.1 OracleDBCreators

The OracleDBCreators group is for the person registering the Oracle Database server. The domain administrator is automatically a member of this group. Users in this group can:

  • Create new Oracle Database objects in the Oracle Context.

  • Modify the Oracle Database objects that they create.

  • Read, but not modify, the membership for this group.

12.6.1.2 OracleNetAdmins

Users in the OracleNetAdmins group can:

  • Create, modify, and read Oracle Net Services objects and attributes.

  • Read the group membership of this group.

12.6.2 Adding and Deleting Security Group Members

You can add or remove users in the security groups with Active Directory Users and Computers.


Note:

Use Active Directory Users and Computers to perform the procedures described in this section. Windows Explorer does not provide the necessary functionality.

To add or remove users:

  1. Choose Start > Programs > Administrative Tools > Active Directory Users and Computers.

  2. Choose Advanced Features from the View main menu.

    This enables you to view and edit information that is normally hidden.

  3. Expand the domain (administrative context) in which your Oracle Context is located.

  4. Expand Users.

    The security groups appear in the right window pane.

    Description of adsecgrp.gif follows
    Description of the illustration adsecgrp.gif

  5. Right-click the Oracle security group that you want to view or modify.

    A menu appears with several options.

  6. Choose Properties.

  7. Choose the Members tab.

    The Properties dialog for the group you selected appears (in this example, OracleDBCreators).

    Description of admembrs.gif follows
    Description of the illustration admembrs.gif

  8. To add users, click Add.

    The Select Users, Contacts, Computers, or Groups dialog appears.

  9. Select the users or groups you want to add and click Add.

    Your selections appear in the Select Users, Contacts, Computers, or Groups dialog.

  10. To remove a user, select the user name from the Members list and click Remove.

  11. When you are finished adding and removing users, click OK.