Monitoring Oracle Databases

Monitoring Oracle Databases

Servers

Monitoring Oracle Databases

Monitor Oracle database instances in real time. Track availability, session activity, memory usage, query performance, tablespace health, and more from a single view.

Overview

Cloudmon provides deep monitoring for Oracle Database instances running on both Windows and Linux. The Cloudmon agent can be installed directly on the Oracle database server or on a remote machine with network access to the database. Once an instance is added, all Pluggable Databases (PDBs) and their associated Tablespaces are automatically discovered, and detailed metrics are collected at the instance, PDB, and Tablespace level.

Navigate to Servers → Database → Oracle Instance to view all monitored Oracle instances.

Prerequisites

Before registering an Oracle instance, a dedicated monitoring user must be created in the database with the permissions required for Cloudmon to collect metrics. Run the following on the Oracle server:

SQL — Run on Oracle Server
CREATE USER username IDENTIFIED BY "password" CONTAINER=ALL;
GRANT CREATE SESSION TO username CONTAINER=ALL;
GRANT CONNECT TO username CONTAINER=ALL;
GRANT SELECT_CATALOG_ROLE TO username CONTAINER=ALL;
ALTER USER username SET container_data=all container=current;

Replace username and password with your chosen values. The Cloudmon agent can be installed on the Oracle server itself or on a separate remote host with connectivity to the Oracle listener. If using a remote agent, ensure the Oracle listener is accepting remote connections and that the firewall allows traffic on the Oracle port, which defaults to 1521.

Next, install the Cloudmon agent on the system that will perform the monitoring, whether that is the Oracle server itself or a separate remote host. With the agent installed, run the following command on that machine to register the Oracle instance for monitoring:

Linux
./usr/local/cloudmon/agent/cloudmon-agent --run oracle --add-instance
Windows
.C:\Program Files (x86)\Cloudmon\cloudmonAgent.exe --run oracle --add-instance

Adjust the path above if your agent is installed elsewhere. The command walks you through an interactive setup, prompting for the hostname, port, service name, and the monitoring credentials created earlier. Once these details are entered, the agent verifies connectivity to the database and begins collecting and forwarding metrics to the Cloudmon server. The newly registered instance will then appear under Servers → Database → Oracle Instance in the Cloudmon web UI.


This registration process is the same regardless of where the agent lives: installing it directly on the Oracle server keeps things simple, while installing it on a separate host lets it monitor the database remotely over the network. For a remote setup, just make sure the Oracle listener is configured to accept remote connections and that the firewall permits traffic on the Oracle port, which defaults to 1521.

What Cloudmon Monitors

Instance Health and Availability

Cloudmon tracks availability percentage, active session count, uptime, query execution health, and disk I/O in real time. These indicators give teams an immediate read on whether the database is healthy and operating under normal load, without needing to log into the server directly.

Memory Management (SGA and PGA)

Cloudmon monitors both the System Global Area (SGA) and Program Global Area (PGA) in detail. For the SGA, it tracks Buffer Cache Size, Shared Pool Size, Redo Buffers, Physical Reads Per Second, etc. For the PGA, it tracks Total PGA In Use, Cache Hit Percentage, Over Allocation Count, Maximum PGA Allocated, etc.

Oracle's memory architecture is one of the most impactful tuning surfaces in the database. An undersized Buffer Cache drives unnecessary disk reads. A Shared Pool that is too small forces Oracle to repeatedly parse SQL instead of reusing cached execution plans. High PGA Over Allocation means sort and hash join operations are spilling to disk, degrading analytical and batch workloads significantly. Monitoring both SGA and PGA together gives DBAs the visibility needed to tune memory allocation before performance issues reach end users.

Tablespace Management

Cloudmon discovers and monitors all tablespaces within the instance, tracking their status, allocation method, extent management type, and space utilisation. A full tablespace in Oracle will immediately block any new writes to it, causing application errors or transaction failures with no warning to end users. Proactive tablespace monitoring allows teams to add datafiles or enable autoextend before capacity becomes a critical incident.

Pluggable Database (PDB) Monitoring

In Oracle's multitenant architecture, each Pluggable Database is an isolated database sharing the underlying Container Database infrastructure. Cloudmon automatically discovers and lists all PDBs within an instance. This gives teams visibility into which pluggable database is consuming resources or experiencing issues, without losing sight of the others running on the same instance.

Alarms

Cloudmon supports threshold-based alarms on any Oracle metric collected at the instance, PDB, or tablespace level, including session count, tablespace utilisation, PGA over allocation, buffer cache hit ratio, and disk I/O. Each alarm is built around a simple IF/THEN model, where you select a metric, set a threshold, and define what happens when it is breached. Learn more.

Troubleshooting

SymptomLikely CauseFix
Instance not appearing in the listThe instance has not been registered, or the agent cannot connect to the databaseRe-run the registration command and verify the hostname, port, service name, and credentials
High Hard Parse Per SecondApplications are not using bind variables, forcing Oracle to parse each SQL statement as uniqueReview application SQL and enforce use of bind variables to reduce parse overhead and latch contention
Low Buffer Cache Hit RatioThe SGA Buffer Cache is undersized for the current workloadReview SGA metrics and increase the Buffer Cache Size in the Oracle memory configuration
Tablespace running out of spaceData growth has consumed most of the tablespace allocationAdd a datafile to the tablespace or enable autoextend to prevent write failures
High PGA Over Allocation CountThe PGA target is too small, causing sort operations to spill to diskIncrease PGA_AGGREGATE_TARGET in the Oracle configuration