6 Replies Latest reply on Feb 28, 2017 1:28 AM by Andrew Waters

    Discovering database details for pluggable DB's

    Brian Morris
      Share This:

      ADDM is version 11.1.02 in a clustered configuration.  We are trying to discover Oracle 12c Release 1 pluggable DB's.  What I am getting back is only 1 Database detail showing the container name, and no database details showing the pluggable databases under it.

       

      We have a DB credential set up for this, but ADDM has no place (in the UI)  to upload a JDBC driver for Oracle 12.  So we are using the Oracle 9-11 driver (SID).

       

      Everything else is OOTB, using the Jan 2017 TKU.  The extended queries have met with some success, but not consistently across the oracle 12 environment.  Would upload a screenshot but the forum doesn't seem to allow GIF, PNG, or JPG's....   DBA has verified that the login works using SQLPlus.

       

      To get this working, do we need to custom upload the jdbc driver to the appliance and associate the 12c driver?  Is there some setting perhaps that was missed?  For one Oracle 12 server it says the DB provider access fails because there is no matching credential, even though our credential is set to match all.  So that got me thinking it may be the driver?

       

        • 1. Re: Discovering database details for pluggable DB's
          Brian Morris

          Looks like our Discovery user for the OS, which has good access in general, does NOT have execute permissions to the oracle directories.  This includes access to SQLPlus, which shows as "Permission Denied" in the logs.  Would having access to everything under /app/oracle/ and /oemagent/ resolve this?  Is there a more specific guideline available for just giving access to the commands discovery requires?

           

          Several errors in the logs along these same lines:

           

          discovery.hosts: DEBUG: runCommand() - running command: echo exit | ORACLE_HOME=/u01/app/oracle/grid/12.1.0.2 /u01/app/oracle/grid/12.1.0.2/bin/sqlplus /NOLOG

          o   discovery.session: DEBUG: ssh: XXX.XXX.XXX.XXX: output '\r\n-bash: /u01/app/oracle/grid/12.1.0.2/bin/sqlplus: Permission denied\r\n'

           

          1 of 1 people found this helpful
          • 2. Re: Discovering database details for pluggable DB's
            Andrew Waters

            The Oracle FAQ indicates the driver should be compatible.

             

            What failure is being reported? Is it even trying to access the database on the systems where the details are not present?

            1 of 1 people found this helpful
            • 3. Re: Discovering database details for pluggable DB's
              Brian Morris

               

              For SQL Integration on the latest discovery access for this server what I see is an error that says "No Matching Credentials".  If we drill down into the link on that screen it shows:

               

              • Integration Point Name: Oracle RDBMS
              • Name of Performed Query: Oracle.OracleRDBMS.OracleSQL.showVersion
              • Discovery Duration: 0 seconds
              • Failure Reason: No matching credentials
              • Triggering Pattern: Oracle.OracleRDBMS.DatabaseServer
              • Connection Endpoint:  XXX.XXX.XXX.XXX
              • Connection Parameter Sid: Correct name of the DB container is shown here

               

              For our credential, we have a username, password, address is set to match all, I've given it a default value of 1521 for the port and have tried it with Service Name empty (default) and with "match regular expression" of .*

               

              If we look down at Related Integration Results by Query, for the query Oracle.Oralce.RDBMS_Extended.OracleDetails.showPDBs we have 11 successes, no failures reported.  For Oracle.OracleRDBMS.OracleSQL.showVersion we have 13 Successes and many failures.  DBA confirms that the credential should work across all Oracle 12 databases.  The others are other versions of oracle, so failures are probably fine.

              1 of 1 people found this helpful
              • 4. Re: Discovering database details for pluggable DB's
                Andrew Waters

                But from what you say it is trying to use SID rather than service name. Hence it would not match your service name credential.

                1 of 1 people found this helpful
                • 5. Re: Discovering database details for pluggable DB's
                  Brian Morris

                  Yes, since first posting I tried changing the JDBC driver it was using from SID to Service Name.

                   

                  I just changed it back to SID and added in the .* for the match pattern and re-ran discovery.  Now the connection to the DB was successful(!!) and I see the pluggable DB's on the host in question.  So a SID always has to be specified, or match some regex.  It won't assume .* if nothing is input?  It seems like that was all that was missing.

                   

                  4 of 4 people found this helpful
                  • 6. Re: Discovering database details for pluggable DB's
                    Andrew Waters

                    If you are matching a regular expression you need to put in a value otherwise it will try to match the blank value.

                    2 of 2 people found this helpful