Do you still maintain a spreadsheet with Database or Server contact or business unit ownership? In Oracle Enterprise Manager 12c (EM) Target
Properties allow you to store descriptive target information, such as Contact
or Location, which can then be used in dynamic/administration group definition,
reports, incident rules and notifications. This blog will show you how you can better leverage the features of EM to store your configuration data and utilize it to the fullest extent.
The out-of-the-box target
The LifeCycle Status target property has a special role within EM 12c. The values are restricted to one of the predefined options: Development, Test, Staging, Production, Mission Critical. The value of this property is used by EM when it is under heavy load in prioritizing incoming alerts and data. Mission Critical and Production targets are given the highest priority so that alerts always get loaded. Targets of Development or Test status may be asked to "back off" until the load returns to a manageable level. You can not add to these values, but you can modify the display name with EM CLI. For example, you could use the command below to rename the Test status to QA.
$ emcli modify_lifecycle_stage_name -name="Test" -new_name="QA"
Setting Target Properties
To set target properties on an individual target, you can select the
target menu (i.e. Host, Oracle Database) then select Target Setup / Properties and click the Edit button. This will provide an input
screen such as the following:
As you can see, the Operating
System, Platform, Target Version and Customer Support Identifier are not
editable. These are
inherited from settings elsewhere or through configuration data collected by EM.
The most efficient time to set target
properties is when you’re discovering or promoting a new target. You will see a button Set Global Target Properties which will set the target properties
for all selected targets.
This will open a dialog box where you can set the target properties for all selected targets.
If you're unable to set the
properties while discovering a large number of databases, your best bet is to bulk set target
properties using EM’s Command Line Interface (EM CLI). In the example below we set the group MyProdGroup to a LifeCycle Status of Production. The flag –propagate_to_members can be used to
cascade target properties to a targets members, such as a group, domain or
cluster. In this example, all members of
MyProdGroup would have a LifeCycle
Status of Production.
$ emcli set_target_property_value
Using EM CLI can be very helpful
when setting target properties on a large number of targets, or when you want
to modify a large number of targets (e.g. changing Department of Support to Operations). For a sample
script that can be leveraged for setting target properties in bulk please see
the previously published blog Using EM CLI for mass update of Lifecycle Status
User Defined Target Properties
EM also allows you to create
custom target properties, or User Defined Target Properties. While you cannot use custom target properties
in dynamic or administration group selection criteria, you can use them for reporting and
notifications. Creating custom target properties
is accomplished by using EM CLI and providing the property name and the target
type it applies to. While it is possible to set a
custom property for just one target type, it is recommended to standardize these custom properties across all target types as they are stored in a sequential fashion (udtp_1,
udtp_2, etc). If you set per target
type, udtp_1 may be Owner on Host targets and Function on Oracle Database
targets. This can cause confusion in
reporting and notifications as you will see later.
To add a custom target property
for Owner, we use the EM CLI command below:
$ emcli add_target_property –target_type=”*” –property=”Owner”
Next, we’re going to set the
value of the Owner target property to Courtney
for a particular target (emrep) of target type (oracle_database).
$ emcli set_target_property_value
On the following screen you can
see that we’ve got a new property “Owner” with a value set to Courtney.
Utilizing Target Properties
All target properties are stored
in the MGMT_ALL_TARGET_PROPS table with corresponding internal names (udtp_1,
udtp_2, etc.). The following query will
show you what the internal names are:
SQL> select property_display_name, property_name
Service Identifier orcl_gtp_csi
of Business orcl_gtp_line_of_bus
Now you can access the custom target properties through their internal names in
custom notification scripts. For instance, OS Command notifications can call
the environment variables such %UDTP_1%, %ORCL_GTP_LIFECYCLE_STATUS%, etc.
Properties can also be accessed
in reports against the MGMT$ view tables, which will allow you to build custom
reports that show additional target information such as Owner or LifeCycle
select t.target_name, t.target_type,
p.property_value is not null;
TARGET_NAME TARGET_TYPE PROPERTY_DISPLAY_NAME PROPERTY_VALUE
---------------- --------------------- --------------
emrep oracle_database Target Version 220.127.116.11.0
emrep oracle_database Owner Courtney
emrep oracle_database Operating System Linux
emrep oracle_database Platform x86_64
By leveraging the out-of-the-box
Target Properties and the User Defined Target Properties, you can easily extend
the flexibility of EM’s groups, incident rules, reports and notifications to suit your business needs. For additional information on Target Properties used in Administration Groups see the Oracle Enterprise Manager Cloud Control 12c Administrator's Guide.