2013-09-10

HP BSM: Using Oracle Services instead of SID (useful if having a RAC)

This cannot be set on the wizard, this has to be done by hand. Origin of this information

  1. Log into the server. (rdp or other)
  2. Stop BSM.
  3. Create the file D:\HPBSM\conf\bsm-tnsnames.ora with content:
    hpbsm_service = 
    (DESCRIPTION = 
        (ADDRESS_LIST = 
            (ADDRESS = 
                (PROTOCOL = TCP)
                (HOST = oraclerac-vip.example.com)
                (PORT = 1521)
            )
            (LOAD_BALANCE = on)
            (FAILOVER = on)
        )
        (CONNECT_DATA = 
            (SERVER = DEDICATED)
            (SERVICE_NAME = hpbsm_service)
        )
    )
    
  4. Edit D:\HPBSM\conf\jdbc.drivers.properties
    1. Comment out the line starting with: ddoracle.url=
    2. Add new line (literally): ddoracle.url=jdbc:mercury:oracle:TNSNamesFile=D:\\HPBSM\\conf\\bsm-tnsnames.ora;TNSServerName=${sid}
  5. Create the file D:\HPBSM\odb\conf\jdbc.properties:
    Oracle = ddoracle
    cmdb.url = jdbc:mercury:oracle:TNSNamesFile=D:\\HPBSM\\conf\\bsm-tnsnames.ora;TNSServerName=hpbsm_service
    
    (here you have to include the service name from the bsm-tnsnames.ora)
  6. Run the "Configure HP Business Service Management" utility, and enter hpbsm_service in the SID field (it will be converted to a tnsnames.ora entry lookup by our hack above).
  7. Connect to hp_mgr with SQL Developer or TOAD (or whatever you like):
    SELECT SESSION_ID, SESSION_DB_SID FROM sessions WHERE SESSION_DB_NAME = 'profile_mgr'; -- Must be hpbsm_service. If not, update.
    SELECT SP_ID, SP_VALUE FROM setting_parameters WHERE SP_NAME IN ('opr.db.connection.sid', 'dal.bpi.runtime.sid', 'dal.bpi.pr.repos.sid');  -- All must be hpbsm_service. If not, update.
    
    UPDATE SESSIONS SET SESSION_DB_SID = 'hpbsm_service' WHERE SESSION_ID IN (SELECT SESSION_ID FROM SESSIONS WHERE SESSION_DB_NAME = 'profile_mgr');
    UPDATE SETTING_PARAMETERS SET SP_VALUE = 'hpbsm_service' WHERE SP_ID IN (SELECT SP_ID FROM SETTING_PARAMETERS WHERE SP_NAME IN ('opr.db.connection.sid', 'dal.bpi.runtime.sid', 'dal.bpi.pr.repos.sid'));
    
    
  8. Start BSM.
  9. VALIDATE

No comments :

Post a Comment