After upgrading APM 9.60 unable to connect Oracle Database

Hi Experts,

Recently we have upgraded our QA APM from 9.51 to 9.60. Upgrade went fine but after upgrading when we run the upgrade_wizard_run_from951 and trying to connect to the Oracle Database it's giving us the below error. 

Kindly suggest.

Error: Caused by: java.sql.SQLException: No suitable driver found for jdbc:mercury:oracle:TNSNamesFile=D:\HPBSM\conf\tnsnames.ora;TNSServerName=name
at java.sql.DriverManager.getConnection(DriverManager.java:689) ~[?:1.8.0_372]
at java.sql.DriverManager.getConnection(DriverManager.java:208) ~[?:1.8.0_372]
at com.mercury.infra.utils.db.pools.ConnectionFactory.createConnection(ConnectionFactory.java:464) ~[connpool.jar:?]
at com.mercury.infra.utils.db.pools.ConnectionManager.getPrivateConnection(ConnectionManager.java:232) ~[connpool.jar:?]
at com.mercury.infra.db.operations.GenericDatabaseConnectorImpl.connectDatabase(GenericDatabaseConnectorImpl.java:22) ~[dbcore.jar:?]
at com.mercury.infra.configserver.fm.tasks.CheckDbConnectionTask.execute(CheckDbConnectionTask.java:32) ~[configserver.jar:?]
at com.mercury.infra.flowmngr.model.JavaTask.execute(JavaTask.java:80) ~[flowmanager.jar:?]
... 10 more

OS: Windows Server 2016

APM: 9.60

Regards,

Pranav R N

  • 0  

    I assume you are trying to connect to Oracle RAC.

    did you check the tnsnames.ora file? after upgrade you need to manually restore it....

  • 0 in reply to   

    Hi Asaf,

    Thanks for the reply.

    Yes we restored the tnsnames.ora file also we restored jdbc.properties file as well.

    Regards,

    Pranav R N

  • 0   in reply to 

    then please submit support case for further investigation.

  • Verified Answer

    +1 in reply to 

    Hi Pravan,

    as you never posted that the issue has been resolved I thought I'll give it a shot:

    there was a change from APM 9.51 to APM 9.60

    9.5x
    ====
    <HPBSM>\conf\jdbc.drivers.properties

    ddoracle.class=com.mercury.jdbc.oracle.OracleDriver
    ddoracle.url=jdbc:mercury:oracle:TNSNamesFile=E:\\HPBSM\\conf\\bsm-tnsnames.ora;TNSServerName=${sid}

    <HPBSM>\conf\\bsm-tnsnames.ora
    TOPAZI =(DESCRIPTION =(ADDRESS =(PROTOCOL = TCP)(Host = myhost.mydomain.mycom)(Port = 1234))
    (CONNECT_DATA =(SERVICE_NAME = APM)(SERVER = DEDICATED)))

    <HPBSM>\odb\conf\jdbc.properties

    Oracle = ddoracle
    cmdb.url =jdbc:mercury:oracle:TNSNamesFile=E:\\HPBSM\\conf\\bsm-tnsnames.ora;TNSServerName=APM


    9.60
    ====
    - mcoracle.jar no longer exists in folder <HPBSM>\lib
    thus the path has to be changed
    from for example
    ddoracle.class=com.mercury.jdbc.oracle.OracleDriver
    to for example
    ddoracle.class=oracle.jdbc.driver.OracleDriver

    Also the file TNSNamesFile is no longer being used, the data is now passed directly via ddoracle.url

    OOTB
    <HPBSM>\conf\jdbc.drivers.properties

    old
    ddoracle.url=jdbc:oracle:thin:@${host}:${port}:${sid}

    new
    ddoracle.url=jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=myhost.mydomain.mycom)(PORT=1234))(LOAD_BALANCE=off)(FAILOVER=off))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=APM)))

    also you need to perform the similar steps for ODB / RTSM:

    <HPBSM>\odb\conf\jdbc.properties
    doesn't exist on a new APM 9.60 installation, you hopefully can copy if it from your still around 9.51 installation and then modify it:

    old

    Oracle = ddoracle
    cmdb.url =jdbc:mercury:oracle:TNSNamesFile=E:\\HPBSM\\conf\\bsm-tnsnames.ora;TNSServerName=APM

    new
    Oracle = ddoracle
    cmdb.url=jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=myhost.mydomain.mycom)(PORT=1234))(LOAD_BALANCE=off)(FAILOVER=off))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=APM)))

    Greetings
    Siggi

    P.S. The kudos go to ChristianD who disovered this ;-)-

  • 0 in reply to 

    Hi Siggi,

    Sorry for the delay in the response as I was on vacation.

    Thanks a lot for the steps and It worked.

    But unfortunately after moved the database section steps and when we are in the password section step if I provide the correct admin, JMX and RTSM password it's not updating and giving the below error. Do you have any Idea

    com.mercury.infra.flowmngr.exceptions.JavaTaskInstantiationException: Failed to instantiate java task com.hp.bsm.platform.security.crypt.LoginSecurityTask
          at com.mercury.infra.flowmngr.model.JavaTask.execute(JavaTask.java:90)
          at com.mercury.infra.flowmngr.model.Step.executeStep(Step.java:83)
          at com.mercury.infra.flowmngr.FlowManager.run(FlowManager.java:206)
          at com.mercury.infra.wizard.WizardController$FlowManagerRunner.doInBackground(WizardController.java:87)
          at com.hp.acm.swing.executor.SwingJob$SwingJobWorker.doInBackground(SwingJob.java:319)
          at javax.swing.SwingWorker$1.call(SwingWorker.java:295)
          at java.util.concurrent.FutureTask.run(FutureTask.java:266)
          at javax.swing.SwingWorker.run(SwingWorker.java:334)
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
          at java.lang.Thread.run(Thread.java:750)
    Caused by: java.lang.Exception: Failed to change the password for admin user
          at com.hp.bsm.platform.security.crypt.LoginSecurityTask.execute(LoginSecurityTask.java:28)
          at com.mercury.infra.flowmngr.model.JavaTask.execute(JavaTask.java:80)
          ... 10 more
    Regards,
    Pranav R N
     
  • 0 in reply to 

    Hi Pranav R N,

    good that the connection to the database now works.

    Regarding the follow-up error, and only looking at the JMX password,

    the only ideas coming into my mind are:

    - try again

    - to start with use a really simple password, for a test just letters for example

    - use the defaults and try to change the password(s) after the installation completed using the Configuration and Connection Wizard, you might wanna check KM000002862 for details

    - check out
    RE: (BSM) Support Tip: Config wizard gives the error "Failed to change the password for admin user"

    - enable debug logging in the hope to find something useful in the logfiles

    Finally ... a support case might be needed ...

    Greetings
    Siggi

  • 0 in reply to 

    Hi Siggi,

    Thanks for the reply and help.

    I was able to resolve the issue. The issue is with the Mangement Database USERS table (management schema) the password for admin user is in plain text. 

    (BSM) Support Tip: Config wizard gives the error "Failed to change the password for admin user" - Operations Bridge User Discussions - OpenText Operations Bridge (microfocus.com)

    I will close this thread.

    Regards,

    Pranav R N

  • 0 in reply to 

    Hi Pravan,

    cool that you got it working.

    Greetings

    Siggi

  • 0 in reply to 

    Hello, We faced the same issue and it was resolved after modifying the jdbc files as mentioned above, however now when we run the upgrade wizard_9.51.sh script, post entering the values in the wizard, we are not able to connect to the management DB. Log says - Invalid username/password: logon denied.

    We have checked with the DB team and confirmed that username and password which we are using is correct and valid and also they are able to connect from the DPS sevrer using sudo su - oracle with the same username and password.

    Working if anyone has faced this same issue and can assist...thanks in advance..

    FYI - Upgrading distributed env. from APM 9.51 IP2 to 9.60 In-place. Oracle RAC 19 C DB.