Oracle Enterprise Manager 13c was recently launched and among the new features it brings there is a new target type. This was something requested by many people since long time and now it is here: the Database Service target type. OEM 13c can now monitor the Oracle database services, be it a single instance database or a Real Application Cluster. I noticed that discovering this target type is not enabled by default when you install OEM 13c so after reaching out to Oracle Support I managed to enable the target discovery and discover the database services.
The OMS property that controls database services discovery is called
oracle.sysman.db.discovery.dbservice and when set it supports the following values:
- ALL - discover all database services; this will also discover system services like SYS$BACKGROUND which is used by the background processes only and SYS$USERS service which is the default service for user sessions that are not associated with services
- NON_SYS - discover all database services excluding SYS$USERS and SYS$BACKGROUND system services
- NONE - do not discover the database services
You can use EMCTL or the OEM web console to set the property. The OMS does not have to be restarted for this change to take effect.
<MIDDLEWARE HOME>/bin/emctl set property -name oracle.sysman.db.discovery.dbservice -value "ALL" Oracle Enterprise Manager Cloud Control 13c Release 1 Copyright (c) 1996, 2015 Oracle Corporation. All rights reserved. SYSMAN password: Property oracle.sysman.db.discovery.dbservice has been set to value ALL for all Management Servers OMS restart is not required to reflect the new property value
For setting the property through the OEM13c console you have to go to Setup -> Manage Cloud Control -> Management Servers; then from the Management Servers menu choose Configuration properties and set the value you want for the
oracle.sysman.db.discovery.dbservice configuration property. As an extra feature, on this page you can see the modification history of this property.
Once this property is enabled, for every new database instance target promoted the database services will be added automatically to OEM.
If you have already added database instance targets and OMS was not enabled to discover the database service targets or you just want to trigger the database services discovery manually you can use the "Discover Oracle Database Service Targets" job. From the Enterprise Menu, select Job -> Activity and then Create Job. Select "Discover Oracle Database Service Targets" as the job type, add the database target for which the service discovery should run and then submit the job. This will look at all the services registered with the listener and add them as individual targets in OEM 13c. You will see the output showing what services have been discovered by this job.
Working with the database service target with emcli:
emcli get_targets -target="oracle_dbservice" Status Status Target Type Target Name ID 1 Up oracle_dbservice OEM_13c_New_Target_Type.cern.ch 1 Up oracle_dbservice SYSBACKGROUND 1 Up oracle_dbservice Just_a_Database_Service.cern.ch 1 Up oracle_dbservice SYSUSERS emcli get_target_types -plugin="oracle.sysman.db" Display Target Type | Target Type | Is Composite (Y/N) -------------------------------- | ------------------------ | ----------------- … Oracle Database Service | oracle_dbservice | N … emcli delete_target -type="oracle_dbservice" -name="Just_a_Database_Service.cern.ch" -async Target "Just_a_Database_Service.cern.ch:oracle_dbservice" deleted successfully
Many thanks to CERN Database Services colleagues for discussions and relevant work on Oracle Enterprise Manager 13c and in particular to Liana Delia Lupsa, Nicolas Bernard Marescaux, Luis Rodriguez Fernandez and Nilo Segura Chinchilla.