DX Application Performance Management

Expand all | Collapse all

PPOracleDB.properties entries for connecting to 2 node oracle RAC cluster?

Jump to Best Answer
  • 1.  PPOracleDB.properties entries for connecting to 2 node oracle RAC cluster?

    Posted 08-02-2017 06:23 AM

    Hi Folks,

     

    I want to understand as to how do we configure PowerPack for Oracle Database APM agent for Oracle RAC databases?

    We have a 2 node Oracle 12cR2 RAC cluster and the JDBC connection string goes something like this:

     

    (DESCRIPTION= (RETRY_COUNT = 2)(CONNECT_TIMEOUT = 3) (ADDRESS_LIST=  (LOAD_BALANCE=off)
    (FAILOVER=on) (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.12.52)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.12.62)(PORT = 1521))  (CONNECT_DATA=  (SERVER = DEDICATED)
    (SERVICE_NAME = tmsrv) ))

     

    I tried providing the hostname/port/servicename entries as per the PPOracleDB.properties file comments.

    Unfortunately, this doesn't work and I always get the "Service cannot identify the connect identifier specified" error.

     

    I have a java app using JDBC to connect to the same RAC DB on the same host and it is able to connect if we provide the JDBC URL given above.

     

    Need to know the exact configuration which needs to be provided for connecting to Oracle RAC DB as given above.



  • 2.  Re: PPOracleDB.properties entries for connecting to 2 node oracle RAC cluster?

    Posted 08-02-2017 07:55 AM


  • 3.  Re: PPOracleDB.properties entries for connecting to 2 node oracle RAC cluster?

    Posted 08-02-2017 06:56 PM

    Hi Jatin,

    Yes OOTB the Oracle PP only supports Oracle JDBC thin driver connections and your JDBC Connection string is in the JDBC OCI driver format, so you need to use the advice from the first link Hal listed:

    Configuring APM Oracle PowerPack/Extension for Oracle to use Oracle JDBC OCI driver & TNSNames Alias Syntax(enables use of Oracle RAC & Oracle Secure External Password Store) 

     

    Regards,

     

    Lynn



  • 4.  Re: PPOracleDB.properties entries for connecting to 2 node oracle RAC cluster?

    Posted 08-03-2017 03:18 AM

    I have the following APM Enterprise Version installed : 10.3.0.19 (Build 990300) on RHEL 7.2 (x64)

     

    I have downloaded the attached package and copied the respective files to the original Oracle power pack agent installed location.

    Once I start the agent service, I see the following error in logs:

     

    OpenJDK 64-Bit Server VM warning: You have loaded library /opt/oracle/product/11.2.0/client_1/lib/libocijdbc11.so which might have disabled stack guard. The VM will try to fix the stack guard now.
    It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
    Exception in thread "Thread-0" java.lang.UnsatisfiedLinkError: /opt/oracle/product/11.2.0/client_1/lib/libocijdbc11.so: /opt/oracle/product/11.2.0/client_1/lib/libocijdbc11.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1938)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1854)
        at java.lang.Runtime.loadLibrary0(Runtime.java:870)
        at java.lang.System.loadLibrary(System.java:1122)
        ......

     

    I am using Oracle client version 11.2.0.4 (x64) to connect to the Oracle RAC DB and the same has been added to the LD_LIBRARY_PATH before starting the agent service.

     

    Am I missing something here?

     

    gopja02

    #powerpackfororacle #caapm



  • 5.  Re: PPOracleDB.properties entries for connecting to 2 node oracle RAC cluster?

    Posted 08-03-2017 04:09 AM

    Please check the original documentation concerning this agent. I believe it was configured to run with a  32-bit JRE and may not work with a 64-bit JRE and driver.



  • 6.  Re: PPOracleDB.properties entries for connecting to 2 node oracle RAC cluster?



  • 7.  Re: PPOracleDB.properties entries for connecting to 2 node oracle RAC cluster?

    Posted 08-03-2017 04:15 AM

    Here's another that basically states the same thing; run a 32-bit JRE or SDK: https://stackoverflow.com/questions/6172105/wrong-elf-class-elfclass32



  • 8.  Re: PPOracleDB.properties entries for connecting to 2 node oracle RAC cluster?
    Best Answer

    Posted 08-03-2017 08:24 AM

    Thanks Hiko_Davis

     

    I was able to Solve this issue.Full details are given below:

     

    After searching for a bit, I stumbled upon this link

     

    db:: 2.77::java.lang.UnsatisfiedLinkError(cause: architecture word width mismatch) 18 

    One of the posts said that even if you are using a 64 bit version of the Oracle Client (in my case v 11.2.0.4 (x64)), oracle ships only 32 bit OCI driver.

    The thin driver still works fine with 64 bit JDK's though.

     

    So basically, libocijdbc11.so is the 32 bit lib present in a 64 bit oracle client installation and hence the error (because 64 bit JVM process tries to load 32 bit OCI driver)

     

    Steps taken to resolve this issue:

     

    1. Downloaded and configured the 32 bit SUN JRE (v 1.8.x) for the Oracle Power Pack agent.

     

    2. In my case had to replace the ojdbc6.jar file present in the package (v 10.3.15) since it has version 11.2.0.3 and is not compatible with the oracle client version that i was using. I replaced it with the corresponding ojdbc6.jar from 11.2.0.4 client installation.

     

    3. Set the LD_LIBRARY_PATH and ORACLE_HOME appropriately so that OCI driver can read the correct TNSNAMES file and pick up the TNSAlias correctly.

     

    4. Restarted the agent service and everything worked like a charm.