Help understanding applicative credentials for oracle database discovery

ZDan12
Tera Contributor

Hi everyone,

 

I’m looking to set up Oracle database discovery. Currently, we are only discovering Oracle database instances through the Windows server discovery, but we would like to extend this to discover the databases as well. I’ve gone through the documentation and understand that applicative credentials need to be configured for this, but I would appreciate a deeper understanding of the process. From what I gather, some sort of user that has permissions for the SQL*Plus command line tool and the ability to execute SELECT queries on certain tables is required. I’d like to fully grasp the specifics so I can make a clear request to our network team.

 

Any help or guidance would be greatly appreciated. Thank you!

2 REPLIES 2

Selva Arun
Mega Sage
Mega Sage

 

Hi,

 

Oracle Database Discovery and Applicative Credentials

To set up Oracle Database Discovery in ServiceNow for both UNIX and Windows machines, you will need to configure applicative credentials. These credentials are essential for:

  1. Executing SQL queries against the Oracle DB instance.
  2. Creating connections to database links in the Oracle database.

Required Permissions for the Discovery User

To enable the Oracle discovery process, the Oracle database user must have certain privileges. Here's a breakdown of the essential permissions and roles needed for the discovery user:

  1. Permissions on SQL*Plus: The user must have permissions to execute SELECT queries on certain system tables/views in the Oracle DB. These views include:
    • PRODUCT_COMPONENT_VERSION
    • V$VERSION
    • V$DATABASE
    • V$PARAMETER
  2. Access to Key Files: The user needs read access to the following critical Oracle files:
    • tnsnames.ora: This file contains network configuration details, which are essential for establishing a connection to the Oracle DB instance.
    • The System Parameter File (pfile/spfile) should also be accessible for reading.
  3. Oracle Catalog Discovery: If you want to discover Oracle catalog objects specifically, the user must have read access to the following:
    • DBA_FEATURE_USAGE_STATISTICS
    • CDB_FEATURE_USAGE_STATISTICS
    • V$DATABASE
    • V$VERSION
    • GV$PARAMETER
    • V$CONTAINERS
    • V$INSTANCE
  4. Recommended User Roles:
    • If possible, assign SysAdmin privileges with a read-only role to avoid granting excessive permissions.
    • In cases where full SysAdmin privileges aren't feasible, grant read access specifically to the views listed above.

Additional Credentials and Setup

  • Windows and SSH Credentials: In addition to the applicative credentials, you may also need Windows or SSH credentials. For Windows credentials, ensure that the user has read permissions to the tnsnames.ora file. For SSH credentials, the user must have read access to the oratab file and system parameter files.
  • Oracle Clusterware (RAC): If you're dealing with Oracle Clusterware (Real Application Clusters), you'll need additional permissions to read certain files like /etc/hosts/ on UNIX or oratab for proper discovery. The ps commands (e.g., ps -ef | grep 'crsd.bin') and crsctl commands are also required for discovering RAC configurations.

Discovering Oracle Instances

For Oracle instance discovery, the process will scan specific files and execute queries to collect essential data, such as:

  • SID (from the ora_pmon_ process)
  • Oracle Home
  • Version and parameter file details
  • Edition

Next Steps to Request Applicative Credentials

When requesting the applicative credentials from your Oracle DB team, make sure to mention the following requirements:

  1. Grant SELECT permissions on the following Oracle views:
    • V$DATABASE, V$VERSION, GV$PARAMETER, and others mentioned above.
  2. Provide access to the tnsnames.ora file and ensure it's correctly configured.
  3. Ensure access to the System Parameter Files (spfile.ora or initSID.ora).

By ensuring these permissions are in place, you’ll be able to fully discover Oracle database instances and catalog information.

 

If you believe the solution provided has adequately addressed your query, could you please **mark it as 'Helpful'** and **'Accept it as a Solution'**? This will help other community members who might have the same question find the answer more easily.

 

Thank you for your consideration.

Selva Arun