An Oracle blog about Oracle Enterprise Manager and Oracle Management Cloud

Leveraging Target Properties to Enhance Enterprise Manager Capabilities

Courtney Llamas

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
properties include:

  • Contact
  • Cost Center
  • Customer Support Identifier
  • Department
  • Life Cycle Status (Development,
    Test, Staging, Mission Critical, Production)
  • Line of Business
  • Location
  • Operating System – populated
    by collected configuration data
  • Platform Target Type – populated
    by collected configuration data
  • Target Version – populated
    by collected configuration data

LifeCycle Status

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 
-property_records="MyProdGroup:composite:LifeCycle Status:Production"

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
Property Value

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
      from mgmt$all_target_prop_defs;

Comment                        orcl_gtp_comment
Contact                        orcl_gtp_contact
Center                    orcl_gtp_cost_center
Service Identifier    orcl_gtp_csi
Department                     orcl_gtp_department
of Business               orcl_gtp_line_of_bus
Location                       orcl_gtp_location
System               orcl_gtp_os
Platform                       orcl_gtp_platform
Owner                          udtp_1

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,
       d.property_display_name, p.property_value
mgmt$target t,
          mgmt$target_properties p,
          mgmt$all_target_prop_defs d
     where t.target_guid=p.target_guid
       and p.property_name=d.property_name
p.property_value is not null;

---------------- --------------------- --------------
emrep                oracle_database  Target Version
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.   

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.