An internal error has occurred at the agent: “java.lang.IllegalStateException: getAgentSubstitutionMap(“cluster.ClusterName”) == null”

While testing a named credential in OEM 13c by following command with errors:

Here “CLU-RACTEST” is the GI cluster name.

$emcli test_named_credential -cred_names="SEC_RACTEST" -target_name="CLU-RACTEST" -target_type="cluster"

An internal error has occurred at the agent: "java.lang.IllegalStateException: getAgentSubstitutionMap("cluster.CLU-RACTEST") == null". Check the agent's error logs for details.

Run “emctl config agent listtargets”, it shows there is no ‘cluster’ target type listed for any of the monitoring agents.

The <AGENT_INST>/sysman/log/gcagent.log showed the below errors.

2020-09-11 14:20:12,572 [631842:5A0FE62C] WARN - target cluster.CLU-RACTEST does not exist
...
..
.
[159979801250001])] ERROR - remote target "cluster.CLU-RACTEST" has NO substitution properties; check that it is properly configured
2020-09-11 14:20:12,573 [631842:HTTP Listener-631842 - /emd/main/ (DispatchRequests OMS.console@17163@oemnode1=>[159979801250001])] ERROR - Critical error:
java.lang.IllegalStateException: getAgentSubstitutionMap("cluster.CLU-RACTEST") == null
at oracle.sysman.gcagent.jobs.JobRequestDriver.substitute(JobRequestDriver.java:2162)
at oracle.sysman.gcagent.jobs.JobRequestDriver.(JobRequestDriver.java:1500)
at oracle.sysman.gcagent.jobs.JobRequestDriver.(JobRequestDriver.java:1529)
at oracle.sysman.gcagent.dispatch.cxl.PerformOperationAction.satisfyRequest(PerformOperationAction.java:130)
...
..
.

SOLUTION

From the OEM Console, go to Cluster homepage -> Target Setup -> Monitoring Configuration.
Click on the Update button (no need to make any other changes).

This will push the cluster target details to the agent side.

Then run “emcli test_named_credential” successfully.

$emcli test_named_credential -cred_names="SEC_RACTEST" -target_name="CLU-RACTEST" -target_type="cluster"

Credentials "SEC_RACTEST:SYSMAN" tested successfully

How to Run ADR Command Interpreter(adrci) from OMS and Agent Oracle Home

Run adrci command from OEM 13c OMS or OEM 13c Agent ORACLE_HOME, and get “No ADR base is set” error.

$ adrci
ADRCI: Release 11.2.0.3.0 - Production on Tue Sep 8 20:57:51 2020
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
No ADR base is set
adrci>

Here are the steps of how to run adrci properly from OMS or Agent ORACLE_HOME.

Subscribe to get access

Read more of this content when you subscribe today.

How to Relocate Base Directory of Oracle Enterprise Manager Agent

As per Oracle doc, upgraded OEM 12c agents to 13c with following steps:

To upgrade agents via OEM console->Manage Cloud Control ->Upgrade agents -> Agent Upgrade tasks-> ……

To clean up old agents home after upgrading via OEM console ->Manage Cloud Control -> Upgrade agents -> Post Agent Upgrade tasks -> ……

After Oracle Enterprise Manager Agents have been upgraded from 12c to 13c, the new agent binary is still under old agent base directory like “/u01/app/oracle/product/agent12g/agent_13.2.0.0.0″.

For having a meaningful naming and future convenience, I’d like to relocate the agent base directory from “/u01/app/oracle/product/agent12g” to “/u01/app/oracle/product/agent” with following steps:

Subscribe to get access

Read more of this content when you subscribe today.

How to Share Named Credentials Using a Role in OEM

In your environment, there are hundreds or even thousands of targets managed by OEM, and a doze or even hundreds of OEM administrators and users. In this case, effectively and securely managing Named Credentials ( NC ) is a challenging job. Usually, every OEM administrator or user creates and manages their own Named Credentials ( NC ). So many duplicate copies of Named Credentials ( NC ) are kept, it brings difficulties for updating them if any targets credentials changed.

This post demonstrates how to share a Named Credentials ( NC ) with many administrators and users in any size of OEM environment by using a role. Same as an Oracle database role, which can be granted to a role or a user.

The following content is only available to subscribers only.

Please Subscribe to Access Premium Content

How to Apply RU/RUR Patches onto Standalone Database using Fleet Maintenance in Oracle Enterprise Manager Cloud Control

Fleet maintenance uses the Out of Place Patching option with minimum downtime. Also this can be done only via emcli verb and there is no GUI option available.

This post demonstrates how to apply the latest Release Update DB July 2020 Release Update 19.8.0.0.200714   and  OJVM July 2020 Release Update 19.8.0.0.200714 onto standalone database.

Environment:

Primary Host/Database : oemnode1 / OEMREP
Standby Host/Database : stbnode1 / STBOEMREP
Current ORACLE_HOME : /u01/app/oracle/product/19.0.0/dbhome_1
Referenced ORACLE_HOME: /u01/app/oracle/product/19.0.0/dbhome_2
REF_TARGET_NAME : OraDB19Home2_8_oemnode1_8
New Out of Place ORACLE_HOME: /u01/app/oracle/product/19.0.0/dbhome_3

Subscribe to get access

Read more of this content when you subscribe today.