Enterprise Manager Grid Control 11g: How to Configure the OMS Connect String when Repository is in a Dataguard setup (Doc ID 1328768.1)

Last updated on JUNE 26, 2016

Applies to:

Enterprise Manager Base Platform - Version 11.1.0.1 to 11.1.0.1 [Release 11.1]
Information in this document applies to any platform.
Checked for relevance on 03-Jun-2014

Goal

11g OMS is configured to have the Repository in a Dataguard setup.
The setup works fine when the primary Database is running. But when there is a switchover / failover, the OMS is unable to connect to the Repository in the new primary database.

The <EM_INSTANCE_BASE>/user_projects/domains/GCDomain/servers/EMGC_OMS1/logs/EMGC_OMS1.out shows:

2011-04-21 09:44:39,584 [Main Thread] INFO mas.CredStoreUtil logp.251 - getCredential : Got creds for mapName -EM keyName - REPOS_DETAILS
2011-04-21 09:44:40,522 [Main Thread] ERROR oms.PrintOMSSetupInfo main.141 - Failed to find OMS details: ORA-01033: ORACLE initialization or shutdown in progress ...

java.sql.SQLRecoverableException: ORA-01033: ORACLE initialization or shutdown in progress ...

at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:105)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:135)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:210)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:473)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:415)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:407)
at oracle.jdbc.driver.T4CTTIoauthenticate.receiveOsesskey(T4CTTIoauthenticate.java:312)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:375)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:640)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:205)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:554)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at oracle.sysman.emctl.util.EmctlUtil.getReposConnUsingAdminServer(EmctlUtil.java:329)
at oracle.sysman.emctl.util.EmctlUtil.getReposConn(EmctlUtil.java:309)
at oracle.sysman.emctl.util.EmctlUtil.getOMSSetupInfo(EmctlUtil.java:398)
at oracle.sysman.emctl.oms.PrintOMSSetupInfo.main(PrintOMSSetupInfo.java:79)
2011-04-21 09:45:08,853 [Main Thread] DEBUG wls.OMSController main.173 - Log location is D:/Oracle/gc_inst/em/EMGC_OMS1\sysman\log\emctl.log

This document explains how to configure the OMS connection string so that it is always able to connect to Primary database, irrespective of which node it is currently running on.

Note:

- The objective of this document is to serve as a reference for the Enterprise Manager side of the configuration when the Repository is in a Dataguard setup. The OMS requires a common database service name which is always available / accessible irrespective of which database is the primary one.
- The below steps have been tested internally with a 11.1.0.7 Database. New features in 11.2 Database may require additional steps or configuration at the Database side.
-  Any changes / configuration steps at the Dataguard and Database SQL*Net should be validated and verified with the Database Support team(s).
-  The Enterprise Manager Grid Control Repository supports only Physical Standby Dataguard setup for the Repository database.

Solution

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms