Skip to main content

Command Palette

Search for a command to run...

OEM 24ai HA/DR Architecture: What Happens When the Tool Watching Your Estate Goes Down

Updated
10 min readView as Markdown
R
Transforming Reactive Monitoring into AI-driven Multi Cloud Observability.

Oracle observability post #8 — the last post covered the OEM job system and how to turn routine DBA operations into scheduled, monitored automation. This one turns the lens on OEM itself: what happens when the tool that watches your Oracle estate goes down, and how to architect it so that doesn't take your monitoring blind.


Every conversation about OEM eventually gets to the same uncomfortable question: what's the DR plan for OEM itself?

Most teams have a rock-solid answer for their production databases — Data Guard, RAC, tested failover, quarterly drills. Ask the same team about their OMS and OMR, and the answer is usually "we back it up nightly" or, worse, silence. That's a gap. OEM isn't a nice-to-have dashboard. It's the system that pages your on-call team when a production database is in trouble, runs your patching workflows, and enforces your compliance standards. When it goes down, you don't just lose a UI — you lose visibility into everything it was watching, at exactly the moment you're least equipped to notice.

This post covers the reference topologies for making OEM 24ai itself highly available, the mechanics of adding a standby repository, and the failure modes that catch people who treat OEM HA as an afterthought.

Why OEM HA Is a Different Problem Than Database HA

An OMS is stateless-ish but not quite stateless — it holds a shared software library, in-flight job state, and an active console session layer. The OMR is a full Oracle database, so RAC and Data Guard apply directly. The Management Agents deployed across your estate are the resilient part almost by accident: they retry, buffer, and re-upload, so a short OMS outage doesn't lose monitoring data, it just delays it.

The design question isn't "can we make this resilient" — every component here is buildable with standard Oracle HA/DR patterns. The question is which combination of RTO and RPO your estate actually needs, because the complexity curve is steep once you move past a single OMS.

Four Reference Topologies

# Topology RTO RPO Complexity When to use
1 Single OMS / Single OMR Hours Last backup Low Lab, dev, under 500 targets
2 Multi-OMS HA / Single OMR Minutes (OMS) / Hours (OMR) Last backup Medium Most production estates
3 Multi-OMS HA + Standby OMR (Data Guard) Minutes Seconds (sync) High Regulated, mission-critical
4 Active/Active across regions Seconds Near-zero Very high Global 24/7 ops, rare

For the vast majority of enterprise customers I work with, Topology 3 is the right landing spot. It's the point where the RTO/RPO numbers actually match what the business expects from "our monitoring platform," without dragging in the operational overhead of a full active/active design that almost nobody needs for a management tier.

If you're still on Topology 1, that's fine for a lab. If it's your production OMS, you're one hardware failure away from flying blind on your entire Oracle estate until someone restores from backup.

Topology 2: Multi-OMS HA, in Practice

This is the minimum bar for a production-grade OEM deployment. The pieces:

  • Two or more OMS nodes behind a Server Load Balancer

  • Shared software library on NFS or DBFS — writable by every OMS node

  • Single OMR, typically a 2-node RAC database

The part that trips people up isn't the OMS nodes themselves — it's the load balancer configuration. The SLB has to terminate TLS, support sticky sessions for console traffic, and — this is the one that actually causes incidents — provide persistence on the Agent Upload channel.

SLB ports that need to be load balanced correctly:

Port Purpose
443 Console HTTPS
4903 Agent Upload
4889 Agent Registration
7799 BI Publisher

If Agent Upload isn't load balanced with proper persistence, agents don't fail over gracefully — they pile onto whichever OMS answered first, and you get a silent, uneven load skew that looks like a performance problem until someone traces it back to the SLB config. This is the single most common misconfiguration I see in multi-OMS deployments.

Topology 3: Adding a Standby OMR with Data Guard

Once the OMS tier is resilient, the repository is the remaining single point of failure. A backup-and-restore RTO measured in hours is not acceptable for most production OEM deployments — that's hours of no monitoring, no incident rules firing, no patching visibility, during whatever event took the OMR down in the first place.

Adding Data Guard closes that gap:

  • Primary OMR at the production site, standby at the DR site

  • Sync transport where the network supports it — aim for round-trip latency under 10ms

  • Async transport for cross-continent DR pairs

  • The standby stays read-only. Do not point OMS at it during normal operations — that's a Data Guard misconfiguration waiting to cause split-brain-style confusion, not a valid load-balancing shortcut.

Switchover, at a High Level

Note: EM CLI syntax below is representative. Exact parameter names vary by OEM version and job type. Always validate against your environment: emcli help <verb> and Oracle's official EM CLI reference.

# 1. Stop OMS on all nodes
emctl stop oms -all

# 2. Switch over the OMR (run from the standby side once it's ready)
# SQL*Plus / DGMGRL:
# ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;

# 3. Update the OMS connect descriptor to point at the new primary
emctl config oms -store_repos_details \
  -repos_conndesc "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dr-omr-scan)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=EMREP_DR)))" \
  -repos_user sysman

# 4. Restart OMS
emctl start oms

# 5. Verify agent uploads are resuming
emctl status agent
emctl status oms -details

A well-rehearsed switchover is a 20-to-30-minute operation. The keyword is rehearsed. I've sat in more than one post-incident review where the DR runbook for OEM hadn't been touched in over a year, and step 4 referenced a hostname that had since changed. Rehearse the switchover at minimum twice a year — treat it exactly like you'd treat a database DR drill, because functionally, that's what it is.

Agent Resilience Isn't Something You Build — It's Something You Configure Correctly

Here's the good news: Management Agents don't need their own HA design. They're effectively stateless from a monitoring-continuity standpoint — if they can't reach an OMS, they buffer locally and retry, then catch up once connectivity returns. No monitoring data is lost during a short OMS interruption, only delayed.

What does need attention is agent failover across OMS nodes:

  • Agents can be configured with a comma-separated list of OMS URLs, so a single agent knows about more than one management server

  • If you're using an SLB VIP as the single agent-facing URL, failover is automatic — the SLB handles routing, and the agent never needs to know a specific OMS node went down

Note: EM CLI syntax below is representative. Exact parameter names vary by OEM version and job type. Always validate against your environment: emcli help <verb> and Oracle's official EM CLI reference.

# Check which OMS URLs an agent currently knows about
emctl getemhome
emctl status agent | grep -i "OMS URL"

# Re-secure an agent against a new OMS/VIP after a DR cutover
emctl secure agent -emdWalletSrcUrl https://dr-oms-vip.example.com:4903/em

The pitfall shows up specifically at DR cutover, when the DR site uses a different VIP than production. If your DR runbook doesn't include a mass agent re-secure step, every agent in the estate silently stops reporting the moment you fail over — and nobody notices until someone asks why a target has been "green" for six hours with no data behind it. Where possible, use the same VIP DNS name across sites so cutover doesn't require touching every agent.

The Anti-Patterns

Software library on local disk. Works fine for a single OMS. The moment you add a second OMS node, a local software library means only one node can actually run software-library-dependent jobs correctly. Validate shared storage before you validate anything else in a multi-OMS build.

No SLB persistence on Agent Upload. Covered above, but worth repeating because it's the most common production issue: without it, you get a "thundering herd" onto one OMS during heartbeat cycles, and it presents as a mysterious performance problem instead of the load balancer misconfiguration it actually is.

OMR backups without Data Guard. A backup strategy is not a DR strategy for a system whose entire job is real-time visibility. A 4-hour restore window is a long time to have zero eyes on a production Oracle estate.

DR site with different OMS hostnames. This forces certificate and wallet rebuilds on cutover, on top of everything else you're already dealing with during a DR event. Standardize the VIP DNS name across sites during initial design, not during the incident.

Skipping the bi-annual DR drill. Every runbook I've reviewed that hadn't been drilled in the last six months had at least one stale step. Not most — every one. The drill is what finds the stale step before a real event does.

What Good Looks Like

A well-architected OEM HA/DR setup looks boring, which is exactly the point. Two or more OMS nodes sit behind a properly configured SLB that load-balances console, agent upload, agent registration, and BI Publisher traffic correctly. The software library lives on shared storage every node can write to. The OMR runs as a 2-node RAC primary with a Data Guard standby at the DR site, sync or async depending on network distance. Agents are configured to fail over automatically through the SLB VIP, and the DR runbook — switchover steps, connect descriptor updates, mass agent re-secure if needed — has been rehearsed within the last six months, not just written once and filed away.

When someone asks "what happens if we lose the OMS," the answer is "nothing, the second node picks it up," not a long pause.

The Bottom Line

OEM watches your Oracle estate, which means OEM's own availability is a Tier 1 concern, not an operational nice-to-have. Multi-OMS HA behind a correctly configured load balancer is the production floor. Adding a Data Guard standby OMR gets you from a backup-restore RTO measured in hours to a switchover measured in minutes. None of the individual pieces are exotic — it's standard Oracle MAA thinking applied to the management tier instead of the application tier. The part that actually determines whether it works during a real event is whether you've rehearsed it.


Next in this series: OEM 24ai Patch Management and Fleet Patching — how Gold Images and Database Lifecycle Management turn a 50-database patch cycle from a multi-week fire drill into a scheduled, repeatable operation.

More from this blog

E

Enterprise Management & OCI Observability | rajeshravi.com

7 posts

Regular deep dives on Oracle Enterprise Manager, OCI Observability & Management, and multicloud monitoring — written by an expert practitioner who has implemented these stacks for hundreds of enterprise customers. Expect version-specific guidance, real-world architecture patterns, and honest takes on what actually works in production.