Applications Systems

Register an Amazon RDS Oracle database instance for DPA monitoring without providing the credentials of a privileged user

Register an Amazon RDS Oracle database instance without entering the master user password or privileged user credentials into DPA.

First published date

8/18/2020 10:13 PM

Last published date

12/10/2021 12:52 AM

Overview

When you register an Amazon RDS Oracle database instance for monitoring, the following change is made to that instance:

  • The DPA monitoring user is created or configured to enable DPA to monitor the database instance. If DPA creates or configures the monitoring user, you must give DPA temporary access to the credentials of a user with the DBA role. 

To register an Amazon RDS Oracle database without entering the credentials of a privileged user, you can create the monitoring user and add the utility package yourself.

  • If you have DPA 2021.1 or earlier, use the instructions in this article to register an Amazon RDS Oracle database instance without entering the credentials of a privileged user into DPA. You can use mass registration or the DPA management API to register the instance.
  • If you have DPA 2021.3 and later, you can use mass registration, the API, or a UI wizard to register an Amazon RDS Oracle database instance without a privileged user:

Note: You must still know the password of a user with the DBA role (such as master user) in order to run the provided scripts. But you do not have to enter it into DPA.

Product section

Database Performance Analyzer

Resolution

How to register an Amazon RDS Oracle database instance without entering the master user password

Step 1: Create the monitoring user with the necessary permissions

  1. Copy the following script to a file: CreateMonUserAmazonOracle.sql
  2. Edit the script to update the user name and password values.
  3. Connect to the Amazon RDS for Oracle database, and run the script. To ensure that the connected user has all the privileges needed to create the monitoring user, SolarWinds recommends connecting as to run the script.

Step 2: Register the database instance without specifying a privileged user

If you use DPA 2020.2.1 through 2021.1.x, use mass registration or the DPA management API as described below.

If you use DPA 2021.3 and later, you can use mass registration or the API as described below. Or you can use a wizard. To use a wizard, see Register an Amazon RDS for Oracle database instance in the DPA Administrator Guide.

Use mass registration or the DPA API to register the database instance, and omit the privileged user in the registration details. 

  • The following example is a segment of a JSON script that calls the DPA API to register an Amazon RDS Oracle database instance without specifying a privileged user. Change the values to reflect your monitored database and the credentials of the monitoring user created in the previous step.

    {
      "databaseType": "ORACLE",
      "serverName": "127.0.0.1",
      "serviceNameOrSID": "SID",
      "port": 1521,
      "monitoringUser": "dpa_mon",
      "monitoringUserPassword": "Pa$$word1",
      "displayName": "DatabaseName",
      "amazonRds": true
    }
  • If you register the instance through mass registration, use the spreadsheet for multiple database types as shown in the following shows an example.

    • Leave the Privileged User and Privileged User Password columns empty.
    • In the Monitoring User and Monitoring User Password columns, enter the credentials of the monitoring user created in the previous step.
    • In the Create Monitoring User (Y/N) column, enter N.
    • Leave the SYS Password column empty.
    • In the Amazon RDS (Y/N) column, enter Y.

Monitoring user validation

During the registration, DPA validates that the monitoring user has the required permissions. By default, the registration fails if any mandatory permission is missing and displays a warning if optional permissions are missing. The same validations are also done when database connection details are updated.

This behavior can be overridden by setting the advanced option MONITOR_VALIDATION_OVERRIDE to TRUE. This allows the registration to pass even if the X$KSUSE view is missing. Some mandatory requirements cannot be overridden because they are needed to perform the validations. See the "Requirements overview" section for details.

Requirements overview

The following sections describe the privileges and objects required for DPA monitoring. 

System privileges granted to the DPA monitoring user

PrivilegeMandatoryEffect on DPA monitoring if missing
CREATE SESSIONYes (cannot be overridden)DPA cannot connect to the instance. Registration fails.
SELECT ANY DICTIONARYYes (cannot be overridden)Registration fails with the message "Instance licensing information could not be retrieved."
If this privilege is removed on an already registered instance, polling fails.
CREATE TABLE and UNLIMITED TABLESPACENoThe 'Oracle Stale Statistics' alert does not work.
Live execution plans for queries are not available.
ANALYZE ANYNoRequired for table tuning when the advanced option INDEX_ANALYSIS_FLUSH_STATS (support option) is set to TRUE.

General database objects used for DPA monitoring

The following table describes the general objects used by the DPA monitoring user.

View nameMandatoryEffect on DPA monitoring if missing
X$KSUSEYes (can be overridden)Wait time for queries is not available.
X$KGLNA1NoSQL text for queries is not available.
X$KCCCFNoControl file names are not available.
X$KGLCURSORNoStatistics for queries are not available.
X$KCFIONoThe storage I/O data is not available.


-- Scripts are not supported under any SolarWinds support program or service.
-- Scripts are provided AS IS without warranty of any kind. SolarWinds further
-- disclaims all warranties including, without limitation, any implied warranties
-- of merchantability or of fitness for a particular purpose. The risk arising
-- out of the use or performance of the scripts and documentation stays with you.
-- In no event shall SolarWinds or anyone else involved in the creation,
-- production, or delivery of the scripts be liable for any damages whatsoever
-- (including, without limitation, damages for loss of business profits, business
-- interruption, loss of business information, or other pecuniary loss) arising
-- out of the use of or inability to use the scripts or documentation.