Oracle Intelligent Agent Users Guide
Release 8.1.5






Prev Next

Installation and Configuration

This chapter covers generic setup and configuration procedures for the Intelligent Agent. The following topics are discussed:

Installing the Intelligent Agent on Windows NT

Intelligent Agents are shipped with the database and installed on remote, managed machines under an ORACLE_HOME environment. The agent runs as a service.

The convention used to construct the service name is:


where ORACLE_HOME_NAME is the name of the ORACLE_HOME you specified during installation.

For more information on installing the Intelligent Agent, please refer to the Oracle Enterprise Manager Installation (CD-ROM insert).

Creating a Windows NT User Account for Running Jobs

In order for the agent to execute jobs on a managed node


If you do not set up the "logon as batch job" privilege, you will receive the "Failed to authenticate user" message when you run jobs on the node.  

Please follow one of the procedures listed below.

Creating a New NT User Account

To create a new Windows NT user account on the local NT machine and grant the "log in as batch jobs" privilege to this user, perform the procedure below.

  1. Select the User Manager from the Administrative Tools program group. See the Windows NT documentation for information on this tool.

  2. Select New User from the User menu and check for the following:

    • The "User Must Change Password at the Next Logon" option box is not checked

    • "SYSTEM" or "system" is not used for the user name.

  3. Under the Policies menu of the User Manager NT utility, select the User Rights option.

  4. Check the "Show Advanced User Rights" box.

  5. Select "Logon as a batch job" from the list of privileges.

  6. Give the selected user this privilege.

Assigning Privileges to an Existing NT User Account

To assign privileges to an existing local user account, perform the following steps.

  1. Choose the user on the User Manager panel and check for the following:

    • The "User Must Change Password at the Next Logon" option box should not be checked

    • "SYSTEM" or "system" is not used for the user name.

  2. Under the Policies menu of the User Manager NT utility, select the User Rights option.

  3. Check the "Show Advanced User Rights" box.

  4. Select "Logon as a batch job" from the list of privileges.

  5. Add the advanced user right to this user.

Configuring a Domain User as Your Agent User


Domain users are not supported with 7.3.3 and earlier versions of the agent.  

To configure a repository user as your agent user, perform the following steps.

  1. Under the Policies menu of the User Manager NT utility, select the User Rights option.

  2. Check the "Show Advanced User Rights" box.

  3. Select "Logon as a batch job" from the list of privileges.

  4. Click the Add button.

    1. Fill in the "List Names From" field: (choose your domain)

    2. Click Show Users button.

    3. In the listbox, choose the domain user.

    4. Click Add.

    5. Click OK.

  5. In the User Rights Policy window, click OK.


If you have both a local and a domain user with the same name, the local user takes precedence.  

Controlling Operations of the NT Agent

This section contains information on controlling the agent through Windows NT and the DOS prompt. It also contains a section on troubleshooting the agent.


Oracle Enterprise Manager and the agent use Net8 to communicate with the databases in question. Please verify that Net8 can connect to every SID in question before attempting to use the agent.  

Starting the Intelligent Agent on Windows NT

To start the agent on Windows NT, perform the following steps:

  1. Double-click the Services icon in the Control Panel folder.

  2. Select the Oracle<ORACLE_HOME_NAME>Agent service.

    The Startup Type is set to Manual, which allows the agent to be started by a user. If you want the agent to start automatically whenever you start the system, set the Startup Type to Automatic.

    1. Click the Startup push-button. A Service Startup dialog box appears.

    2. Choose Automatic under the Startup Type.

    3. Click OK on the Service Startup dialog box.

  3. Click the Start push-button to start the agent.


You can also start the agent from the command line by typing the following:

net start oracle<ORACLE_HOME_NAME>agent

Stopping the Intelligent Agent on Windows NT

To stop the agent on Windows NT, perform the following steps:

  1. Double-click the Services icon in the Control Panel folder.

  2. Select the OracleAgent service.

  3. Click the Stop push-button to stop the agent.


    You can also stop the agent from the command line by typing the following:

    net stop oracle<ORACLE_HOME_NAME>agent

Verifying that the Agent is Running

To verify that the agent is running, look for its status in the control panel services or type net start at a command prompt. OracleAgent should appear in the list of running services.

You may also view the NT Task Manager to see the dbsnmp process information.

Installing the Oracle Intelligent Agent on UNIX

Install the Oracle Intelligent Agent from the Oracle CD-ROM as per the Oracle Enterprise Manager Installation Guide. The Intelligent Agent is a separate component to select.

Running the Shell Script

After you have successfully installed the agent, the Oracle Installer prompts you to run, which is a shell script, updates/creates an oratab file. The oratab file is the file where the user will place references to all databases to be discovered by the agent and controlled by the Oracle Enterprise Manager. For each database created, the entry is of the form: <SID>:<$ORACLE_HOME>:[Y/N]

The agent is normally configured by as a setuid program. If was successful, the agent will have been installed as setuid root so that the agent can run jobs as the users whose name and password are given in the Preferred Credentials for that host.

If the agent is not a setuid program, all Enterprise Manager jobs are run with the permissions of the user who started the agent.


The agent being set to setuid root does not have the same effect as having the root user start the agent. Having the root user start the agent may cause security problems. Consult your platform documentation for exact details on setuid programs.  

The user who submits node jobs to the UNIX agent should have read/write access to the Agent's ORACLE_HOME. If the does not have setuid set, then any job submitted to the agent will run with the privileges of the user who owns the Agent executable (dbsnmp.exe). will force the user to set the preferred credentials at the Oracle Enterprise Manager Console for any job on the Agent.


Please be aware that only one intelligent agent can be run on one UNIX machine although more than one Oracle Home can exist. The Agent communicates with the Management server on a dedicated port (1748).  

Verifying that has been run successfully

To verify that had been run successfully, check the file permissions on dbsnmp.

  1. Enter cd $ORACLE_HOME/bin

    This changes the directory to the $ORACLE_HOME/bin directory where the agent executable resides.

  2. Enter ls -al dbsnmp

    This lists all relevant details about dbsnmp.

The output of the ls -al command for dbsnmp should be in the form

-rwsr-xr-x   1 root     g651     1497980 Jun 12 21:04 dbsnmp

root is the owner. dbsnmp is the agent executable. In this example, the name of the group is g651. If root is the owner and -rwsr-xr-x are the permissions, then had been run successfully.

Controlling Operations of the UNIX Agent

On UNIX, the lsnrctl command is used to start and stop the agent. The relevant lsnrctl commands are listed in the table below.

If you want to...   Enter the command...  

Start the agent on UNIX platforms  

lsnrctl dbsnmp_start  

Stop the agent on the UNIX platform  

lsnrctl dbsnmp_stop  

Verify status of the agent  

lsnrctl dbsnmp_status  

For additional information or restrictions for your platform, see the Intelligent Agent readme in ORACLE_HOME/network/agent/doc/readme.wri.

Configuring SNMP for UNIX or Windows NT

Third-party systems management applications use the SNMP Master Agent to communicate with the Intelligent Agent. The SNMP Master Agent and the Oracle Intelligent Agent must be configured correctly before the Oracle Intelligent Agent can communicate over SNMP to the Master Agent.

For the general procedures for configuring SNMP for Oracle databases and the Management SErver, refer to the Oracle SNMP Support Reference Guide.

For more comprehensive configuration information, see the installation or configuration guide specific to your platform since the SNMP configuration differs from platform to platform.

Oracle Intelligent Agent and Oracle Names

If you are running Oracle Names on a machine managed by an Oracle Intelligent Agent, it is assumed that the databases have already been registered with a Names Server and their aliases are defined by the GLOBAL_DBNAME parameters in the listener.ora files.

The Intelligent Agent 8.0.4 does not use Oracle Names to discover services it manages. It uses GLOBAL_DBNAME parameters in listener.ora files to determine which databases that listener services. This name appears in the Enterprise Manager Console Navigator as the database name to be managed.

The GLOBAL_DBNAME parameter typically describes the name of the database as it is registered with the Names Server, for example, the name and domain of the database as given in the database initialization parameter file. Values of the GLOBAL_DBNAME parameters must be unique.

When running jobs or monitoring events in this environment, the Intelligent Agent does not resolve database aliases via Oracle Names, the Agent will generate its own TNS connect string using the Bequeath Protocol.


If you are planning to manage two or more Oracle databases on the same node, make sure the GLOBAL_DBNAME parameter in your listener.ora file is different for each database.  

Roles and Users Required by the Agent

The necessary dbsnmp user account (with password "dbsnmp") and the SNMPAGENT role for the Intelligent Agent is contained in catsnmp.sql. The catsnmp.sql script is installed with the database. When an Oracle database is installed, the catsnmp.sql script is automatically run by catalog.sql

For security reasons, the customer may need to change the user/password for the Intelligent Agent's database logon. The default account is dbsnmp and the default password is dbsnmp. To change the user name and password to something other than dbsnmp/dbsnmp, you need to open, edit, and rerun catsnmp.sql for your own user and password. You will then need to edit SNMP_RW.ora, adding the following parameters:

SNMP.CONNECT.<svcname>.PASSWORD = <password> 

To determine whether the SNMPAGENT role exists in a database, enter the following SQL command:

SELECT * FROM dba_roles;

If the SNMPAGENT role does not appear, run the catsnmp.sql script on the database.

If you already have several versions of the database running, you must run the catsnmp.sql script on each of these database in order to have the correct setup for all the grants and views the agent needs to contact.

To run the script, you must log in as SYS or INTERNAL.


The location of catsnmp.sql varies based on the database version you are running and the platform. For example, on NT for an Oracle 8.x database, the script is located at

ORACLE_HOME\rdbms8x\admin. Please note that there is no harm in running the catsnmp.sql script more than once.  


Beginning with 7.3.3, the Intelligent Agent has a built-in auto-discovery feature that automatically generates the needed configuration files containing information about services to be managed, each time the process is started. The following three files are created/appended during the discovery process:




When the agent is started, the auto-discovery process reads configuration parameters from the following sources:

The discovery process extracts the services installed on that node and compiles the configuration files listed previously.

Beginning with 7.3.4 and 8.0.3, the agent compiles SID information for each ORACLE_HOME, either from the ORATAB file(UNIX) or the NT registry. The agent then parses the listener.ora files for related SID and listener information. If the listener.ora contains a GLOBAL_DBNAME section, the agent sets the database service name to the GLOBAL_DBNAME variable. If the variable does not exist, the agent looks for a tnsnames.ora that contains a valid service name for the SIDs on that machine. If the agent cannot find one, a service name called <SID>_<HOSTNAME> is created for each SID.

NOTE: In 7.3.3 and earlier versions, the Agent does not use the GLOBAL_DBNAME.

NOTE: If multiple aliases exist for the same instance in the tnsnames.ora, the agent uses the one listed first. If you prefer to use a different alias, reorder the tnsnames.ora entries and restart the Agent.

NOTE: If you have more than one database instance on a machine and you are using GLOBAL_DBNAME parameter in the listener.ora file, these instances need to have a unique GLOBAL_DBNAME in the listener.ora. You may have to do edit the listener.ora manually.

An example of snmp_ro.ora from an 8.0.3 Agent on NT:

        snmp.visibleservices = (LISTENER, 
        snmp.shortname.LISTENER = LISTENER 
        snmp.longname.LISTENER = LISTENER_HOTATE 
        snmp.configfile.LISTENER = C:\ORANT\Net80\admin istener.ora = ORCL = C:\ORANT = (DESCRIPTION =(ADDRESS_LIST 
        =(COMMUNITY = = TCP)(Host = =
        1526)))(CONNECT_DATA =(SID = ORCL)(GLOBAL_NAME = 
        ifile = C:\ORANT\net80\admin mp_rw.ora 

An example of snmp_rw.ora from a 8.0.3 Agent on NT: = "" 
        snmp.index.LISTENER = 1 = "" = 2

For more information about enabling tracing, refer to Tracing the Intelligent Agent

Pre-requisites for Auto-Discovery

Agent searches for these files in the following directories and order:

1. $(if such an environment variable exists for the user starting the Agent)

1a. (NT) TNS_ADMIN variable in Control Panel -> System -> Environment

1b. (NT) TNS_ADMIN key in the NT Registry

2. on UNIX systems, in the /etc or /var/opt/oracle

3. $ORACLE_HOME/network/admin

(UNIX) All versions of the Unix discovery script allow the use of the TNS_ADMIN variable to locate input configuration files (listener.ora and tnsnames.ora). Only post-8.0.3/7.3.4 versions correctly write the output files (snmp_ro.ora and snmp_rw.ora) into TNS_ADMIN, if it is set.

(NT) In addition to the above, beginning with 8.0.5, the discovery script also reads the TNS_ADMIN value from the NT Registry.


Copyright © 1999 Oracle Corporation.

All Rights Reserved.