Cloud Control Administrator's Guide OEM 01 PDF 132 Admin

User Manual:

Open the PDF directly: View PDF PDF.
Page Count: 1232

DownloadCloud Control Administrator's Guide OEM 01 PDF 132 Admin
Open PDF In BrowserView PDF
Oracle® Enterprise Manager
Cloud Control Administrator's Guide

13c Release 2
E74458-08
October 2017

Oracle Enterprise Manager Cloud Control Administrator's Guide, 13c Release 2
E74458-08
Copyright © 2016, 2017, Oracle and/or its affiliates. All rights reserved.
This software and related documentation are provided under a license agreement containing restrictions on
use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your
license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify,
license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means.
Reverse engineering, disassembly, or decompilation of this software, unless required by law for
interoperability, is prohibited.
The information contained herein is subject to change without notice and is not warranted to be error-free. If
you find any errors, please report them to us in writing.
If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on
behalf of the U.S. Government, then the following notice is applicable:
U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software,
any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are
"commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agencyspecific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the
programs, including any operating system, integrated software, any programs installed on the hardware,
and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.
No other rights are granted to the U.S. Government.
This software or hardware is developed for general use in a variety of information management applications.
It is not developed or intended for use in any inherently dangerous applications, including applications that
may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you
shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its
safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this
software or hardware in dangerous applications.
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of
their respective owners.
Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are
used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron,
the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro
Devices. UNIX is a registered trademark of The Open Group.
This software or hardware and documentation may provide access to or information about content, products,
and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly
disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise
set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be
responsible for any loss, costs, or damages incurred due to your access to or use of third-party content,
products, or services, except as set forth in an applicable agreement between you and Oracle.

Contents
Preface
Audience

xli

Documentation Accessibility

xli

Related Documents

xli

Conventions

xli

Part I
1

Monitoring and Managing Targets

Enterprise Monitoring
1.1

Monitoring Overview

1-1

1.2

Comprehensive Out-of-Box Monitoring

1-1

1.3

Monitoring: Basics

1-2

1.3.1

Metric Thresholds: Determining When a Monitored Condition is an Issue
1-3

1.4

1.5

1.3.2

Metric Baselines: Determining Valid Metric Thresholds

1-3

1.3.3

Advanced Threshold Management

1-4

1.3.4

Events: Defining What Conditions are of Interest

1-5

1.3.5

Corrective Actions: Resolving Issues Automatically

1-5

1.3.6

Metric Extensions: Customizing Monitoring

1-5

1.3.7

Blackouts and Notification Blackouts

1-6

Monitoring: Advanced Setup
1.4.1

Monitoring Templates

1-7

1.4.2

Administration Groups and Template Collections

1-7

1.4.3

Customizing Alert Messages

1-8

Notifications
1.5.1

1.6

1-7

Customizing Notifications

Managing Events, Incidents, and Problems

1-10
1-11
1-11

1.6.1

Incident Manager

1-12

1.6.2

Incident Rules and Rule Sets

1-13

1.6.3

Connectors

1-14

iii

1.7

2

Accessing Monitoring Information

1-15

Using Incident Management
2.1

Management Concepts
2.1.1

Event Management

2-2

2.1.2

Incident Management

2-5

2.1.2.1

Working with Incidents

2-6

2.1.2.2

Incident Composed of a Single Event

2-9

2.1.2.3

Incident Composed of Multiple Events

2-10

2.1.2.4

How are Incidents Created?

2-11

2.1.3

Problem Management

2-11

2.1.4

Rule Sets

2-12

2.1.4.1

Out-of-Box Rule Sets

2-13

2.1.4.2

Rule Set Types

2-14

2.1.4.3

Rules

2-15

Incident Manager

2-19

2.1.5

2.1.5.1
2.1.6
2.2

Views

Summing Up

Setting Up Your Incident Management Environment
2.2.1

Setting Up Your Monitoring Infrastructure

2.2.1.1

2.3

2-2

Rule Set Development

2-20
2-20
2-22
2-22
2-23

2.2.2

Setting Up Administrators and Privileges

2-26

2.2.3

Monitoring Privileges

2-29

2.2.4

Setting Up Rule Sets

2-32

2.2.4.1

Creating a Rule Set

2-32

2.2.4.2

Creating a Rule to Create an Incident

2-33

2.2.4.3

Creating a Rule to Manage Escalation of Incidents

2-34

2.2.4.4

Creating a Rule to Escalate a Problem

2-35

2.2.4.5

Testing Rule Sets

2-36

2.2.4.6

Subscribing to Receive Email from a Rule

2-38

2.2.4.7

Receiving Email for Private Rules

2-39

Working with Incidents

2-40

2.3.1

Finding What Needs to be Worked On

2-41

2.3.2

Searching for Incidents

2-42

2.3.3

Setting Up Custom Views

2-43

2.3.3.1

Incident Dashboard

2-44

2.3.4

Sharing/Unsharing Custom Views

2-46

2.3.5

Responding and Working on a Simple Incident

2-47

2.3.6

Responding to and Managing Multiple Incidents, Events and Problems
in Bulk

2-48

Searching My Oracle Support Knowledge

2-50

2.3.7

iv

2.3.8

Submitting an Open Service Request (Problems-only)

2-50

2.3.9

Suppressing Incidents and Problems

2-51

2.3.10

Managing Workload Distribution of Incidents

2-51

2.3.11

Reviewing Events on a Periodic Basis

2-52

2.3.11.1
2.4

Creating an Incident Manually

Advanced Topics
2.4.1

Automatic Diagnostic Repository (ADR): Incident Flood Control

2-52
2-53
2-53

2.4.1.1

Working with ADR Diagnostic Incidents Using Incident Manager

2-53

2.4.1.2

Incident Flood Control

2-53

Defining Custom Incident Statuses

2-55

2.4.2

2.4.2.1

Creating a New Resolution State

2-55

2.4.2.2

Modifying an Existing Resolution State

2-56

2.4.3

Clearing Stateless Alerts for Metric Alert Event Types

2-56

2.4.4

Automatically Clearing "Manually Clearable" Events

2-58

2.4.5

User-reported Events

2-58

2.4.5.1

Format

2-59

2.4.5.2

Options

2-59

2.4.5.3

Examples

2-60

2.4.6

Additional Rule Applications

2.4.6.1

2-61

Setting Up a Rule to Send Different Notifications for Different
Severity States of an Event

2-61

Creating a Rule to Notify Different Administrators Based on the
Event Type

2-62

2.4.6.3

Creating a Rule to Create a Ticket for Incidents

2-63

2.4.6.4

Creating a Rule to Send SNMP Traps to Third Party Systems

2-64

2.4.6.2

2.4.7

Exporting and Importing Incident Rules

2-65

2.4.7.1

Exporting Rule Sets using the Enterprise Manager Console

2-65

2.4.7.2

Importing Rule Sets using the Enterprise Manager Console

2-66

2.4.7.3

Importing Rule Sets Using EM CLI

2-66

2.4.7.4

Exporting Rule Sets Using EM CLI

2-67

2.4.8

Creating Corrective Actions for Events

2-67

2.4.9

Compressing Multiple Events into a Single Incident

2-70

2.4.10

Event Prioritization

2-81

2.4.11

Root Cause Analysis (RCA) and Target Down Events

2-82

2.4.11.1

How RCA Works

2-82

2.4.11.2

Leveraging RCA Results in Incident Rule Sets

2-84

2.4.11.3

Leveraging RCA Results in Incident Manager

2-85

2.4.11.4

Leveraging RCA Results in the System Dashboard

2-86

2.4.11.5

Creating a Rule to Update Incident Priority for Non-symptom
Events

2-86

2.4.11.6

Creating Incidents On Non-symptom Events

2-87

2.4.11.7

Introducing a Time Delay

2-90

v

3

2.5

Moving from Enterprise Manager 10/11g to 12c and Greater

2-90

2.6

Monitoring: Common Tasks

2-91

2.6.1

Setting Up an Email Gateway

2-91

2.6.2

Sending Email for Metric Alerts

2-93

2.6.3

Sending SNMP Traps for Metric Alerts

2-96

2.6.4

Sending Events to an Event Connector

2-98

2.6.5

Sending Email to Different Email Addresses for Different Periods of the
Day

2-101

Using Notifications
3.1

Setting Up Notifications

3-2

3.1.1

Setting Up a Mail Server for Notifications

3-2

3.1.2

Setting Up Email for Yourself

3-4

3.1.2.1

Defining Email Addresses

3-4

3.1.2.2

Setting Up a Notification Schedule

3-5

3.1.2.3

Subscribe to Receive Email for Incident Rules

3-6

3.1.3

Setting Up Email for Other Administrators

3-8

3.1.4

Email Customization

3-9

3.1.4.1
3.1.5

Email Customization Reference

Setting Up Repeat Notifications

3-9
3-12

3.2

Extending Notification Beyond Email

3-13

3.3

Sending Notifications Using OS Commands and Scripts

3-13

3.4

3.5

3.3.1

Script Examples

3-16

3.3.2

Migrating pre-12c OS Command Scripts

3-18

3.3.2.1

Migrating Metric Alert Event Types

3-19

3.3.2.2

Migrating Target Availability Event Types

3-20

3.3.2.3

Migrating Job Status Change Event Types

3-20

3.3.2.4

Migrating Corrective Action-Related OS Scripts

3-21

3.3.2.5

Notification Type Mapping

3-22

Sending Notifications Using PL/SQL Procedures

3-22

3.4.1

Defining a PL/SQL-based Notification Method

3-22

3.4.2

Migrating Pre-12c PL/SQL Advanced Notification Methods

3-30

3.4.2.1

Mapping for MGMT_NOTIFY_SEVERITY

3-30

3.4.2.2

Mapping for MGMT_NOTIFY_JOB

3-34

3.4.2.3

Mapping for MGMT_NOTIFY_CORRECTIVE_ACTION

3-35

Sending SNMP Traps to Third Party Systems

3-36

3.5.1

SNMP Version 1 Versus SNMP Version 3

3-37

3.5.2

Working with SNMP V3 Trap Notification Methods

3-37

3.5.2.1

Configuring the OMS to Send SNMP Trap Notifications

3-37

3.5.2.2

Creating/Editing an SNMP V3 Trap Notification Method

3-38

3.5.2.3

Editing a User Security Model Entry

3-39

vi

3.5.2.4

Viewing Available SNMP V3 Trap Notification Methods

3-41

3.5.2.5

Deleting an SNMP V3 Trap Notification Method

3-41

3.5.3

Creating an SNMP V1 Trap

3-41

3.5.4

SNMP Traps: Moving from Previous Enterprise Manager Releases to
12c and Greater

3-44

3.6

Management Information Base (MIB)

3-45

3.6.1

About MIBs

3-45

3.6.2

MIB Definition

3-45

3.6.3

Reading the MIB Variable Descriptions

3-46

3.6.3.1
3.7

Variable Name

Passing Corrective Action Status Change Information
3.7.1
3.7.2

3.8

3-46
3-47

Passing Corrective Action Execution Status to an OS Command or
Script

3-47

Passing Corrective Action Execution Status to a PLSQL Procedure

3-48

Passing Job Execution Status Information

3-49

3.8.1

Passing Job Execution Status to a PL/SQL Procedure

3-49

3.8.2

Passing Job Execution Status to an OS Command or Script

3-52

3.9

Passing User-Defined Target Properties to Notification Methods

3.10

Notification Reference

3-52
3-53

3.10.1

EMOMS Properties

3-53

3.10.2

Passing Event, Incident, Problem Information to an OS Command or
Script

3-57

3.10.2.1

Environment Variables Common to Event, Incident and Problem

3-57

3.10.2.2

Event Notification-Specific Environment Variables

3-59

3.10.2.3

Environment Variables Specific to Event Types

3-61

3.10.2.4

Environment Variables Specific to Incident Notifications

3-63

3.10.2.5

Environment Variables Specific to Problem Notifications

3-65

3.10.2.6

Environment Variables Common to Incident and Problem
Notifications

3-65

3.10.3

Passing Information to a PL/SQL Procedure

3.10.3.1
3.10.4

3.11

Notification Payload Elements Specific to Event Types

Troubleshooting Notifications

3-67
3-75
3-79

3.10.4.1

General Setup

3-79

3.10.4.2

Notification System Errors

3-79

3.10.4.3

Notification System Trace Messages

3-79

3.10.4.4

Email Errors

3-81

3.10.4.5

OS Command Errors

3-81

3.10.4.6

SNMP Trap Errors

3-82

3.10.4.7

PL/SQL Errors

3-82

System Broadcasts

3-83

vii

4

Using Blackouts and Notification Blackouts
4.1

4.2

Blackouts and Notification Blackouts
4.1.1

About Blackouts

4-1

4.1.2

About Notification Blackouts

4-2

Working with Blackouts/Notification Blackouts
Creating Blackouts/Notification Blackouts

4-3

4.2.2

Editing Blackouts/Notification Blackouts

4-4

4.2.3

Viewing Blackouts/Notification Blackouts

4-4

4.2.4

Purging Blackouts/Notification Blackouts That Have Ended

4-4

4.3

Controlling Blackouts Using the Command Line Utility

4-5

4.4

About Blackouts Best Effort

4-7

When to Use Blackout Best Effort

4-7

Managing Groups
5.1

5.2

5.3

6

4-3

4.2.1

4.4.1

5

4-1

Introduction to Groups

5-1

5.1.1

Overview of Groups

5-1

5.1.2

Overview of Privilege Propagating Groups

5-2

5.1.3

Overview of Dynamic Groups

5-3

5.1.4

Overview of Administration Groups

5-4

5.1.5

Choosing Which Type of Group To Use

5-4

Managing Groups

5-5

5.2.1

Creating and Editing Groups

5-5

5.2.2

Creating Dynamic Groups

5-6

5.2.3

Adding Members to Privilege Propagating Groups

5-8

5.2.4

Converting Conventional Groups to Privilege Propagating Groups

5-8

5.2.5

Viewing and Managing Groups

5-9

5.2.6

Overview of Group Charts

5-10

5.2.7

Overview of Group Members

5-11

5.2.8

Viewing Group Status History

5-11

5.2.9

About the System Dashboard

5-11

Using Out-of-Box Reports

5-13

Using Administration Groups
6.1

What is an Administration Group?
6.1.1

Developing an Administration Group

6.2

Planning an Administrative Group

6.3

Implementing Administration Groups and Template Collections

6-1
6-3
6-3
6-10

6.3.1

Creating the Administration Group Hierarchy

6-11

6.3.2

Accessing the Administration Group Home Page

6-12

viii

6.3.3

Defining the Hierarchy

6-12

6.3.4

Defining Template Collections

6-17

6.3.4.1

Required Privileges

6-18

6.3.4.2

Corrective Action Credentials

6-19

6.3.5

6.4

7

Associating Template Collections with Administration Groups

6-20

6.3.5.1

Associating a Template Collection with an Administration Group

6-20

6.3.5.2

Searching for Administration Groups

6-21

6.3.5.3

Setting the Global Synchronization Schedule

6-23

6.3.5.4

When Template Collection Synchronization Occurs

6-24

6.3.5.5

Viewing Synchronization Status

6-25

6.3.5.6

Group Member Type and Synchronization

6-25

6.3.5.7

System Targets and Administration Groups

6-26

6.3.5.8

Disassociating a Template Collection from a Group

6-26

6.3.5.9

Viewing Aggregate (Group Management) Settings

6-26

6.3.5.10

Viewing the Administration Group Homepage

6-27

6.3.5.11

Identifying Targets Not Part of Any Administration Group

6-27

Changing the Administration Group Hierarchy

6-28

6.4.1

Adding a New Hierarchy Level

6-29

6.4.2

Removing a Hierarchy Level

6-29

6.4.3

Merging Administration Groups

6-29

6.4.4

Removing Administration Groups

6-33

Using Monitoring Templates
7.1

About Monitoring Templates

7-1

7.2

Definition of a Monitoring Template

7-2

7.3

Default Templates (Auto Apply Templates)

7-2

7.4

Viewing a List of Monitoring Templates

7-2

7.5

Creating a Monitoring Template

7-3

7.6

Editing a Monitoring Template

7-4

7.7

Applying Monitoring Templates to Targets

7-5

7.7.1

Applying a Monitoring Template

7-5

7.7.2

Monitoring Template Application Options

7-5

7.8

7.7.2.1

Apply Options

7-6

7.7.2.2

Metrics with Key Value Settings

7-6

Comparing Monitoring Templates with Targets
7.8.1

7.9

When is a metric between a template and a target considered
"different"?

Comparing Metric Settings Using Information Publisher

7-8
7-8
7-9

7.10

Exporting and Importing Monitoring Templates

7-10

7.11

Upgrading Enterprise Manager: Comparing Monitoring Templates

7-11

ix

7.12

8

Changing the Monitoring Template Apply History Retention Period

Using Metric Extensions
8.1

What are Metric Extensions?

8-1

8.2

Metric Extension Lifecycle

8-3

8.3

Working with Metric Extensions

8-5

8.3.1

Administrator Privilege Requirements

8-5

8.3.2

Granting Create Metric Extension Privilege

8-6

8.3.3

Managing Administrator Privileges

8-6

8.3.4

Managing Administrator Access to Metric Extensions

8-7

8.3.4.1

Granting Full/Edit Privileges on a Metric Extension

8-7

8.3.4.2

Revoking Access Privileges on a Metric Extension

8-7

8.3.4.3

Transferring Metric Extension Ownership

8-8

8.3.5

Creating a New Metric Extension

8.3.6

Creating a New Metric Extension (Create Like)

8-13

8.3.7

Editing a Metric Extension

8-14

8.3.8

Creating the Next Version of an Existing Metric Extension

8-14

8.3.9

Importing a Metric Extension

8-15

8.4

8.5

8.6

8-8

8.3.10

Exporting a Metric Extension

8-15

8.3.11

Deleting a Metric Extension

8-16

8.3.12

Deploying Metric Extensions to a Group of Targets

8-16

8.3.13

Creating an Incident Rule to Send Email from Metric Extensions

8-17

8.3.14

Updating Older Versions of Metric Extensions Already Deployed to a
Group of Targets

8-17

Creating Repository-side Metric Extensions

8-17

8.3.15

9

7-11

Adapters

8-21

8.4.1

OS Command Adapter - Single Column

8-22

8.4.2

OS Command Adapter- Multiple Values

8-24

8.4.3

OS Command Adapter - Multiple Columns

8-25

8.4.4

SQL Adapter

8-26

8.4.5

SNMP (Simple Network Management Protocol) Adapter

8-28

8.4.6

JMX Adapter

8-28

Converting User-defined Metrics to Metric Extensions

8-29

8.5.1

Overview

8-29

8.5.2

Commands

8-30

Metric Extension Command Line Verbs

8-34

Advanced Threshold Management
9.1

Accessing the Advanced Threshold Management Page

9-1

9.2

Adaptive Thresholds

9-1

x

9.2.1

Registering Adaptive Threshold Metrics

9-2

9.2.2

Configuring Adaptive Thresholds

9-6

9.2.3

Determining whether Adaptive Thresholds are Correct

9-7

9.2.4

Testing Adaptive Metric Thresholds

9-9

9.2.5

Deregistering Adaptive Threshold Metrics

9-10

9.2.6

Setting Adaptive Thresholds using Monitoring Templates

9-10

9.3

Time-based Static Thresholds
9.3.1

Registering Time-based Static Thresholds

9-11

9.3.2

Deregistering Time-based Static Thresholds

9-13

9.4

10

9-11

Determining What is a Valid Metric Threshold

9-14

Utilizing the Job System and Corrective Actions
10.1

Job System Purpose and Overview

10-1

10.1.1

Changing Job Activity Summary Table Views

10-2

10.1.2

Job Searches

10-3

10.1.2.1

Saving Job Searches

10-3

10.1.2.2

Editing Saved Job Searches

10-3

10.1.2.3

Importing/Exporting Saved Job Searches

10-4

10.1.3

10-4

10.1.3.1

Job Executions

10-4

10.1.3.2

Job Runs

10-4

10.1.4
10.2

What Are Job Executions and Job Runs?

Operations on Job Executions and Job Runs

Preliminary Considerations

10-4
10-5

10.2.1

Administrator Roles

10-5

10.2.2

Creating Scripts

10-6

10.2.3

Sharing Job Responsibilities

10-6

10.2.4

Submitting Jobs for Groups

10-6

10.3

Creating Jobs

10-7

10.3.1

Selecting a Job Type

10-7

10.3.2

Creating an OS Command Job

10-7

10.3.2.1

Specifying a Single Operation

10-13

10.3.2.2

Specifying a Script

10-13

10.3.2.3

Access Level Rules

10-15

Creating a SQL Script Job

10-15

10.3.3

10.3.3.1

Specifying Targets

10-15

10.3.3.2

Specifying Options for the Parameters Page

10-16

10.3.3.3

Specifying Host and Database Credentials

10-16

10.3.3.4

Returning Error Codes from SQL Script Jobs

10-17

10.3.4

Creating a Multi-task Job

10.3.4.1

Job Capabilities

10-18
10-18

xi

10.3.4.2

Specifying Targets for a Multi-task Job

10-18

10.3.4.3

Adding Tasks to the Job

10-19

10.4

Viewing and Analyzing Job Status

10-19

10.5

Generating Job Event Criteria

10-21

10.5.1

Enabling Events For Job Status, Status Severity, and Targetless Jobs

10-22

10.5.2

Adding Targets To Generate Events For Job Status

10-23

10.6

Creating Event Rules For Job Status Change

10-23

10.6.1

Creating Job Status Change Event Rules For Jobs

10-23

10.6.2

Creating Job Status Change Event Rules For Targets

10-27

10.7

Using Diagnostic Tools

10-31

10.7.1

Enabling Job Logging

10-31

10.7.2

Viewing Job Logging

10-31

10.7.3

Debugging a Failed Job

10-32

10.7.4

Checking for Incidents Related to a Failed Job

10-32

10.7.5

Packaging an Incident Generated by a Job Step

10-33

10.7.6

Viewing Remote Log Files

10-34

10.7.7

Diagnosing Problems with Cloud Control Management Tools

10-34

10.8

10.7.7.1

Health Overview

10-34

10.7.7.2

Repository Home Page

10-36

10.7.7.3

Management Services and Repository: All Metrics

10-36

10.7.7.4

OMS and Repository: Diagnostic Metrics

10-37

10.7.7.5

OMS and Repository: Charts

10-37

10.7.7.6

Management Servers and Job Activity Details Pages

10-37

10.7.7.7

Job System Reports

10-38

Creating Corrective Actions

10-38

10.8.1

Providing Credentials

10-39

10.8.2

Creating Corrective Actions for Metrics

10-39

10.8.3

Creating a Library Corrective Action

10-41

10.8.4

Specifying Access to Corrective Actions

10-41

10.8.4.1

Defining or Modifying Access

10-41

10.8.4.2

Access Level Rules

10-42

10.8.5

Setting Up Notifications for Corrective Actions

10-42

10.8.6

Providing Agent-side Response Actions

10-43

10.8.6.1

Specifying Commands and Scripts

10-44

10.8.6.2

Using Target Properties in Commands

10-44

10.8.6.3

Using Advanced Capabilities

10-45

10.8.7

Viewing the Details of a Corrective Action Execution

10-45

xii

11

Monitoring Access Points Configured for a Target
11.1

Introduction to Monitoring Access Points

11-1

11.2

Viewing a List of Access Points Configured for a Target

11-3

11.3

Deleting Access Points Configured for a Target

11-3

11.4

Viewing the Capability Metric Map for a Target

11-3

11.5

Viewing the Best Access Point Implementers (and their History) for Various
Operations Supported for a Target

11-5

Modifying or Reconfiguring the Monitoring Properties of the Access Points
Configured for a Target

11-5

EM CLI Verbs for Managing the Access Points Configured for a Target

11-6

11.6
11.7

12

Always-On Monitoring
12.1

Prerequisites

12.1.1

Installing the Always-On Monitoring Repository Database

12-1
12-2

12.1.1.1

Database Sizing

12-2

12.1.1.2

Database Character Set Definition

12-5

12.1.2

Creating the Always-On Monitoring Repository User

12.1.2.1

Granting Required Privileges to the Always-On Monitoring
Schema Owner

12-6
12-6

12.2

Best Practices

12-7

12.3

Installing Always-On Monitoring

12-7

12.3.1

Installing Always-On Monitoring from an Enterprise Manager Software
Distribution

12-8

12.3.2

Installing Always-On Monitoring from Self-Update

12-8

12.3.3

Installing Multiple Always-On Monitoring Instances

12-12

12.4

Configuring Always-On Monitoring

12-12

12.4.1

Saving the Em Key

12-12

12.4.2

Using the Always-On Monitoring Configuration Assistant (EMSCA)

12-13

12.4.3

Removing the Em Key

12-17

12.4.4

Configuring Email Servers in Enterprise Manager

12-17

12.4.5

Configuring Downtime Contacts in Enterprise Manager

12-17

12.4.6

Synchronizing Always-On Monitoring with Enterprise Manager for the
First Time

12-20

12.4.7

Configuring Enterprise Manager to Work with Always-On Monitoring

12-21

12.4.8

Enabling Notifications

12-21

12.4.9

Verifying the Always-On Monitoring Upload URL on Enterprise
Manager

12-22

12.5

Controlling the Service

12.5.1

Always-On Monitoring Commands

12-23
12-24

12.6

Updating Always-On Monitoring

12-26

12.7

Data Maintenance

12-27

xiii

12.8

Controlling Always-On Monitoring Configuration Settings

12-27

12.9

Getting Performance Information

12-28

12.10

Modifiable Always-On Monitoring Properties

12-28

12.11

Creating an SSO Wallet and JKS for CA Certificates

12-30

12.12

Diagnosing Problems

12-30

12.13

High Availability and Disaster Recovery

12-31

12.13.1

12-31

12.13.1.1

Shared Configuration Storage for the Multiple Instances

12-32

12.13.1.2

Notification Queues for Tracking Incoming Alerts

12-32

12.13.1.3

Task Scheduler System

12-33

12.13.1.4

Configuring an SLB

12-33

12.13.2

Always-On Monitoring Disaster Recovery

12-33

12.13.3

Setting Up Multiple Always-On Monitoring Instances

12-34

12.14

Uninstalling Always-On Monitoring

12-35

12.15

Configuring the Always-On Monitoring Application for Secure
Communication Using the TLSv1.2 Protocol

12-36

Part II
13

Running Multiple Always-On Monitoring Instances

Discovery

Discovering and Adding Host and Non-Host Targets
13.1

Overview of Discovering and Adding Targets

13.1.1

Understanding Discovery Terminology

13-1
13-1

13.1.1.1

What are Targets and Managed Targets?

13-1

13.1.1.2

What is Discovery?

13-2

13.1.1.3

What is Promotion?

13-2

13.1.2

Options for Discovering Targets

13-3

13.1.3

Discovery and Monitoring in Enterprise Manager Lifecycle

13-4

13.1.4

Discovery and Monitoring Process

13-5

13.2

Discovering and Adding Host Targets

13.2.1

13-7

13.2.1.1

Prerequisites for Autodiscovering Host Targets

13-7

13.2.1.2

Setting Up Autodiscovery of Host Targets

13-8

13.2.2
13.3

Configuring Autodiscovery of Host Targets

13-7

Adding Host Targets Using the Manual Guided Discovery Process

Discovering and Adding Non-Host Targets

13-11
13-11

13.3.1

Configuring Autodiscovery of Non-Host Targets

13-12

13.3.2

Adding Non-Host Targets Using the Guided Discovery Process

13-14

13.3.3

Adding Non-Host Targets By Using the Declarative Process

13-15

13.4

Discovering and Promoting Oracle Homes

13-16

13.5

Retrieving Deleted Targets

13-20

13.5.1

Retrieving Deleted Target Types

13-20

xiv

13.5.2

14

Retrieving Deleted Host and Corresponding Management Agent
Targets

13-21

Discovering and Adding Database Targets
14.1

Enabling Autodiscovery of Database Targets

14-1

14.2

Discovering and Adding Container Database and Pluggable Database
Targets

14-2

14.2.1

Discovering CDB and PDB Targets Using Autodiscovery

14-2

14.2.2

Adding CDB and PDB Targets Using the Guided Discovery Process

14-5

14.2.3

Adding CDB and PDB Targets By Using the Declarative Process

14-8

14.3

Discovering and Adding Cluster Database Targets

14.3.1

Discovering Cluster Database Targets Using Autodiscovery

14.3.2

Adding Cluster Database Targets Using the Guided Discovery Process

14-9
14-10
14-11

14.3.3
14.4

Adding Cluster Database Targets By Using the Declarative Process

Discovering and Adding Single Instance Database Targets

14-14
14-16

14.4.1

Discovering Single Instance Database Targets Using Autodiscovery

14-16

14.4.2

Adding Single Instance Database Targets Using Guided Discovery
Process

14-19

Adding Single Instance Database Targets By Using the Declarative
Process

14-22

14.4.3
14.5

Discovering and Adding Cluster Targets

14-23

14.5.1

Discovering Cluster Targets Using Autodiscovery

14-24

14.5.2

Adding Cluster Targets Using the Guided Discovery Process

14-26

14.5.3

Adding Cluster Targets By Using the Declarative Process

14-28

14.6

Discovering and Adding Single Instance High Availability Service Targets

14.6.1
14.6.2
14.6.3
14.7

14-29

Discovering Single Instance High Availability Service Targets Using
Autodiscovery

14-29

Adding Single Instance High Availability Service Targets Using the
Guided Discovery Process

14-31

Adding Single Instance High Availability Service Targets By Using the
Declarative Process

14-32

Discovering and Adding Cluster Automatic Storage Management Targets

14-33

14.7.1

Discovering Cluster ASM Targets Using Autodiscovery

14-34

14.7.2

Adding Cluster ASM Targets Using the Guided Discovery Process

14-35

14.7.3

Adding Cluster ASM Targets By Using the Declarative Process

14-38

14.8

Configuring a Target Database for Secure Monitoring

14-38

14.8.1

About Secure Monitoring of Databases

14-39

14.8.2

Configuring a Target Database for Secure Monitoring

14-39

14.9

Adding Connection Manager Targets By Using the Declarative Process

14-40

xv

15

Discovering and Adding Middleware Targets
15.1

15-1

15.1.1

Discovering WebLogic Domains Using Autodiscovery

15-1

15.1.2

Adding WebLogic Domains Using the Guided Discovery Process

15-5

15.1.3

Adding Multiple WebLogic Domains Using EM CLI

15.2

Discovering New or Modified Domain Members

15-11
15-11

15.2.1

Enabling Automatic Discovery of New Domain Members

15-11

15.2.2

Manually Checking for New or Modified Domain Members

15-12

15.3

Adding Standalone Oracle HTTP Servers

15-13

15.3.1

Meeting the Prerequisites

15-13

15.3.2

Adding Standalone Oracle HTTP Servers Using the Guided Discovery
Process

15-14

15.4

Adding Exalytics Targets

15.4.1

Meeting the Prerequisites

15.4.2

Adding Exalytics System Targets Using the Guided Discovery Process

15.5

16

Discovering and Adding WebLogic Domains

Removing Middleware Targets

15-15
15-16
15-16
15-18

Discovering, Promoting, and Adding System Infrastructure Targets
16.1

Discovering and Promoting Oracle MiniCluster

16-1

16.1.1

Prerequisites

16-1

16.1.2

Credentials Required for Oracle MiniCluster Discovery

16-1

16.1.3

Oracle MiniCluster Discovery

16-2

16.8

Configuring Snmp traps for Supercluster and Minicluster monitored hosts

16-4

16.2

About Discovering, Promoting, and Adding System Infrastructure Targets

16-5

16.3

Discovering and Promoting Operating Systems

16-6

16.4

Discovering and Promoting Oracle Solaris Zones

16-6

16.5

Discovering and Promoting Oracle VM Server for SPARC

16-7

16.6

Discovering and Promoting Servers

16-8

16.6.1

Discover an ILOM Server Using the User Interface

16.6.2

Discover an ILOM Server Using the Command Line Interface

16-10

16.6.3

Change the Display Name of a Discovered ILOM Server

16-12

16.7

Discovering and Promoting Oracle SuperCluster

16-9

16-12

16.7.1

Prerequisites

16-12

16.7.2

Obtain the Discovery Precheck Script

16-12

16.7.3

Run the Discovery Precheck Script

16-13

16.7.4

Credentials Required for Oracle SuperCluster Discovery

16-13

16.7.5

Manual Prerequisite Verification

16-14

16.7.6

Oracle SuperCluster Discovery

16-14

16.9

Discovering and Promoting PDUs

16.9.1

Verify PDU v1 NMS Table and Trap Hosts Setup Table

16-18
16-18

xvi

16.9.2

Verify PDU v2 NMS Table, SNMPv3 Access Table, and Trap Hosts
Setup Table

16-19

16.9.3

PDU Discovery in the Enterprise Manager

16-19

16.9.4

Discovering a PDU Using Command Line Interface

16-21

16.10

Discovering and Promoting Oracle ZFS Storage

16.10.1

Target Members of an Oracle ZFS Storage Appliance

16-24

16.10.1.2

Target Members of an Oracle ZFS Storage Appliance Cluster

16-25

Discovering an Oracle ZFS Storage Appliance using WebSvc

Discovering Fabrics

16-25
16-26

16.11.1

Discover an InfiniBand Network Switch

16-26

16.11.2

Discover an Ethernet Network Switch

16-29

16.11.3

Use the Command Line To Discover a Switch

16-32

16.12

Part III
17

16-24

16.10.1.1
16.10.2
16.11

Discovering an Oracle ZFS Storage Appliance using AKCLI

16-22

Related Resources for Discovering and Promoting System Infrastructure
Targets

16-33

Hybrid Cloud Management

Enabling Hybrid Cloud Management
17.1

What is Oracle Hybrid Cloud?

17-1

17.2

Setting Up Hybrid Cloud Management in Three Steps

17-3

17.3

Hybrid Cloud Management Prerequisites and Basic Setup

17-4

17.3.1

Prerequisites for Configuring a Management Agent as a Gateway

17-5

17.3.2

Configuring a Management Agent as a Gateway

17-6

17.3.3

Prerequisites for Installing Agents on Oracle Cloud VMs

17-9

17.3.4

Installing an Agent on an Oracle Cloud VM

17.4

17-10

17.3.4.1

Installing an Agent on an Oracle Cloud VM Using EM CLI

17-10

17.3.4.2

Installing an Agent on an Oracle Cloud VM Using the Add Host
Targets Wizard

17-12

Advanced Topics

17-15

17.4.1

Discovering and Monitoring Oracle Cloud Targets

17-15

17.4.2

Patching Cloud-based Agents and Gateways

17-16

17.4.3

Configuring an External Proxy to Enable Gateways to Communicate
with the Oracle Cloud

17-17

Performing Additional Hybrid Cloud Management Tasks

17-17

17.4.4

17.4.4.1

Configuring Cloud-based Agents for High Availability

17-18

17.4.4.2

Disabling Gateways

17-19

17.4.4.3

Disassociating Gateways from a Cloud-based Agent

17-20

17.4.4.4

Decommissioning Cloud-based Agents

17-21

17.4.5

Troubleshooting Cloud-based Management Agents

17-21

17.4.6

Frequently Asked Questions About Hybrid Cloud Management

17-23

xvii

17.4.6.1
17.4.6.2
17.4.6.3
17.4.6.4
17.4.6.5
17.4.6.6
17.4.6.7
17.4.6.8
17.4.6.9
17.4.6.10
17.5

18

17-23

Can I deinstall or deconfigure a Gateway without deinstalling an
associated Cloud-based Agent?

17-24

How do I relocate the Gateway to another host without
deinstalling anything else?

17-24

How can I redistribute my connections once I have added the
Gateways? Does it need reconfiguration?

17-25

After an Oracle PaaS instance is decommissioned, what
happens to the Cloud-based Agent and the related targets?

17-25

If I change my SSH keys on Oracle Cloud, what should I do in
Enterprise Manager?

17-25

What are the guidelines for sizing the number of Gateways?
What is the indication that my gateway Agent is overloaded?

17-26

Once the first Gateway is up after being patched, will it monitor
the Cloud-based Agents?

17-26

What are the user restrictions on Cloud-based Agents and the
targets on Oracle Cloud?

17-26

On what operating system can I deploy a Cloud-based Agent
and a Gateway?

17-26

List of Unsupported Features

17-27

Deploying JVMD for Hybrid Cloud
18.1

Overview of Deploying JVMD for Hybrid Cloud

18-1

18.2

Prerequisites for Deploying JVMD Agents on Oracle Cloud Virtual Hosts

18-1

18.3

Deploying JVMD Agents on Oracle Cloud Virtual Hosts

18-2

18.4

Changing the Default JVMD End Point for Hybrid Cloud Gateway Agents

18-3

18.5

After Deploying JVMD Agents on Oracle Cloud Virtual Hosts

18-3

Part IV
19

Can I deploy more than one Agent on the same Oracle Cloud
virtual host?

Administering Cloud Control

Maintaining Enterprise Manager
19.1

Overview: Managing the Manager

19-1

19.2

Health Overview

19-2

19.2.1

Viewing Enterprise Manager Topology and Charts

19-2

19.2.2

Determining Enterprise Manager Page Performance

19-3

19.3

Repository

19-9

19.3.1

Repository Tab

19.3.2

Metrics Tab

19-14

19.3.3

Schema Tab

19-17

19.4

Controlling and Configuring Management Agents

19-9

19-17

xviii

19.4.1

Manage Cloud Control Agents Page

19-17

19.4.2

Agent Home Page

19-18

19.4.3

Controlling a Single Agent

19-19

19.4.4

Configuring Single Management Agents

19-19

19.4.5

Controlling Multiple Management Agents

19-20

19.4.6

Configuring Multiple Agents

19-21

19.4.7

Upgrading Multiple Management Agents

19-22

19.5

20

Management Servers

Maintaining and Troubleshooting the Management Repository
20.1

Management Repository Deployment Guidelines

20-1

20.2

Management Repository Data Retention Policies

20-2

20.2.1

Management Repository Default Aggregation and Purging Policies

20-2

20.2.2

Management Repository Default Aggregation and Purging Policies for
Other Management Data

20-5

20.2.3

Modifying the Default Aggregation and Purging Policies

20-5

20.2.4

How to Modify the Retention Period of Job History

20-6

20.2.5

DBMS_SCHEDULER Troubleshooting

20-7

20.3

Dropping and Recreating the Management Repository

20.3.1

Dropping the Management Repository

20.3.2

Recreating the Management Repository

20.3.2.1
20.4

20.4.2
20.4.3
20.5

Using a Connect Descriptor to Identify the Management
Repository Database

Troubleshooting Management Repository Creation Errors

20.4.1

20-9
20-9
20-10
20-11
20-12

Package Body Does Not Exist Error While Creating the Management
Repository

20-12

Server Connection Hung Error While Creating the Management
Repository

20-12

General Troubleshooting Techniques for Creating the Management
Repository

20-12

Cross Platform Enterprise Manager Repository Migration

20-14

20.5.1

Common Prerequisites

20-14

20.5.2

Methodologies

20-15

20.5.2.1

Using Cross Platform Transportable Database

20-15

20.5.2.2

Migration Using Physical Standby

20-19

20.5.3

21

19-22

Post Migration Verification

20-21

Updating Cloud Control
21.1

Using Self Update

21.1.1
21.2

What Can Be Updated?

Setting Up Self Update

21-1
21-1
21-2

xix

21.2.1

Setting Up Enterprise Manager Self Update Mode

21-2

21.2.2

Assigning Self Update Privileges to Users

21-3

21.2.3

Setting Up the Software Library

21-3

21.2.4

Setting My Oracle Support Preferred Credentials

21-3

21.2.5

Registering the Proxy Details for My Oracle Support

21-3

21.2.6

Setting Up the EM CLI Utility (Optional)

21-5

21.3

22

Applying an Update

21-5

21.3.1

Applying an Update in Online Mode

21-5

21.3.2

Applying an Update in Offline Mode

21-6

21.4

Accessing Informational Updates

21-7

21.5

Acquiring or Updating Management Agent Software

21-8

Configuring a Software Library
22.1

Overview of Software Library

22-1

22.2

Users, Roles, and Privileges

22-3

22.3

What's New in Software Library

22-5

22.4

Performing Software Library Tasks Using EM CLI Verbs or in Graphical
Mode

22-5

Software Library Storage

22-8

22.5

22.5.1

Upload File Locations

22-9

22.5.2

Referenced File Location

22-11

22.5.3

Cache Nodes

22-12

22.6

Prerequisites for Configuring Software Library

22-12

22.7

Configuring Software Library Storage Location

22-12

22.7.1

Configuring an OMS Shared File system Location

22-13

22.7.2

Configuring an OMS Agent File system Location

22-14

22.7.3

Configuring a Referenced File Location

22-16

22.8

Configuring Software Library on a Multi-OMS System

22-18

22.9

Software Library Cache Nodes

22-18

22.9.1

Configuring the Cache Nodes

22-19

22.9.1.1

Adding Cache Nodes

22-19

22.9.1.2

Editing the Cache Nodes

22-20

22.9.1.3

Deleting the Cache Nodes

22-21

22.9.1.4

Activating or Deactivating the Cache Nodes

22-21

22.9.1.5

Clearing the Cache Nodes

22-21

22.9.1.6

Synchronizing the Cache Nodes

22-21

22.9.2

Exporting and Importing Files for Cache Nodes

22-22

22.9.2.1

Export

22-22

22.9.2.2

Import

22-22

22.10

Software Library File Transfers

22-22

22.11

Using Software Library Entities

22-23

xx

22.12

Tasks Performed Using the Software Library Home Page

22.12.1

Organizing Entities

22-24

22.12.2

Creating Entities

22-25

22.12.2.1

Creating Generic Components

22-25

22.12.2.2

Creating Directives

22-27

22.12.3

Customizing Entities

22-30

22.12.4

Managing Entities

22-30

22.12.4.1

Accessing Software Library Home Page

22-31

22.12.4.2

Accessing Software Library Administration Page

22-31

22.12.4.3

Granting or Revoking Privileges

22-31

22.12.4.4

Moving Entities

22-32

22.12.4.5

Changing Entity Maturity

22-32

22.12.4.6

Adding Notes to Entities

22-32

22.12.4.7

Adding Attachments to Entities

22-33

22.12.4.8

Viewing, Editing, and Deleting Entities

22-33

22.12.4.9

Purging Deleted Entities

22-34

22.12.4.10

Searching Entities

22-34

22.12.4.11

Exporting Entities

22-36

22.12.4.12

Importing Entities

22-37

22.12.5
22.13

23

22-24

Staging Entities

22-37

Maintaining Software Library

22-39

22.13.1

Periodic Maintenance Tasks

22-39

22.13.2

Re-Importing Oracle Owned Entity Files

22-40

22.13.3

Removing (and Migrating) Software Library Storage Location

22-40

22.13.4

Removing a Referenced Storage Location

22-42

22.13.5

Deactivating and Activating a Storage Location

22-43

22.13.6

Scheduling Purge Job

22-43

22.13.7

Backing Up Software Library

22-44

Managing Plug-Ins
23.1

Getting Started

23-1

23.2

Introduction to Plug-ins

23-2

23.2.1

Enterprise Manager Extensibility Paradigm

23-2

23.2.2

Plug-Ins

23-3

23.2.3

Plug-Ins Deployed by Default

23-3

23.2.4

Plug-In Releases

23-4

23.2.5

Obsolete and Deprecated Plug-ins

23-4

23.2.6

Roles Required to Manage Plug-Ins

23-4

23.3

Workflow of Plug-In Deployment

23-4

23.4

Introduction to Plug-In Manager

23-9

xxi

23.4.1

Accessing Plug-In Manager

23-9

23.4.2

Performing Operations Using Plug-In Manager

23-9

23.5

Knowing Your Plug-Ins

23.5.1

Customizing Your View

23-10
23-10

23.5.1.1

Customizing Displayed Plug-Ins

23-10

23.5.1.2

Customizing Displayed Columns

23-11

23.5.2

Checking the Availability of Plug-Ins

23-11

23.5.3

Viewing Information about Plug-Ins

23-12

23.5.3.1

23.6

Differentiating Plug-In Releases from Enterprise Manager
Platform Releases

23-12

23.5.3.2

Identifying Plug-In ID

23-13

23.5.3.3

Viewing Targets and Operating Systems Certified for Deployed
Plug-Ins

23-13

23.5.3.4

Viewing Plug-In Dependencies

23-14

23.5.3.5

Verifying Deployed Plug-Ins

23-14

Downloading, Deploying, and Upgrading Plug-Ins

23.6.1

Downloading Plug-Ins

23-15
23-15

23.6.1.1

Downloading Plug-Ins in Online Mode

23-16

23.6.1.2

Downloading Plug-Ins in Offline Mode

23-16

23.6.1.3

Importing Catalog Archives

23-17

23.6.1.4

Importing Plug-In Archives

23-17

23.6.2

Deploying Plug-Ins to Oracle Management Service (Reduce OMS
Restart time and Downtime)

23.6.2.1

Tracking the Deployment Status of Plug-Ins on Oracle
Management Service

23-19
23-21

23.6.3

Upgrading Plug-Ins Deployed to Oracle Management Service

23-22

23.6.4

Deploying Plug-Ins on Oracle Management Agent

23-22

23.6.4.1
23.6.5
23.7

Tracking the Deployment Status of Plug-Ins on Oracle
Management Agent

23-23

Upgrading Plug-Ins Deployed to Oracle Management Agent

23-23

Undeploying Plug-Ins

23-23

23.7.1

Undeploying Plug-Ins from Oracle Management Service

23-24

23.7.2

Undeploying Plug-Ins from Oracle Management Agent

23-24

23.8

Advanced Operations with Plug-Ins

23-25

23.8.1

Re-deploying Plug-Ins on Oracle Management Agent

23-26

23.8.2

Deploying Plug-In Patches While Deploying or Upgrading
Management Agent (Create Custom Plug-In Update)

23-26

23.9

23.8.2.1

Creating Custom Plug-In Update Using EMCLI

23-27

23.8.2.2

Creating Custom Plug-In Update Using EDK

23-29

Troubleshooting

23-29

23.9.1

Understanding Plug-In Homes

23-30

23.9.2

Troubleshooting OMS Plug-In Deployment and Upgrade Issues

23-31

23.9.2.1

Troubleshooting OMS Plug-In Deployment Issues

23-31

xxii

23.9.2.2
23.9.3

24

Rollback and Resume OMS Plug-In Upgrade

Troubleshooting Management Agent Plug-In Deployment, Upgrade,
and Blocked Issues

23-32
23-32

23.9.3.1

Troubleshooting Management Agent Plug-In Deployment Issues

23-32

23.9.3.2

Troubleshooting Management Agent Plug-In Upgrade Issues

23-32

23.9.3.3

Resolving a Plug-in Mismatch on a Management Agent

23-33

23.9.3.4

Running a Plug-in Mismatch Job to Resolve All Plug-in
Mismatches

23-33

Patching Oracle Management Service and the Repository
24.1

OMSPatcher Automation

24-1

24.1.1

Supported OMS Configurations and OMSPatcher Patchability

24-1

24.1.2

NextGen OUI Inventory Configurations

24-3

24.1.3

Supported Patch Format

24-3

24.1.4

Supported Patching Methodologies

24-4

24.2

Required OMSPatcher Parameters

24.2.1

Creating a Property File

24-4
24-4

24.3

Prerequisites for Running OMSPatcher

24-6

24.4

Using OMSPatcher

24-9

24.4.1

My Oracle Support: Searching for Patches

24-11

24.4.2

Running omspatcher apply

24-11

24.4.3

Running omspatcher rollback

24-12

24.4.4

Running omspatcher lspatches

24-12

24.4.5

Running omspatcher version

24-13

24.4.6

Patching a Standby OMS System

24-13

24.5

OMSPatcher Command Syntax

24-14

24.5.1

Apply

24-15

24.5.2

Rollback

24-17

24.5.3

lspatches

24-19

24.5.4

version

24-20

24.5.5

checkApplicable

24-20

24.5.6

saveConfigurationSnapshot

24-21

24.6

Troubleshooting

24-22

24.6.1

OMSPatcher Troubleshooting Architecture

24-23

24.6.2

OMSPatcher Log Management Architecture

24-23

24.6.3

Logs for Oracle Support

24-26

24.6.4

OMSPatcher: Cases Analysis, Error Codes, and Remedies/
Suggestions

24-26

24.6.5

OMSPatcher: External Utilities Error Codes

24-28

24.6.6

Special Error Cases for OMSPatcher OMS Automation

24-28

24.6.7

Multi-OMS Execution for UNIX based Systems

24-31

xxiii

24.7

25

27

24-34

24.7.1

Resume capability in Single-OMS Configuration

24-35

24.7.2

Resume Capability in Multi-OMS Configuration

24-38

Patching Oracle Management Agents
25.1

Overview

25-1

25.2

Automated Management Agent Patching Using Patch Plans
(Recommended)

25-1

25.2.1

Advantages of Automated Management Agent Patching

25-2

25.2.2

Accessing the Patches and Updates Page

25-2

25.2.3

Viewing Patch Recommendations

25-3

25.2.4

Searching for Patches

25-3

25.2.4.1

Searching for Patches On My Oracle Support

25-4

25.2.4.2

Searching for Patches in Software Library

25-4

25.2.5

Applying Management Agent Patches

25.2.6

Verifying the Applied Management Agent Patches

25-10

25.2.7

Management Agent Patching Errors

25-10

25.3

26

Features in OMSPatcher

25-5

25.2.7.1

Oracle Home Credentials Are Not Set

25-10

25.2.7.2

Management Agent Target Is Down

25-11

25.2.7.3

Patch Conflicts Are Detected

25-11

25.2.7.4

User Is Not a Super User

25-12

25.2.7.5

Patch Is Not Staged or Found

25-13

Manual Management Agent Patching

25-13

Personalizing Cloud Control
26.1

Personalizing a Cloud Control Page

26-1

26.2

Customizing a Region

26-2

26.3

Setting Your Homepage

26-3

26.4

Setting Pop-Up Message Preferences

26-4

Administering Enterprise Manager Using EMCTL Commands
27.1

Executing EMCTL Commands

27-2

27.2

Guidelines for Starting Multiple Enterprise Manager Components on a Single
Host

27-2

Starting and Stopping Oracle Enterprise Manager 13c Cloud Control

27-2

27.3

27.3.1

Starting Cloud Control and All Its Components

27-3

27.3.2

Stopping Cloud Control and All Its Components

27-3

27.4

Services That Are Started with Oracle Management Service Startup

27-4

xxiv

27.5

Starting and Stopping the Oracle Management Service and Management
Agent on Windows

27-5

27.6

Reevaluating Metric Collections Using EMCTL Commands

27-5

27.7

Specifying New Target Monitoring Credentials in Enterprise Manager

27-7

27.8

EMCTL Commands for OMS

27-8

27.9

EMCTL Commands for Management Agent

27.10

27-18

27.10.1

EMCTL Secure Commands

27-18

27.10.2

Security diagnostic commands

27-21

27.10.3

EMCTL EM Key Commands

27-22

27.10.4

Configuring Authentication

27-23

27.10.4.1

Configuring OSSO Authentication

27-24

27.10.4.2

Configuring OAM Authentication

27-25

27.10.4.3

Configuring LDAP (OID and AD) Authentication

27-25

27.10.4.4

Configuring Repository Authentication (Default Authentication)

27-25

27.11

EMCTL HAConfig Commands

27-26

27.12

EMCTL Resync Commands

27-27

27.13

EMCTL Connector Command

27-28

27.14

EMCTL Patch Repository Commands

27-28

27.15

EMCTL Commands for Windows NT

27-29

27.16

EMCTL Partool Commands

27-29

27.17

EMCTL Plug-in Commands

27-30

27.18

EMCTL Command to Sync with OPSS Policy Store

27-31

27.19

Troubleshooting Oracle Management Service Startup Errors

27-31

27.20

Troubleshooting Management Agent Startup Errors

27-32

27.20.1

Management Agent starts up but is not ready

27-32

27.20.2

Management Agent fails to start due to time zone mismatch between
agent and OMS

27-32

27.20.3

Management Agent fails to start due to possible port conflict

27-33

27.20.4

Management Agent fails to start due to failure of securing or
unsecuring

27-33

27.21

28

EMCTL Security Commands

27-13

Using emctl.log File to Troubleshoot

27-33

Locating and Configuring Enterprise Manager Log Files
28.1

Managing Log Files

28.1.1

Viewing Log Files and Their Messages

28.1.1.1
28.1.1.2
28.1.2

28-3

Restricting Access to the View Log Messages Menu Item and
Functionality

28-4

Registering Additional Log Files

28-5

Searching Log Files

28.1.2.1

28-1

Searching Log Files: Basic Searches

28-6
28-6

xxv

28.1.2.2
28.1.3
28.2

Downloading Log Files

Managing Saved Searches

28-7
28-8
28-9

28.2.1

Saving Searches

28-10

28.2.2

Retrieving Saved Searches

28-10

28.2.3

Managing Saved Searches

28-10

28.3

Locating Management Agent Log and Trace Files

28.3.1

About the Management Agent Log and Trace Files

28.3.1.1

Structure of Agent Log Files

28-11
28-11
28-12

28.3.2

Locating the Management Agent Log and Trace Files

28-12

28.3.3

Setting Oracle Management Agent Log Levels

28-13

28.4

28.3.3.1

Modifying the Default Logging Level

28-14

28.3.3.2

Setting gcagent.log

28-14

28.3.3.3

Setting gcagent_error.log

28-15

28.3.3.4

Setting the Log Level for Individual Classes and Packages

28-15

28.3.3.5

Setting gcagent_mdu.log

28-15

28.3.3.6

Setting the TRACE Level

28-17

Locating and Configuring Oracle Management Service Log and Trace Files

28-17

28.4.1

About the Oracle Management Service Log and Trace Files

28-18

28.4.2

Locating Oracle Management Service Log and Trace Files

28-18

28.4.3

Controlling the Size and Number of Oracle Management Service Log
and Trace Files

28-19

28.4.4

Controlling the Contents of the Oracle Management Service Trace File

28.4.5

Controlling the Oracle WebLogic Server and Oracle HTTP Server Log
Files

28.5

Monitoring Log Files

28-20
28-21
28-23

28.5.1

About Log Viewer

28-23

28.5.2

Overview of WebLogic Server and Application Deployment Log File
Monitoring

28-24

28.5.3

Enabling Log File Monitoring

28-25

28.5.4

Configuring Log File Monitoring

28-26

28.5.5

Viewing Alerts from Log File Monitoring

28-28

28.6

29

Searching Log Files: Advanced Searches

Configuring Log Archive Locations

28-28

Configuring and Using Services
29.1

Introduction to Services

29.1.1
29.2

Defining Services in Enterprise Manager

Creating a Service

29-1
29-1
29-2

29.2.1

Creating a Generic Service - Test Based

29-3

29.2.2

Creating a Generic Service - System Based

29-4

29.2.3

Creating an Aggregate Service

29-4

xxvi

29.3

Monitoring a Service

29-5

29.3.1

Viewing the Generic / Aggregate Service Home Page

29-5

29.3.2

Viewing the Performance / Incidents Page

29-6

29.3.3

Viewing the SLA Dashboard

29-6

29.3.4

Viewing the Test Summary

29-6

29.3.5

Viewing the Service Topology

29-7

29.3.6

Sub Services

29-7

29.4

Configuring a Service

29-7

29.4.1

Availability Definition (Generic and Aggregate Service)

29-8

29.4.2

Root Cause Analysis Configuration

29-9

29.4.2.1

Getting the Most From Root Cause Analysis

29-10

29.4.3

System Association

29-10

29.4.4

Monitoring Settings

29-11

29.4.5

Service Tests and Beacons

29-12

29.4.5.1

Defining Additional Service Tests

29-12

29.4.5.2

Deploying and Using Beacons

29-13

29.4.5.3

Configuring the Beacons

29-15

29.4.5.4

Creating an ATS Service Test Using OATS Load Script

29-16

29.4.6

Performance Metrics

29-22

29.4.6.1

Rule Based Target List

29-24

29.4.6.2

Static Based Target List

29-25

29.4.7

Usage Metrics

29-25

29.5

Using the Transaction Recorder

29-26

29.6

Setting Up and Using Service Level Agreements

29-26

29.6.1

Actionable Item Rules for SLAs

29-29

29.6.2

Creating a Service Level Objective

29-29

29.6.3

Lifecycle of an SLA

29-30

29.6.4

Viewing the Status of SLAs for a Service

29-31

29.6.5

Defining Custom SLA Business Calendars

29-32

29.7

Using the Services Dashboard

29-33

29.7.1

Viewing the All Dashboards Page

29-33

29.7.2

Viewing the Dashboard Details Page

29-33

29.7.3

Customizing and Personalizing the Dashboard

29-34

29.7.4

Viewing the Dashboard Service Details Page

29-35

29.8

Using the Test Repository

29-36

29.8.1

Viewing the Test Repository

29-36

29.8.2

Editing an ATS Script

29-37

Configuring Service Levels

29-37

29.9

29.9.1

Defining Service Level Rules

29-38

29.9.2

Viewing Service Level Details

29-39

29.10

Configuring a Service Using the Command Line Interface

29-39

xxvii

29.11

Troubleshooting Service Tests

29.11.1

Verifying and Troubleshooting Forms Transactions
Troubleshooting Forms Transaction Playback

29-43

29.11.1.2

Troubleshooting Forms Transaction Recording

29-45
29-45

30.1

Benefits of SNMP Support

30-1

30.2

About the SNMP Management Station

30-2

30.3

How Enterprise Manager Supports SNMP

30-2

30.4

Sending SNMP Trap Notifications

30-4

30.5

About the Management Information Base (MIB)

Monitoring External Devices Using SNMP

30-5
30-5

30.5.1

About SNMP Receivelets

30-6

30.5.2

About SNMP Fetchlets

30-6

30.6

Part V

About Metric Extensions

30-6

Systems Infrastructure

Working with Systems Infrastructure Targets
31.1

Overview of Enterprise Manager Systems Infrastructure

31-1

31.1.1

About Monitoring for the Systems Infrastructure Targets

31-2

31.1.2

About Dynamic Views for the Systems Infrastructure Targets

31-3

31.2

32

Verifying and Troubleshooting Web Transactions

Introducing Enterprise Manager Support for SNMP

30.4.1

31

29-43

29.11.1.1
29.11.2

30

29-43

Overview of the Systems Infrastructure User Interface

31-3

31.2.1

About the Target Home Page

31-3

31.2.2

About the Virtualization Home Page

31-5

31.2.3

About the Oracle Engineered Systems Home Page

31-5

31.3

Creating Roles for Systems Infrastructure Administration

31-5

31.4

Related Resources for Systems Infrastructure Targets

31-6

Managing Networks
32.1

Get Started with Managing Networks

32-1

32.2

Location of Network Information in the User Interface

32-2

32.3

Actions for Network Management

32-2

32.4

View Topology

32-3

32.5

Fabric

32-5

32.5.1

About Fabrics

32-5

32.5.2

View Information About Fabrics

32-6

xxviii

32.5.3

About Fabric Information

32-8

32.5.4

About Performance of Fabrics

32-9

32.5.5

Delete a Fabric

32.6

32-10

32.6.1

About Datalinks

32-10

32.6.2

View Information About Datalinks

32-10

32.7

Networks

32-11

32.7.1

About Networks

32-11

32.7.2

View Information About Networks

32-12

32.7.3

Delete Networks

32-13

32.7.4

View Network Details of a Host Target

32-13

32.8

33

Datalinks

32-10

Related Resources for Network Management

32-13

Managing Storage
33.1

Get Started with Managing Storage

33-1

33.2

Location of Storage Information in the User Interface

33-2

33.3

Actions for Storage Management

33-2

33.4

About Storage Appliance Dashboard

33-2

33.4.1

Viewing the Storage Appliance Dashboard

33-3

33.4.2

Viewing Storage Appliance Cluster Dashboard

33-4

33.5

About Photorealistic Image

33.5.1
33.6

About Summary

33.6.1
33.7

Viewing the Summary

About Projects

33.7.1
33.8

Viewing the Photorealistic Image

Viewing the Projects

About Charts

33-4
33-5
33-5
33-7
33-7
33-8
33-9

33.8.1

Viewing Resources Chart

33.8.2

Viewing Devices Chart

33-10

33.8.3

Viewing SAN Usage Chart

33-11

33.8.4

Viewing NAS Usage Chart

33-11

33.8.5

Viewing ZFS Storage Pools Chart

33-12

33.9

About Host Storage Information

33.9.1

Disks of a Host

33.9.1.1
33.9.2

Filesystems of a Host

33.9.2.1
33.9.3

Viewing Filesystems of a Host

SAN Configuration of a Host

33.9.3.1
33.9.4

Viewing Disks of a Host

Viewing SAN Configuration of a Host

Linux Volume Groups of a Host

33-9

33-13
33-14
33-14
33-15
33-15
33-16
33-16
33-16

xxix

33.9.4.1
33.9.5

ZFS Storage Pools of a Host

33.9.5.1
33.10

Viewing Storage Configuration Topology

About Storage Metrics

33-17
33-17
33-18
33-18
33-18
33-19

33.11.1

Viewing Storage Performance Metrics

33-19

33.11.2

Viewing Storage Configuration Metrics

33-20

33.11.3

Changing Metric Collection

33-20

33.12

About Storage Cluster Membership

33.12.1
33.13

34

Viewing ZFS Storage Pools of a Host

About Storage Configuration Topology

33.10.1
33.11

Viewing Linux Volume Groups of a Host

Viewing Storage Cluster Membership

About Storage Resource Deletion

33-21
33-21
33-22

33.13.1

Removing a Storage Resource

33-22

33.13.2

Removing an Oracle ZFS Storage Appliance Cluster

33-23

33.14

Using Oracle ZFS Storage Appliance in Engineered Systems

33-23

33.15

Related Resources for Storage

33-24

Monitoring Servers
34.1

Get Started With Server Management

34-1

34.2

Location of Server Information in the UI

34-1

34.3

Actions for Server Management

34-2

34.4

About the Hardware Dashboard

34-2

34.4.1

About Basic Hardware Information

34-2

34.4.2

About Open Incidents

34-2

34.4.3

About Fan and Temperature Information

34-3

34.4.4

About Power Usage

34-3

34.4.5

About Core Information

34-3

34.4.6

About the Last Configuration Change and Incident

34-3

34.5

Viewing the Hardware Dashboard

34-3

34.6

About Server Metrics

34-4

34.7

Viewing Server Metrics

34-4

34.8

About the Photorealistic Image of the Hardware

34-4

34.9

Viewing the Photorealistic Image of the Hardware

34-4

34.10

About the Logical View

34-5

34.10.1

About CPU Information

34-5

34.10.2

About Memory Information

34-5

34.10.3

About Power Information

34-5

34.10.4

About Fan Information

34-6

34.10.5

About Storage Information

34-6

34.10.6

About Disk Controller Information

34-6

xxx

34.10.7

About Disk Expander Information

34-6

34.10.8

About Network Ports Information

34-6

34.10.9

About PCI Devices Information

34-7

34.10.10

About PDOMs Information

34-7

34.10.11

About DCUs Information

34-7

34.11

Viewing the Logical View

34-7

34.12

About Energy Consumption

34-7

34.13

Viewing the Energy Consumption

34-8

34.14

About Network Connectivity

34-8

34.14.1

About Network Interfaces

34-8

34.14.2

About Network Data Links

34-8

34.14.3

About Network Ports

34-8

34.15

Viewing the Network Connectivity

34-8

34.16

About the Service Processor Configuration

34-9

34.16.1

About Firmware Information

34-9

34.16.2

About the Host Policy Configuration

34-9

34.16.3

About the Power On Self Test Configuration

34-9

34.16.4

About the SP Alert Configuration

34-9

34.16.5

About the DNS & NTP Information

34-9

34.17

Viewing the Service Processor Configuration

34-9

34.18

Managing Metrics and Incident Notifications

34-10

34.18.1

Viewing Metric Collection Errors

34-10

34.18.2

Editing Metric and Collection Settings

34-10

34.18.3

Editing a Monitoring Configuration

34-10

34.18.4

Suspending Monitoring Notifications

34-11

34.18.5

Suspending Monitoring for Maintenance

34-11

34.18.6

Ending a Monitoring Brownout or Blackout

34-11

34.19

34-12

34.19.1

Viewing Compliance

34-12

34.19.2

Identifying Changes in a Server Configuration

34-12

34.19.3

Editing Server Administrator Access

34-12

34.19.4

Adding a Server to a Group

34-13

34.19.5

Editing Server Properties

34-13

34.20

35

Administering Servers

Related Resources for Server Management

34-13

Managing the PDU
35.1

Getting Started with PDU Management

35-1

35.2

Location of PDU Information in the User Interface

35-1

35.3

Actions for PDU

35-2

35.4

PDU Version Identification

35-2

xxxi

35.5

35-4

35.5.1

Physical View of the PDU

35-4

35.5.2

PDU Load View

35-5

35.6

Changing PDU Monitoring Credentials

35-5

35.6.1

Change the HTTP Credentials

35-5

35.6.2

Changing the SNMP Credentials

35-7

35.7

PDU Test Connection and Metric Collection Error Troubleshooting

35-8

35.7.1

Test Connection Error Identification

35-8

35.7.2

Metric Collection Error Identification

35-9

35.7.3

Metric Recollection

35-9

35.8

PDU Error States

35-11

35.9

PDU Alerts and Configuration

35-17

35.9.1

Configuring Alerts in a PDU

35-17

35.9.2

Configuring Alerts in Enterprise Manager

35-18

35.9.3

Viewing Alert Incidents

35-19

35.9.4

SNMP Traps Forwarding

35-19

35.10

36

Viewing the PDU Information

Related Resources for PDU Management

35-20

Managing the Rack
36.1

Getting Started with Rack Management

36-1

36.2

Location of Rack Information in the User Interface

36-1

36.3

Actions for Rack

36-2

36.4

Target Navigation for Rack Management

36-2

36.5

Creating a Rack

36-3

36.5.1

Creating a Rack Using Command Line Interface

36.5.1.1
36.6

Properties of Rack

Viewing the Rack Information

36-4
36-5
36-7

36.6.1

Physical View of the Rack

36-7

36.6.2

Firmware View

36-9

36.6.3

Load View

36-9

36.6.4

Temperature View

36-9

36.7

Placing Targets in the Rack

36-9

36.7.1

Place a Target in the Rack

36.7.2

Edit Target Placement in the Rack

36-10

36.7.3

Remove a Target from the Rack

36-10

36.7.4

Delete a Rack

36-10

36.8

Related Resources for Rack Management

36-9

36-11

xxxii

37

Managing Oracle MiniCluster
37.1

Getting Started with Oracle MiniCluster

37-1

37.2

Actions for Oracle MiniCluster

37-1

37.3

Target Navigation for Oracle MiniCluster

37-1

37.4

Viewing the Oracle MiniCluster System

37-2

37.4.1

Physical View of Oracle MiniCluster

37-3

37.4.2

Storage View of Oracle MiniCluster

37-4

37.4.3

Virtualization Management on the Oracle MiniCluster System

37-5

37.5

38

39

Related Resources for Oracle MiniCluster

37-5

Managing Oracle SuperCluster
38.1

Getting Started with Oracle SuperCluster

38-1

38.2

Actions for Oracle SuperCluster

38-1

38.3

Target Navigation for Oracle SuperCluster

38-1

38.4

Viewing the Oracle SuperCluster System

38-2

38.4.1

Physical View of Oracle SuperCluster

38-3

38.4.2

Virtualization Management on the Oracle SuperCluster System

38-4

38.5

Task Title

38-5

38.6

Related Resources for Oracle SuperCluster

38-5

Monitoring Oracle Operating Systems
39.1

Get Started with Monitoring Oracle Operating Systems

39-1

39.2

Location of Oracle Operating System Information in the UI

39-2

39.3

Features of Operating Systems

39-3

39.4

About the Dashboard for all Hosts

39-3

39.4.1
39.5

Viewing the Dashboard of all Hosts

How to Get Information About a Specific Host

39-3
39-4

39.5.1

Viewing the Host Target Home Page

39-4

39.5.2

About Dashlets for Hosts

39-4

39.5.3

About Tabs for Hosts

39-5

39.6

About the Host Menu

39.6.1
39.7

Viewing the Host Monitoring Menu

About Open Incidents

39-5
39-6
39-6

39.7.1

Viewing Open Incidents

39-6

39.7.2

Identifying Changes in an OS Configuration

39-7

39.8

Overview of Performance and Resource Metrics

39-7

39.8.1

About CPU Utilization

39-8

39.8.2

Viewing CPU Metrics

39-8

39.8.3

About CPU Threads Utilization

39-8

xxxiii

39.8.4
39.9

About Host Memory

39-8
39-9

39.9.1

Viewing Host Memory Utilization

39.9.2

Viewing Memory and Swap File Details

39-10

39.9.3

Viewing Memory Details for a Host

39-10

39-9

39.10

Viewing Host Storage

39-10

39.11

Viewing Network Connectivity

39-10

39.12

About Boot Environments

39-11

39.12.1

Viewing Oracle Solaris Boot Environments

39-11

39.13

Viewing Running Host Processes

39-11

39.14

Viewing Managed Host Services

39-12

39.15

Working with Host Metrics

39-12

39.15.1

Viewing CPU, Memory, and Disk Details for a Host

39-12

39.15.2

Viewing a Host's Program Resource Utilization

39-12

39.15.3

Viewing All Metrics

39-13

39.16

Managing Metrics and Incident Notifications for Hosts

39-13

39.16.1

Viewing Host Metric Collection Error

39-13

39.16.2

Editing Metric and Collection Settings for Hosts

39-13

39.17

About Host Compliance

39-14

39.17.1

Viewing Compliance Frameworks

39-14

39.17.2

Viewing Compliance Standards

39-14

39.17.3

Viewing Target Compliance

39-15

39.18

40

About Processor Group Utilization for Oracle Solaris 11

Related Resources for Operating Systems

39-15

Monitoring Oracle Solaris Zones
40.1

Get Started with Monitoring Oracle Solaris Zones

40-1

40.2

Location of Oracle Solaris Zone Information in the UI

40-2

40.3

Actions for Zones

40-3

40.4

Target Navigation for Zones

40-3

40.5

How to Get Information About a Zone

40-4

40.6

Working with Zone Platform Metrics

40-5

40.6.1
40.7

Viewing Zone Platform Metrics

Working with Zone-Specific Metrics

40-6
40-7

40.7.1

Viewing a Summary of Zone Metrics

40-7

40.7.2

Viewing Zone CPU and Memory Metrics

40-8

40.8

Viewing All Metrics

40-8

40.9

Working with Incidents for Zones

40-8

40.9.1

About Incidents for Zones

40-8

40.9.2

Viewing Open Incidents for Zones

40-9

40.10

Managing Metrics and Incident Notifications for Zones

40-10

xxxiv

40.10.1

Viewing Zone Metric Collection Errors

40-10

40.10.2

Editing Metric and Collection Settings for Zones

40-10

40.10.3

Editing a Zone's Monitoring Configuration

40-11

40.10.4

Suspending Monitoring Notifications for Zones

40-11

40.10.5

Suspending Zone Monitoring for Maintenance

40-11

40.10.6

Ending a Monitoring Brownout or Blackout for Zones

40-12

40.11

40-12

40.11.1

Viewing Zone Compliance

40-12

40.11.2

Identifying Changes in a Zone Configuration

40-12

40.11.3

Editing Zone Administrator Access

40-13

40.11.4

Adding a Zone to a Group

40-13

40.11.5

Editing Zone Properties

40-13

40.12

41

Administering Zones

Additional Resources for Oracle Solaris Zones

40-13

Monitoring Oracle VM Server for SPARC
41.1

Getting Started With Oracle VM Server for SPARC Virtualization

41-1

41.1.1

Terminology

41-1

41.1.2

Logical Domains

41-1

41.2

Location of Oracle VM Server for SPARC Information in the UI

41-2

41.3

Actions for Oracle VM Server for SPARC

41-2

41.4

Target Navigation for Oracle VM Server for SPARC

41-3

41.5

Supported Versions

41-4

41.6

Viewing all Oracle VM Server for SPARC Virtualization Platforms

41-4

41.7

About Virtualization Platform Information

41-5

41.7.1

Viewing the Virtualization Platform Basic Information

41-6

41.7.2

About the Virtualization Platform's Guest Summary

41-6

41.7.3

Viewing the Virtualization Platform Guest Summary

41-7

41.7.4

About the Virtualization Platform's Services

41-7

41.7.5

Viewing the Virtualization Platform Services

41-7

41.7.6

About the Virtualization Platform's vCPU and Core Allocation

41-8

41.7.7

Viewing the Virtualization Platform vCPU and Core Allocation

41-8

41.7.8

About Virtualization Platform Metrics

41-8

41.7.9

Viewing Platform Metrics

41-8

Zones within a Logical Domain

41-8

41.8

41.8.1
41.9

Viewing Zones in a Logical Domain

About Logical Domain Information

41-9
41-9

41.9.1

Viewing the Logical Domain's Basic Information

41-9

41.9.2

About the Virtual Server Summary Information

41-9

41.9.3

Viewing the Virtual Server Summary Information

41-10

41.9.4

About the Virtual Server Power and CPU Usage Charts

41-10

xxxv

41.9.5
41.10

41-10

Viewing Metric Collection Errors

41-11

41.10.2

Editing Metric and Collection Settings

41-11

41.10.3

Editing a Monitoring Configuration

41-11

41.10.4

Suspending Monitoring Notifications

41-12

41.10.5

Suspending Monitoring for Maintenance

41-12

41.10.6

Ending a Monitoring Brownout or Blackout

41-12

Administering Oracle VM Server for SPARC

41-13

41.11.1

Viewing Compliance

41-13

41.11.2

Identifying Changes in a Virtual Server Configuration

41-13

41.11.3

Editing Virtual Server Administrator Access

41-14

41.11.4

Adding a Virtual Server to a Group

41-14

41.11.5

Editing Virtual Server Properties

41-14

41.12

Related Resources for Oracle VM Server for SPARC

41-14

Provisioning Zones with Oracle Database on Database Domains
42.1

Prerequisites

42-1

42.2

Create a DB Zones Cluster

42-2

42.3

Scale Up Cluster

42-13

42.4

Scale Down Cluster

42-23

42.5

Delete Cluster

42-27

Part VI
43

Managing Metrics and Incident Notifications

41-10

41.10.1

41.11

42

Viewing the Virtual Server Power and CPU Usage Charts

Generating Reports

Using Information Publisher
43.1

About Information Publisher

43-1

43.2

Out-of-Box Report Definitions

43-2

43.3

Custom Reports

43-2

43.3.1

Creating Custom Reports

43-2

43.3.2

Report Parameters

43-3

43.3.3

Report Elements

43-3

43.4

Scheduling Reports

43-3

43.4.1

Flexible Schedules

43-4

43.4.2

Storing and Purging Report Copies

43-4

43.4.3

E-mailing Reports

43-4

43.5

Sharing Reports

43-4

xxxvi

44

Creating Usage Tracking Reports
44.1

Usage Tracking Reports

44-1

44.2

Collecting Data for Database Usage Tracking

44-2

44.2.1

Setting Database Usage Tracking Credentials

44-2

44.2.2

Enabling/Disabling the Metric Collection using Monitoring Templates

44-3

44.2.3

Enabling/Disabling the Metric Collection using the Command Line
Interface

44.2.3.1

Setting up EM CLI login

44-15

44.2.3.2

Enabling/disabling the metric collection

44-15

44.2.3.3

Using EM CLI to list all the database targets

44-17

44.2.3.4

Using SQL to verify collection status

44-17

44.2.4
44.3

Creating a Database Usage Tracking Report

Generating Database Usage Tracking Report

44-18
44-20

44.3.1

Configuring Business Intelligence Publisher (BI Publisher)

44-20

44.3.2

Running Usage Tracking Reports:

44-27

44.4

Database Usage Tracking Summary Report

44-30

44.5

Generating the Fusion Middleware Usage Tracking Summary Report

44-36

44.6

Host Usage Tracking Reports

44-40

44.6.1

Generating the Host Usage Tracking Summary Report

44-41

44.6.2

Generating the Host Usage Tracking Details Report

44-43

Part VII
45

44-14

Accessing Enterprise Manager via Mobile Devices

Remote Access To Enterprise Manager
45.1

Reviewing System Requirements

45-1

45.2

Performing Initial Setup

45-1

45.3

Connecting the First Time

45-2

45.4

Encountering the Login Screen

45-2

45.5

Managing Settings

45-3

45.6

Using Cloud Control Mobile in Incident Manager

45-4

45.7

Working in Cloud Control Mobile

45-6

45.7.1

Viewing Incidents and Problems

45-7

45.7.2

Changing Views

45-8

45.7.3

Performing Actions

45-8

45.8

Learning Tips and Tricks

45-9

45.9

Connecting to Enterprise Manager Desktop Version

45-10

xxxvii

Part VIII
A

Appendixes

Interpreting Variables of the Enterprise Manager MIB
A.1

oraEMNGEvent

A-1

A.1.1

oraEMNGEventIndex

A-3

A.1.2

oraEMNGEventNotifType

A-4

A.1.3

oraEMNGEventMessage

A-4

A.1.4

oraEMNGEventMessageURL

A-5

A.1.5

oraEMNGEventSeverity

A-5

A.1.6

oraEMNGEventSeverityCode

A-5

A.1.7

oraEMNGEventRepeatCount

A-6

A.1.8

oraEMNGEventActionMsg

A-6

A.1.9

oraEMNGEventOccurrenceTime

A-6

A.1.10

oraEMNGEventReportedTime

A-7

A.1.11

oraEMNGEventCategories

A-7

A.1.12

oraEMNGEventCategoryCodes

A-7

A.1.13

oraEMNGEventType

A-8

A.1.14

oraEMNGEventName

A-8

A.1.15

oraEMNGAssocIncidentId

A-9

A.1.16

oraEMNGAssocIncidentOwner

A-9

A.1.17

oraEMNGAssocIncidentAcked

A-9

A.1.18

oraEMNGAssocIncidentStatus

A-10

A.1.19

oraEMNGAssocIncidentPriority

A-10

A.1.20

oraEMNGAssocIncidentEscLevel

A-10

A.1.21

oraEMNGEventTargetName

A-11

A.1.22

oraEMNGEventTargetNameURL

A-11

A.1.23

oraEMNGEventTargetType

A-12

A.1.24

oraEMNGEventHostName

A-12

A.1.25

oraEMNGEventTargetOwner

A-12

A.1.26

oraEMNGEventTgtLifeCycleStatus

A-13

A.1.27

oraEMNGEventTargetVersion

A-13

A.1.28

oraEMNGEventUserDefinedTgtProp

A-13

A.1.29

oraEMNGEventSourceObjName

A-14

A.1.30

oraEMNGEventSourceObjNameURL

A-14

A.1.31

oraEMNGEventSourceObjType

A-14

A.1.32

oraEMNGEventSourceObjSubType

A-15

A.1.33

oraEMNGEventSourceObjOwner

A-15

A.1.34

oraEMNGEventCAJobName

A-15

A.1.35

oraEMNGEventCAJobStatus

A-16

A.1.36

oraEMNGEventCAJobOwner

A-16

xxxviii

A.2

A.3

A.1.37

oraEMNGEventCAJobStepOutput

A-16

A.1.38

oraEMNGEventCAJobType

A-17

A.1.39

oraEMNGEventRuleSetName

A-17

A.1.40

oraEMNGEventRuleName

A-17

A.1.41

oraEMNGEventRuleOwner

A-18

A.1.42

oraEMNGEventSequenceId

A-18

A.1.43

oraEMNGEventRCADetails

A-18

A.1.44

oraEMNGEventContextAttrs

A-19

A.1.45

oraEMNGEventUserComments

A-19

A.1.46

oraEMNGEventUpdates

A-19

A.1.47

oraEMNGEventTotalOccurrenceCount

A-20

A.1.48

oraEMNGEventCurrOccurrenceCount

A-20

A.1.49

oraEMNGEventCurrFirstOccurDate

A-21

A.1.50

oraEMNGEventCurrLastOccurDate

A-21

A.1.51

oraEMNGRCAStatus

A-21

A.1.52

oraEMNGEventReportedState

A-22

A.1.53

oraEMNGEventTypeAttr(1-71)

A-22

oraEM4AlertTable

A-27

A.2.1

oraEM4AlertTargetName

A-27

A.2.2

oraEM4AlertTargetType

A-28

A.2.3

oraEM4AlertHostName

A-28

A.2.4

oraEM4AlertMetricName

A-29

A.2.5

oraEM4AlertKeyName

A-29

A.2.6

oraEM4AlertKeyValue

A-30

A.2.7

oraEM4AlertTimeStamp

A-30

A.2.8

oraEM4AlertSeverity

A-31

A.2.9

oraEM4AlertMessage

A-31

A.2.10

oraEM4AlertRuleName

A-32

A.2.11

oraEM4AlertRuleOwner

A-32

A.2.12

oraEM4AlertMetricValue

A-33

A.2.13

oraEM4AlertContext

A-33

A.2.14

oraEM4AlertCycleGuid

A-33

A.2.15

oraEM4AlertRepeatCount

A-34

A.2.16

oraEM4AlertUDTargetProperties

A-34

A.2.17

oraEM4AlertAck

A-35

A.2.18

oraEM4AlertAckBy

A-35

A.2.19

oraEM4AlertNotifType

A-36

A.2.20

oraEM4AlertViolationGuid

A-36

oraEM4JobAlertTable

A-37

A.3.1

oraEM4JobAlertJobName

A-38

A.3.2

oraEM4JobAlertJobOwner

A-38

xxxix

B

D

E

oraEM4JobAlertJobType

A-38

A.3.4

oraEM4JobAlertJobStatus

A-39

A.3.5

oraEM4JobAlertTargets

A-39

A.3.6

oraEM4JobAlertTimeStamp

A-40

A.3.7

oraEM4JobAlertRuleName

A-40

A.3.8

oraEM4JobAlertRuleOwner

A-41

A.3.9

oraEM4JobAlertMetricName

A-41

A.3.10

oraEM4JobAlertMetricValue

A-42

A.3.11

oraEM4JobAlertContext

A-42

A.3.12

oraEM4JobAlertKeyName

A-43

A.3.13

oraEM4JobAlertKeyValue

A-43

A.3.14

oraEM4JobAlertSeverity

A-44

A.3.15

oraEM4JobAlertJobId

A-44

A.3.16

oraEM4JobAlertJobExecId

A-45

Enterprise Manager MIB Definition
B.1

C

A.3.3

MIB Definition

B-1

SNMP Trap Mappings
C.1

Pre-12c Enterprise Manager Metric Alerts

C-1

C.2

Pre-12C Target Availability Alerts

C-2

C.3

Pre-12C Corrective Action Results for Metric Alerts

C-3

C.4

Corrective Action Results for Target Availability

C-4

C.5

Job Status Change

C-5

Overview of Target Availability States
D.1

Target Availability State Changes

D-1

D.2

Target Status Change Updates

D-3

Timeout Values for Enterprise Manager Components
Index

xl

Preface
This guide describes how to use Oracle Enterprise Manager Cloud Control 12c core
functionality.
The preface covers the following:
•

Audience

•

Documentation Accessibility

•

Related Documents

•

Conventions

Audience
This document is intended for Enterprise Manager administrators and developers who
want to manage their Enterprise Manager infrastructure.

Documentation Accessibility
For information about Oracle's commitment to accessibility, visit the Oracle
Accessibility Program website at http://www.oracle.com/pls/topic/lookup?
ctx=acc&id=docacc.
Access to Oracle Support
Oracle customers that have purchased support have access to electronic support
through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/
lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs
if you are hearing impaired.

Related Documents
For the latest releases of these and other Oracle documentation, check the Oracle
Technology Network at:
http://docs.oracle.com/en/enterprise-manager/

Conventions
The following text conventions are used in this document:

xli

Preface

Convention

Meaning

boldface

Boldface type indicates graphical user interface elements associated
with an action, or terms defined in text or the glossary.

italic

Italic type indicates book titles, emphasis, or placeholder variables for
which you supply particular values.

monospace

Monospace type indicates commands within a paragraph, URLs, code
in examples, text that appears on the screen, or text that you enter.

xlii

Part I
Monitoring and Managing Targets
This section contains the following chapters:
•

Enterprise Monitoring

•

Discovering and Adding Host and Non-Host Targets

•

Using Incident Management

•

Using Notifications

•

Using Blackouts and Notification Blackouts

•

Managing Groups

•

Using Administration Groups

•

Using Monitoring Templates

•

Using Metric Extensions

•

Advanced Threshold Management

•

Utilizing the Job System and Corrective Actions

•

Monitoring Access Points Configured for a Target

•

Always-On Monitoring

1
Enterprise Monitoring
This chapter covers the following topics:
•

Monitoring Overview

•

Monitoring: Basics

•

Monitoring: Advanced Setup

•

Notifications

•

Managing Events, Incidents, and Problems

•

Accessing Monitoring Information

1.1 Monitoring Overview
Enterprise Manager Cloud Control monitoring functionality permits unattended
monitoring of your IT environment. Enterprise Manager comes with a comprehensive
set of performance and health metrics that allows monitoring of key components in
your environment, such as applications, application servers, databases, as well as the
back-end components on which they rely (such as hosts, operating systems, storage).
The Management Agent on each monitored host monitors the status, health, and
performance of all managed components (targets) on that host. If a target goes down,
or if a performance metric crosses a warning or critical threshold, an event is triggered
and sent to Enterprise Manager. Administrators or any interested party can be notified
of the triggered event through the Enterprise Manager notification system.
Adding targets to monitor is simple. Enterprise Manager provides you with the option
of either adding targets manually or automatically discovering all targets on a host.
Enterprise Manager can also automatically and intelligently apply monitoring settings
for newly added targets. For more information, see Administration Groups and
Template Collections). While Enterprise Manager provides a comprehensive set of
metrics used for monitoring, you can also use metric extensions (see Metric
Extensions: Customizing Monitoring) to monitor conditions that are specific to your
environment. As your data center grows, it will become more challenging to manage
individual targets separately, thus you can use Enterprise Manager's group
management functionality to organize large sets of targets into groups, allowing you to
monitor and manage many targets as one.

1.2 Comprehensive Out-of-Box Monitoring
Monitoring begins as soon as you install Enterprise Manager Cloud Control 12c.
Enterprise Manager's Management Agents automatically start monitoring their host's
systems (including hardware and software configuration data on these hosts) as soon
as they are deployed and started. Enterprise Manager provides auto-discovery scripts
that enable these Agents to automatically discover all Oracle components and start
monitoring them using a comprehensive set of metrics at Oracle-recommended
thresholds.

1-1

Chapter 1

Monitoring: Basics

This monitoring functionality includes other components of the Oracle ecosystem such
as NetApp Filer, BIG-IP load balancers, Checkpoint Firewall, and IBM WebSphere.
Metrics from all monitored components are stored and aggregated in the Management
Repository, providing administrators with a rich source of diagnostic information and
trend analysis data. When critical alerts are detected, notifications are sent to
administrators for rapid resolution.
Out-of-box, Enterprise Manager monitoring functionality provides:
•

In-depth monitoring with Oracle-recommended metrics and thresholds.

•

Monitoring of all components of your IT infrastructure (Oracle and non-Oracle) as
well as the applications and services that are running on them.

•

Access to real-time performance charts.

•

Collection, storage, and aggregation of metric data in the Management Repository.
This allows you to perform strategic tasks such as trend analysis and reporting.

•

E-mail and pager notifications for detected critical events.

Enterprise Manager can monitor a wide variety of components (such as databases,
hosts, and routers) within your IT infrastructure.
Some examples of monitored metrics are:
•

Archive Area Used (Database)

•

Component Memory Usage (Application Server)

•

Segments Approaching Maximum Extents Count (Database)

•

Network Interface Total I/O Rate (Host)

Monitoring Without Management Agents
When it is not practical to have a Management Agent present to monitor specific
components of your IT infrastructure, as might be the case with an IP traffic controller
or remote Web application, Enterprise Manager provides Extended Network and
Critical URL Monitoring functionality. This feature allows the Beacon functionality of
the Agent to monitor remote network devices and URLs for availability and
responsiveness without requiring an Agent to be physically present on that device.
You simply select a specific Beacon, and add key network components and URLs to
the Network and URL Watch Lists. Enterprise Manager monitoring concepts and the
underlying subsystems that support this functionality are discussed in the following
sections.

1.3 Monitoring: Basics
Enterprise Manager Cloud Control 13c comes with a comprehensive set of predefined
performance and health metrics that enables automated monitoring of key
components in your environment, such as applications, application servers,
databases, as well as the back-end components on which they rely, such as hosts,
operating systems, storage. While Enterprise Manager can monitor for many types of
conditions (events), the most common use of its monitoring capability centers around
the basics of monitoring for violation of acceptable performance boundaries defined by
metric values. The following sections discuss the basic concepts and Enterprise
Manger functionality that supports monitoring of targets.

1-2

Chapter 1

Monitoring: Basics

1.3.1 Metric Thresholds: Determining When a Monitored Condition is
an Issue
Some metrics have associated predefined limiting parameters called thresholds that
cause metric alerts (specific type of event) to be triggered when collected metric
values exceed these limits. Enterprise Manager allows you to set metric threshold
values for two levels of alert severity:
•

Warning - Attention is required in a particular area, but the area is still functional.

•

Critical - Immediate action is required in a particular area. The area is either not
functional or indicative of imminent problems.

Hence, thresholds are boundary values against which monitored metric values are
compared. For example, for each disk device associated with the Disk Utilization (%)
metric, you might define a warning threshold at 80% disk space used and critical
threshold at 95%.

Note:
Not all metrics need a threshold: If the values do not make sense, or are not
needed in a particular environment, they can be removed or simply not set.

While the out-of-box predefined metric threshold values will work for most monitoring
conditions, your environment may require that you customize threshold values to more
accurately reflect the operational norms of your environment. Setting accurate
threshold values, however, may be more challenging for certain categories of metrics
such as performance metrics.
For example, what are appropriate warning and critical thresholds for the Response
Time Per Transaction database metric? For such metrics, it might make more sense to
be alerted when the monitored values for the performance metric deviates from normal
behavior. Enterprise Manager provides features to enable you to capture normal
performance behavior for a target and determine thresholds that are deviations from
that performance norm.

Note:
Enterprise Manager administrators must be granted Manage Target Metrics or
greater privilege on a target in order to perform any metric threshold changes.

1.3.2 Metric Baselines: Determining Valid Metric Thresholds
Determining what metric threshold values accurately reflect the performance
monitoring needs of your environment is not trivial. Rather than relying on trial and
error to determine the correct values, Enterprise Manager provides metric baselines.
Metric baselines are well-defined time intervals (baseline periods) over which
Enterprise Manager has captured system performance metrics, creating statistical
characterizations of system performance over specific time periods. This historical

1-3

Chapter 1

Monitoring: Basics

data greatly simplifies the task of determining valid metric threshold values by
providing normalized views of system performance. Baseline normalized views of
metric behavior help administrators explain and understand event occurrences.
The underlying assumption of metric baselines is that systems with relatively stable
performance should exhibit similar metric observations (values) over times of
comparable workload. Two types of baseline periods are supported:
•

Moving Window Baseline Periods: Moving window baseline periods are defined
as some number of days prior to the current date (Example: Last 7 days). This
allows comparison of current metric values with recently observed history. Moving
window baselines are useful for operational systems with predictable workload
cycles (Example: OLTP days and batch nights).

•

Static Baseline Periods: Static baselines are periods of time you define that are
of particular interest to you (Example: End of the fiscal year). These baselines can
be used to characterize workload periods for comparison against future
occurrences of that workload (Example: Compare the end of the fiscal year from
one calendar year to the next).

1.3.3 Advanced Threshold Management
While metric baselines are generally useful for determining valid target alert
thresholds, these thresholds are static and are not able to account for expected
performance variation. There are monitoring situations in which different work loads for
a target occur at regular (expected) intervals. Here, a static alert threshold would prove
to be inaccurate. For example, the alert thresholds for a database performing Online
Transaction Process (OLTP) during the day and batch processing at night would be
different. Similarly, database workloads can change based purely on different time
periods, such as weekday versus weekend. Thus, fixed static values for thresholds
might result in false alert reporting, and with excessive alerting could generate
excessive overhead with regard to performance management. For this OLTP example,
using static baselines to determine accurate alert thresholds fails to account for
expected cyclic variations in performance, adversely affecting problem detection.
Static baselines introduce the following configuration issues:
•

Baselines configured for Batch performance may fail to detect OLTP performance
degradation.

•

Baselines configured for OLTP performance may generate excessive alerts during
Batch cycles

Beginning with Enterprise Manager Release 12.1.0.4, Advanced Threshold
Management can be used to compute thresholds using baselines that are either
adaptive (self-adjusting) or time-based (user-defined).
•

Adaptive Thresholds: Allows Enterprise Manager to statistically compute threshold
that are adaptive in nature. Adaptive thresholds apply to all targets (both Agent
and repository monitored).

•

Time-based Thresholds: Allows you to define a specific threshold values to be
used at different times to account for changing workloads over time.

A convenient UI allows you to create time-based and adaptive thresholds. From a
target home page (a host, for example), navigate to the Metric Collection and Settings
page. Click Advanced Threshold Management in the Related Links region.
Only numeric and View Collect metrics can be registered as adaptive thresholds. In
addition, only the following types of metrics are permitted:

1-4

Chapter 1

Monitoring: Basics

•

Load

•

Load Type

•

Utilization and Response

1.3.4 Events: Defining What Conditions are of Interest
When a metric threshold value is reached, a metric alert is raised. A metric alert is a
type of event. An event is a significant occurrence that indicates a potential problem;
for example, either a warning or critical threshold for a monitored metric has been
crossed. Other examples of events include: database instance is down, a configuration
file has been changed, job executions ended in failure, or a host exceeded a specified
percentage CPU utilization. Two of the most important event types used in enterprise
monitoring are:
•

Metric Alert

•

Target Availability

For more information on events and available event types for which you can monitor,
see Using Incident Management .

1.3.5 Corrective Actions: Resolving Issues Automatically
Corrective actions allow you to specify automated responses to metric alerts, saving
administrator time and ensuring issues are dealt with before they noticeably impact
users. For example, if Enterprise Manager detects that a component, such as the
SQL*Net listener is down, a corrective action can be specified to automatically start it
back up. A corrective action is, therefore, any task you specify that will be executed
when a metric triggers a warning or critical alert severity. In addition to performing a
corrective task, a corrective action can be used to gather more diagnostic information,
if needed. By default, the corrective action runs on the target on which the event has
been raised.
A corrective action can also consist of multiple tasks, with each task running on a
different target. Administrators can also receive notifications for the success or failure
of corrective actions. A corrective action can also consist of multiple tasks, with each
task running on a different target.
Corrective actions for a target can be defined by all Enterprise Manager administrators
who have been granted Manage Target Metrics or greater privilege on the target. For
any metric, you can define different corrective actions when the metric triggers at
warning severity or at critical severity.
Corrective actions must run using the credentials of a specific Enterprise Manager
administrator. For this reason, whenever a corrective action is created or modified, the
credentials that the modified action will run with must be specified. You specify these
credentials when you associate the corrective action with elements such as incident or
event rules.

1.3.6 Metric Extensions: Customizing Monitoring
Metric Extensions let you extend Enterprise Manager's monitoring capabilities to cover
conditions specific to your IT environment, thus providing you with a complete and
comprehensive view of your monitored environment.

1-5

Chapter 1

Monitoring: Basics

Metric extensions allow you to define new metrics on any target type that utilize the
same full set of data collection mechanisms used by Oracle provided metrics. For
example, some target types you can create metrics on are:
•

Hosts

•

Databases

•

IBM Websphere

•

Oracle Exadata Databases and Storage Servers

•

Oracle Business Intelligence Components

Once these new metrics are defined, they are used like any other Enterprise Manager
metric. For more information about metric extensions, see Using Metric Extensions .
User-Defined Metrics (Pre-12c)
If you upgraded your Enterprise Manager 12c site from an older version of Enterprise
Manager, then all user-defined metrics defined in the older version will also be
migrated to Enterprise Manager 12c. These user-defined metrics will continue to work,
however they will no longer be supported a future release. If you have existing userdefined metrics, it is recommended that you migrate them to metric extensions as
soon as possible to prevent potential monitoring disruptions in your managed
environment. For information about the migration process, see Converting Userdefined Metrics to Metric Extensions in Using Metric Extensions

1.3.7 Blackouts and Notification Blackouts
Blackouts allow you to support planned outage periods to perform scheduled or
emergency maintenance. When a target is put under blackout, monitoring is
suspended, thus preventing unnecessary alerts from being sent when you bring down
a target for scheduled maintenance operations such as database backup or hardware
upgrade. Blackout periods are automatically excluded when calculating a target's
overall availability.
A blackout period can be defined for individual targets, a group of targets or for all
targets on a host. The blackout can be scheduled to run immediately or in the future,
and to run indefinitely or stop after a specific duration. Blackouts can be created on an
as-needed basis, or scheduled to run at regular intervals. If, during the maintenance
period, you discover that you need more (or less) time to complete maintenance tasks,
you can easily extend (or stop) the blackout that is currently in effect. Blackout
functionality is available from both the Enterprise Manager console as well as via the
Enterprise Manager command-line interface (EM CLI). EM CLI is often useful for
administrators who would like to incorporate the blacking out of a target within their
maintenance scripts. When a blackout ends, the Management Agent automatically reevaluates all metrics for the target to provide current status of the target post-blackout.
If an administrator inadvertently performs scheduled maintenance on a target without
first putting the target under blackout, these periods would be reflected as target
downtime instead of planned blackout periods. This has an adverse impact on the
target's availability records. In such cases, Enterprise Manager allows Super
Administrators to go back and define the blackout period that should have happened
at that time. The ability to create these retroactive blackouts provides Super
Administrators with the flexibility to define a more accurate picture of target availability.
Notification Blackouts

1-6

Chapter 1

Monitoring: Advanced Setup

Beginning with Enterprise Manager 13c, you can stop notifications only. These are
called Notification Blackouts and are intended solely for suppressing event
notifications on targets. Because the Agent continues to monitor the target during the
Notification Blackout duration, the OMS will continue to show the actual target status
along with an indication that the target is currently under Notification Blackout.

1.4 Monitoring: Advanced Setup
Enterprise Manager greatly simplifies managing your monitored environment and also
allows you to customize and extend Enterprise Manager monitoring capabilities.
However, the primary advantage Enterprise Manager monitoring provides is the ability
to monitor and manage large-scale, heterogeneous environments. Whether you are
monitoring an environment with 10 targets or 10,000 targets, the following Enterprise
Manager advanced features allow you to implement and maintain your monitored
environment with the equal levels of convenience and simplicity.

1.4.1 Monitoring Templates
Monitoring Templates simplify the task of standardizing monitoring settings across
your enterprise by allowing you to specify your standards for monitoring in a template
once and apply them to monitored targets across your organization. This makes it
easy for you to apply specific monitoring settings to specific classes of targets
throughout your enterprise. For example, you can define one monitoring template for
test databases and another monitoring template for production databases.
A monitoring template defines all Enterprise Manager parameters you would normally
set to monitor a target, such as:
•

Target type to which the template applies.

•

Metrics (including user-defined metrics), thresholds, metric collection schedules,
and corrective actions.

When a change is made to a template, you can reapply the template across affected
targets in order to propagate the new changes. The apply operation can be automated
using Administration Groups and Template Collections. For any target, you can
preserve custom monitoring settings by specifying metric settings that can never be
overwritten by a template.
Enterprise Manager comes with an array of Oracle-certified templates that provide
recommended metric settings for various Oracle target types.
For more information about monitoring templates, see Using Monitoring Templates .

1.4.2 Administration Groups and Template Collections
Monitored environments are rarely static—new targets are constantly being added
from across your ecosystem. Enterprise Manager allows you to maintain control of this
dynamic environment through administration groups. Administration groups automate
the process of setting up targets for management in Enterprise Manager by
automatically applying management settings such as monitoring settings or
compliance standards. Typically, these settings are manually applied to individual
targets, or perhaps semi-automatically using monitoring templates (see Monitoring
Templates) or custom scripts. Administration groups combine the convenience of
applying monitoring settings using monitoring templates with the power of automation.

1-7

Chapter 1

Monitoring: Advanced Setup

Template collections contain the monitoring settings and other management settings
that are meant to be applied to targets as they join the administration group.
Monitoring settings for targets are defined in monitoring templates. Monitoring
templates are defined on a per target type basis, so you will need to create monitoring
templates for each of the different target types in your administration group. You will
most likely create multiple monitoring templates to define the appropriate monitoring
settings for an administration group.
Every target added to Enterprise Manager possesses innate attributes called target
properties. Enterprise Manager uses these target properties to add targets to the
correct administration group. Administration group membership is based on target
properties as membership criteria so target membership is dynamic. Once added to
the administration group, Enterprise Manager automatically applies the requisite
monitoring settings using monitoring templates that are part of the associated template
collection .
Administration groups use the following target properties to define membership
criteria:
•

Contact

•

Cost Center

•

Customer Support Identifier

•

Department

•

Lifecycle Status

•

Line of Business

•

Location

•

Target Version

•

Target Type

1.4.3 Customizing Alert Messages
Whenever a metric threshold is reached, an alert is raised along with a metric-specific
message. These messages are written to address generic metric alert conditions.
Beginning with Enterprise Manager Release 12.1.0.4, you can customize these
messages to suit the specific requirements of your monitored environment.
Customizing an alert message allows you to tailor the message to suit your monitoring
needs. You can tailor the message to include their operational context specific to your
environment such as IT error codes used in your data center, or add additional
information collected by Enterprise Manager such as:
•

Metric name for which the alert has been triggered

•

Severity level of the alert or violation

•

Threshold value for which warning or critical violation has been triggered

•

Number of Occurrences after which alert has been triggered

Alert message customization allows for more efficient alert management by increasing
message usability.
To customize a metric alert message:
1.

Navigate to a target homepage.

1-8

Chapter 1

Monitoring: Advanced Setup

2.

From the target menu (host target type is shows in the graphic), select Monitoring
and then Metric and Collection Settings.

The Metric and Collection Settings page displays.
3.

In the metric table, find the specific metric whose message you want to change
and click the edit icon (pencil).

The Edit Advanced Settings page displays.
4.

In the Monitored Objects region, click Edit Alert Message.

1-9

Chapter 1

Notifications

5.

Modify the alert message as appropriate.

Note:
To change your revised message back to the original Oracle-defined message
at any time, click Reset Alert Message.
6.

Click Continue to return to the Metric and Collection Settings page.

7.

To modify additional metric alert messages, repeat steps three through six.

8.

Once you are finished, click OK to save all changes to the Enterprise Manager
Repository. Enterprise Manager will display a message indicating the updates
have succeeded.

9.

Click OK to dismiss the message and return to the target homepage.

1.5 Notifications
For a typical monitoring scenario, when a target becomes unavailable or if thresholds
for performance are crossed, events are raised and notifications are sent to the
appropriate administrators. Enterprise Manager supports notifications via email, pager,
SNMP traps, or by running custom scripts and allows administrators to control these
notification mechanisms through:
•

Notification Methods

•

Rules and Rule Sets

•

Notification Blackouts

Notification Methods
A notification method represents a specific way to send notifications. Besides e-mail,
there are three types of notification methods: OS Command, PL/SQL, SNMP Traps.
When configuring a notification method, you need to specify the particulars associated
with a specific notification mechanism such as which SMTP gateway(s) to use for email or which custom OS script to run. Super Administrators perform a one-time setup
of the various types of notification methods available for use.
Rules

1-10

Chapter 1

Managing Events, Incidents, and Problems

A rule instructs Enterprise Manager to take specific action when events or incidents
(entity containing one important event or related events) occur, such as notifying an
administrator or opening a helpdesk ticket (see Managing Events, Incidents, and
Problems). For example, you can define a rule that specifies e-mail should be sent to
you when CPU Utilization on any host target is at critical severity, or another rule that
notifies an administrator's supervisor if an incident is not acknowledged within 24
hours.
Notification Blackouts
Notification Blackouts allow you to stop notifications while at the same time allowing
the Agents to continue monitoring your targets. This allows Enterprise Manager to
more accurately collect target availability information. For more information, see
"Blackouts and Notification Blackouts."

1.5.1 Customizing Notifications
Notifications that are sent to Administrators can be customized based on message
type and on-call schedule. Message customization is useful for administrators who rely
on both e-mail and paging systems as a means for receiving notifications. The
message formats for these systems typically vary—messages sent to e-mail can be
lengthy and can contain URLs, and messages sent to a pager are brief and limited to a
finite number of characters. To support these types of mechanisms, Enterprise
Manager allows administrators to associate a long or short message format with each
e-mail address. E-mail addresses that are used to send regular e-mails can be
associated with the long format; pages can be associated with the short format. The
long format contains full details about the event/incident; the short format contains the
most critical pieces of information.
Notifications can also be customized based on an administrator's on-call schedule. An
administrator who is on-call might want to be contacted by both his pager and work
email address during business hours and only by his pager address during off hours.
Enterprise Manager offers a flexible notification schedule to support the wide variety of
on-call schedules. Using this schedule, an administrator defines his on-call schedule
by specifying the email addresses by which they should be contacted when they are
on-call. For periods where they are not on-call, or do not wish to receive notifications
for incidents, they simply leave that part of the schedule blank. All alerts that are sent
to an administrator automatically adhere to his specified schedule.

1.6 Managing Events, Incidents, and Problems
Enterprise Manager's monitoring functionality is built upon the precept of monitoring by
exception. This means it monitors and raises events when exception conditions exist
in your IT environment and allowing administrators to address them in a timely
manner. As discussed earlier, the two most commonly used event types to monitor for
are metric alert and target availability. Although these are the most common event
types for which Enterprise Manager monitors, there are many others. Available event
types include:
•

Target Availability

•

Metric Alert

•

Metric Evaluation Errors

•

Job Status Changes

1-11

Chapter 1

Managing Events, Incidents, and Problems

•

Compliance Standard Rule Violations

•

Compliance Standard Score Violations

•

High Availability

•

Service Level Agreement Alerts

•

User-reported

•

JVM Diagnostics Threshold Violation

By definition, an incident is a unit containing a single, or closely correlated set of
events that identify an issue that needs administrator attention within your managed
environment. So an incident might be as simple as a single event indicating available
space in a tablespace has fallen below a specified limit, or more complex such as an
incident consisting of multiple events relating to potential performance issue when a
server is running out of resources. Such an incident would contain events relating to
the usage of CPU, I/O , and memory resources. Managing by incident gives you the
ability to address issues that may consist of any number of causal factors. For an indepth discussion on incidents and events, see Using Incident Management .
Although incidents can correspond to a single events, incidents more commonly
correspond to groups of related events. A large number of discrete events can quickly
become unmanageable, but handled as an assemblage of related events, incidents
allow you to manage large numbers of event occurrences more effectively.
Once an incident is created, Enterprise Manager makes available a rich set of incident
management workflow features that let you to manage and track the incident through
its complete lifecycle. Incident management features include:
•

Assign incident ownership.

•

Track the incident resolution status.

•

Set incident priority.

•

Set incident escalation level.

•

Ability to provide a manual summary.

•

Ability to add user comments.

•

Ability to suppress/unsuppress

•

Ability to manually clear the incident.

•

Ability to create a ticket manually.

Problems pertain to the diagnostic incidents and problems stored in Automatic
Diagnostic Repository (ADR), which are automatically raised by Oracle software when
it encounters critical errors in the software. When problems are raised for Oracle
software, Oracle has determined that the recommended recourse is to open a Service
Request (SR), send support the diagnostic logs, and eventually provide a solution from
Oracle. A problem represents the underlying root cause of a set of incidents.
Enterprise Manager provides features to track and manage the lifecycle of a problem.

1.6.1 Incident Manager
Enterprise Manager Cloud Control simplifies managing incidents through an intuitive
UI called Incident Manager. Incident Manager provides and easy-to-use interface that
allows you to search, view, manage, and resolve incidents and problems impacting

1-12

Chapter 1

Managing Events, Incidents, and Problems

your environment. To access Incident Manager, from the Enterprise menu, select
Monitoring, and then Incident Manager.
Figure 1-1

Incident Manager

From the Incident Manager UI, you can:
•

Filter incidents, problems, and events by using custom views
topicid:emadm_cs_gs_filter

•

Respond and work on an incident topicid:incmgr_work_incident

•

Manage incident lifecycle including assigning, acknowledging, tracking its status,
prioritization, and escalation

•

Access (in context) My Oracle Support knowledge base articles and other Oracle
documentation to help resolve the incident.

•

Access direct in-context diagnostic/action links to relevant Enterprise Manager
functionality allowing you to quickly diagnose or resolve the incident.

1.6.2 Incident Rules and Rule Sets
An incident rule specifies criteria and actions that determine when a notification should
be sent and how it should be sent whenever an event or incident is raised. The criteria
defined within a rule can apply to attributes such as the target type, events and
severity states (clear, warning or critical) and the notification method that should be
used when an incident is raised that matches the rule criteria. Rule actions can be
conditional in nature. For example, a rule action can be defined to page a user when
an incident severity is critical or just send e-mail if it is warning.
A rule set is a collection of rules that apply to a common set of targets such as hosts,
databases, groups, jobs, metric extensions, or self updates and take appropriate
actions to automate the business processes underlying incident. Incident rule sets can
be made public for sharing across administrators. For example, administrators can
subscribe to the same rule set if they are interested in receiving notifications for the
same criteria defined in the rule. Alternatively, an Enterprise Manager Super

1-13

Chapter 1

Managing Events, Incidents, and Problems

Administrator can assign incident rule sets to other administrators so that they receive
notifications for incidents as defined in the rule.
In addition to being used by the notification system (see Rules in Notifications ), rule
sets can also instruct Enterprise Manager to perform other actions, such as creating
incidents, updating incidents, or call into a trouble ticketing system as discussed in
Connectors.

1.6.3 Connectors
An Oracle Management Connector integrates third-party management systems with
Enterprise Manager. There are two types of connectors: Event connectors and
helpdesk connectors.
Using the event connector, you can configure Enterprise Manager to share events with
non-Oracle management systems. The connector monitors all events sent from Oracle
Enterprise Manager and automatically updates alert information in the third-party
management system. Event connectors support the following functions:
•

Sharing of event information from Oracle Enterprise Manager to the third-party
management system.

•

Customization of event to alert mappings between Oracle Enterprise Manager and
the third-party management system.

•

Synchronization of event changes in Oracle Enterprise Manager with the alerts in
the third-party management system.

Using the helpdesk connector, you can configure Enterprise Manager to create,
update, or close a ticket for any event created in Enterprise Manager. The ticket
generated by the connector contains the relevant information about the Enterprise
Manager incident, including a link to the Enterprise Manager console to enable
helpdesk analysts leverage Enterprise Manager's diagnostic and resolution features to
resolve the incident. In Enterprise Manger, the ticket ID, ticket status, and link to the
third-party ticketing system is the shown in the context of the incident. This provides
Enterprise Manager administrators with ticket status information and an easy way to
quickly access the ticket.
Available connectors include:
•

BMC Remedy Service Desk Connector

•

HP Service Manager Connector

•

CA Service Desk Connector

•

HP Operations Manager Connector

•

Microsoft Systems Center Operations Manager Connector

•

IBM Tivoli Enterprise Console Connector

•

IBM Tivoli Netcool/OMNIbus Connector

For more information about Oracle-built connectors, see the Enterprise Manager Plugins Exchange.
http://www.oracle.com/goto/emextensibility

1-14

Chapter 1

Accessing Monitoring Information

1.7 Accessing Monitoring Information
Enterprise Manager provides multiple ways to access monitoring information. The
primary focal point for incident management is the Incident Manager console, however
Enterprise Manager also provides other ways to access monitoring information. The
following figures show the various locations within Enterprise Manager that display
target monitoring information. The following figure shows the Enterprise Manager
Overview page that conveniently displays target status rollup and rollup of incidents.

Figure 1-2

Enterprise Manager Console

The next figure shows the Incident Manager home page which displays incidents for a
system or target.

1-15

Chapter 1

Accessing Monitoring Information

Figure 1-3

Incident Manager (in context of a system or target)

Monitoring information is also displayed on target home pages. In the following figure,
you can see target status as well as a rollup of incidents.

Figure 1-4

Target Home Pages

1-16

2
Using Incident Management
Incident management allows you to monitor and resolve service disruptions quickly
and efficiently by allowing you to focus on what is important from a broader
management perspective (incidents) rather than isolated, discrete events that may
point to the same underlying issue.
In this chapter:

You will learn:

Management Concepts

Fundamental approaches to managing your
monitored environment.
•
•
•

Setting Up Your Incident Management
Environment

How to set up and configure key Enterprise
Manager components used for incident
management.
•
•
•

Working with Incidents

Setting Up Your Monitoring Infrastructure
Setting Up Notifications
Setting Up Administrators and Privileges

How to use incident management to track and
resolve IT operation issues.
•
•
•
•
•
•
•
•
•
•

Common Tasks

Event Management
Incident Management
Problem Management

Finding What Needs to be Worked On
Searching for Incidents
Setting Up Custom Views
Responding and Working on a Simple
Incident
Responding to and Managing Multiple
Incidents, Events and Problems in Bulk
Searching My Oracle Support Knowledge
Submitting an Open Service Request
(Problems-only)
Suppressing Incidents and Problems
Managing Workload Distribution of
Incidents
Reviewing Events on a Periodic Basis

Step-by-step examples illustrating how to
perform common incident management tasks..
•
•
•
•

Sending Email for Metric Alerts
Sending SNMP Traps for Metric Alerts
Sending Events to an Event Connector
Sending Email to Different Email
Addresses for Different Periods of the Day

2-1

Chapter 2

Management Concepts

In this chapter:

You will learn:

Advanced Topics

How to perform specialized incident
management operations.
•
•
•
•
•
•

Moving from Enterprise Manager 10/11g to
12c and Greater

Defining Custom Incident Statuses
Clearing Stateless Alerts for Metric Alert
Event Types
User-reported Events
Additional Rule Applications
Event Prioritization
Root Cause Analysis (RCA) and Target
Down Events

Migrating notification rules to incident rules.

2.1 Management Concepts
Enterprise Manager exposes three levels of management granularity that, when
combined, provide complete monitoring/management coverage of your environment.
These management levels are:
•

Event Management

•

Incident Management

•

Problem Management

•

Rule Sets

•

Incident Manager

2.1.1 Event Management
Intuitively, you monitor for specific events in your monitored environment. An event is a
significant occurrence on a managed target that typically indicates something has
occurred outside normal operating conditions--they provide a uniform way to indicate
that something of interest has occurred in an environment managed by Enterprise
Manager. Examples of events are:
•

Metric Alerts

•

Compliance Violations

•

Job Events

•

Availability Alerts

Existing Enterprise Manager customers may be familiar with metric alerts and metric
collection errors. For Enterprise Manager 12c, metric alerts are a type of event, one of
many different event types. The notion of an event unifies the different exception
conditions that are detected by Enterprise Manager, such as monitoring issues or
compliance issues, into a common concept. It is backed by a consistent and uniform
set of event management capabilities that can indicate something of interest has
occurred in a datacenter managed by Enterprise Manager.
All events have the following attributes:

2-2

Chapter 2

Management Concepts

Table 2-1

Event Attributes

Attribute

Description

Type

Type of event that is being reported. All events of a specific type
share the same set of attributes that describe the exact nature of
the problem. For example, Metric Alert, Compliance Standard
Score Violation, or Job Status Change.

Severity

Event severity. For example, Fatal, Warning, or Critical.

Internal Name

An internal name that describes the nature of the event and can
be used to search for events. For example, you can search for
all tablespacePctUsed events.

Entity on which the event is
raised.

An event can be raised on a target, a non-target source object
(such as a job) or be related to a target and a non-target source
object. Note: This attribute is important when determining what
privileges are required to manage the event.

Message

Informational text associated with the event.

Reported Date

Time the event was reported.

Category

Functional or operational classification for an event.
Available Categories:
•
•
•
•
•
•
•
•
•
•
•

Causal Analysis Update

Availability
Business
Capacity
Configuration
Diagnostics
Error
Fault
Jobs
Load
Performance
Security

Used for Root Cause Analysis of target down events.
Possible Values: Root Cause or Symptom

Event Types
The type of an event defines the structure and payload of an event and provides the
details of the condition it is describing. For example, a metric alert raised by threshold
violation has a specific payload whereas a job state change has a different structure.
As shown in the following table, the range of events types greatly expands Enterprise
Manager's monitoring flexibility.
Event Type

Description

Target Availability

The Target Availability Event represents a
target's availability status (Example: Up,
Down, Agent Unreachable, or Blackout).

2-3

Chapter 2

Management Concepts

Event Type

Description

Metric Alert

A metric alert event is generated when an
alert occurs for a metric on a specific target
(Example: CPU utilization for a host target)
or metric on a target and object combination
Example: Space usage on a specific
tablespace of a database target.

Metric Evaluation Error

A metric evaluation error is generated when
the collection for a specific metric group fails
for a target.

Job Status Change

All changes to the status of an Enterprise
Manager job are treated as events, and
these events are made available via the Job
Status Change event class.
Note: A prerequisite to creating Incident
Rules, is to enable the relevant job status
and add required targets to job event
generation criteria. To change this criteria,
from the Setup menu, select Incidents, and
then Job Events.

Compliance Standard Rule Violation

Events are generated for compliance
standard rule violations. Each event
corresponds to a violation of a compliance
rule on a specific target.

Compliance Standard Score Violation

Events are generated for compliance
standard score violations. An event is
generated when the compliance score for a
compliance standard on a specific target falls
below predefined thresholds.

High Availability

High Availability events are generated for
database availability operations (shutdown
and startup), database backups and Data
Guard operations (switchover, failover, and
other state changes).

Service Level Agreement Alert

These events are generated when a service
level or service level objective is violated for
a service. occurs for a Service Level
Agreement or a Service Level Objective.

User-reported

These events are created by end-users.

Application Performance Management KPI Alert An Application Performance Management
(APM) Key Performance Indicator (KPI) alert
event is generated when a KPI violation alert
occurs for a metric on an APM managed
entity associated with a Business Application
target.
JVM Diagnostics Threshold Violation

A JVMD Diagnostics event is raised when a
JVMD metric exceeds its threshold value on
a Java Virtual Machine target.

Event Severity
The severity of an event indicates the criticality of a specific issue. The following table
shows the various event severity levels along with the associated icon.

2-4

Chapter 2

Management Concepts

Icon

Severity

Description

Fatal

Corresponding service is no longer available. For example, a
monitored target is down (target down event). A Fatal severity is
the highest level severity and only applies to the Target Availability
event type.

Critical

Immediate action is required in a particular area. The area is either
not functional or indicative of imminent problems.

Warning

Attention is required in a particular area, but the area is still
functional.

Advisory

While the particular area does not require immediate attention,
caution is recommended regarding the area's current state. This
severity can be used, for example, to report Oracle best practice
violations.

Clear

Conditions that raised the event have been resolved.

Informational A specific condition has just occurred but does not require any
remedial action.
Events with an informational severity:
•
•
•

do not appear in the incident management UI.
cannot create incidents.
are not stored within Enterprise Manager.

2.1.2 Incident Management
You monitor and manage your Enterprise Manager environment via incidents and not
discrete events (even though an incident can conceivably consist of a single event). Of
all events raised within your managed environment, there is likely only a subset that
you need to act on because they impact your business applications (such as a target
down event). However, managing by incident also allows you to address more
complex situations where the subset of events you are interested in are related and
may indicate a higher level issue needs to be addressed as a single issue and not as
individual events: A cluster of events by themselves may indicate a minor
administrative issue, but when viewed together may signify a larger problem that can
potentially consist of events from multiple domains/layers of your monitored
infrastructure.
For example, you are monitoring a host. If you want to monitor 'load' being placed on
one or more hosts you might be interested in events such as CPU utilization, memory

2-5

Chapter 2

Management Concepts

utilization, and swap utilization exceeding acceptable metric thresholds. Individually,
these events may or may not indicate an issue with the host, but together, these
events form an incident indicating extreme load is being placed on a monitored host.
Incidents represent the larger service disruptions that may impact your business
instead of discrete events. Managing by incidents, therefore, allows you to monitor for
complex operational issues that may affect multiple domains that may impact your
business. These incidents typically need to be tracked, assigned to appropriate
personnel, and resolved as quickly as possible. You can effectively implement a
centralized monitoring that consolidates monitoring information and more effectively
allocate resource across your ecosystem to resolve or prevent issues from occurring.
The end result is better implementation of your business processes that in turn lead to
better performance of your IT resources.
While events indicate issues requiring attention in your managed environment, it is
more efficient to work on a collective subset of related events as a single unit of work-you can work on different events representing the same issue or you can work on one
incident containing multiple space-related events. For example, you have multiple
space events from various targets that indicate you are running low on space. Instead
of managing numerous discrete events, you can more efficiently manage a smaller set
of incidents.
An incident is a significant event or set of related significant events that need to be
managed because it can potentially impact your business applications. These
incidents typically need to be tracked, assigned to appropriate personnel, and resolved
as quickly as possible. You perform these incident management operations through
Incident Manager, an intuitive UI within Enterprise Manager.
Incident Manger provides you with a central location from which to view, manage,
diagnose and resolve incidents as well as identify, resolve and eliminate the root
cause of disruptions. See Incident Manager for more information about this UI.

2.1.2.1 Working with Incidents
When an incident is created, Enterprise Manager makes available a rich set of incident
management workflow features that let you to manage and track the incident through
its complete lifecycle.
•

Assign incident ownership.

•

Track the incident resolution status.

•

Set incident priority.

•

Set incident escalation level.

•

Ability to provide a manual summary.

•

Ability to add user comments.

•

Ability to suppress/unsuppress

•

Ability to manually clear the incident.

•

Ability to create a ticket manually.

All incident management/tracking operations are carried out from Incident Manager.
Creation of incidents for events, assignment of incidents to administrators, setting
priority, sending notifications and other actions can be automated using (incident)
rules.

2-6

Chapter 2

Management Concepts

Incident Status
The lifecycle of an incident within an organization is typically determined by two pieces
of information: The current resolution state of the incident (Incident Status) and how
important it is to resolve the incident relative to other incidents (Priority). As key
incident attributes, the following options are available:
•

New

•

Work in Progress

•

Closed

•

Resolved

You can define additional statuses if the default options are not adequate. In addition,
you can change labels using the Enterprise Manager Command Line Interface (EM
CLI). See Advanced Topics for more information.
Priority
By changing the priority, you can escalate the incident and perform operations such as
assigning it to a specific IT operator or notifying upper-management. The following
priority options are available:
•

None

•

Low

•

Medium

•

High

•

Very High

•

Urgent

Priority is often based on simple business rules determined by the business impact
and the urgency of resolution.
Incident Attributes
Every incident possesses attributes that provide information as identification, status for
tracking, and ownership. The following table lists available incident attributes.
Incident Attribute

Definition

Escalated

An escalation level signifying a escalation to raise the level of
attention on the incident from your organization's IT or
management hierarchy.
Available escalation levels:
•
•

None (Not escalated)
Level 1 through Level 5

2-7

Chapter 2

Management Concepts

Incident Attribute

Definition

Category

Operational or organizational classification for an incident.
Incidents (and events) can have multiple categories.
Categories for all events within an incident are aggregated.
Available Categories:
•
•
•
•
•
•
•
•
•
•
•

Availability
Business
Capacity
Configuration
Diagnostics
Error
Fault
Jobs
Load
Performance
Security

Summary

An intuitive message indicating what the incident is about. By
default, the incident summary is pulled from the message of the
last event of the incident, however, this message can be
changed to a fixed summary by any administrator working on the
incident.

Incident Created

Date and time the incident was created.

Last Updated

Date and time the incident was last updated or when the incident
was closed.

Severity

Severity is based on the worst severity of the events in the
incident. For example, Fatal, Warning, or Critical.

Source

Source entities of the incident.

Priority

Priority Values
•
•
•
•
•
•

None (Default)
Low
Medium
High
Very High
Urgent

2-8

Chapter 2

Management Concepts

Incident Attribute

Definition

Status

Incident Status.
•
•
•

New (Default)
Work in Progress
Closed (Terminal state when the incident is closed. See
below for more information.)
•
Resolved
You can define additional statuses if the default options are not
adequate. In addition, you can change labels using the
Enterprise Manager Command Line Interface (EM CLI).
Closed Status: Enterprise Manager automatically sets the status
to closed when an incident severity is cleared--administrators do
not manually select the Closed status. The incident severity is
set to Clear when all of the events contained within the incident
have been cleared. Typically the Agent sets the Clear severity,
as would be the case when a metric alert value falls below a
severity threshold. If an event or incident supports manual
clearing, then the Clear option will be shown in the Incident
Manager UI. Once an incident has been cleared by an
administrator or by Enterprise Manager, only then will Enterprise
Manager set the status to Closed.If you do not see the option to
clear the incident in the UI, this means Enterprise Manager will
automatically set the status to Clear if it detects the monitored
condition no longer holds true. For example, you want to indicate
that an incident has been fixed. You can set the status to
Resolved and Enterprise Manager will set the status to Closed
when it clears the severity.

Comment

Annotations added by an administrator to communicate analysis
information or actions taken to resolve the incident.

Owner

Administrator/user currently working on the incident.

Acknowledged

Indicates that a user has accepted ownership of an incident or
problem. Available options: Yes or No.
When an incident is acknowledged, it will be implicitly assigned
to the user who acknowledged it. When a user assigns an
incident to himself, it is considered 'acknowledged'. Once
acknowledged, an incident cannot be unacknowledged, but can
be assigned to another user. Acknowledging an incident stops
any repeat notifications for that incident.

Causal Analysis Update

Used for Root Cause Analysis of target down incidents.
Possible Values: Root Cause or Symptom

2.1.2.2 Incident Composed of a Single Event
The simplest incident is composed of a single event. In the following example, you are
concerned whenever any production target is down. You can create an incident for the
target down event which is raised by Enterprise Manager if it detects the monitored
target is down. Once the incident is created, you will have all incident management
functionality required to track and manage its resolution.

2-9

Chapter 2

Management Concepts

Figure 2-1

Incident with a Single Event

The figure shows how both the incident and event attributes are used to help you
manage the incident. From the figure, we see that the database DB1 has gone down
and an event of Fatal severity has been raised. When the event is newly generated,
there is no ownership or status. An incident is opened that can be updated manually or
by automated rules to set owners, status, as well as other attributes. In the example,
the owner/administrator Scott is currently working to resolve the issue.
The incident severity is currently Fatal as the incident inherits the worst severity of all
the events within incident. In this case there is only one event associated with the
incident so the severity is Fatal.

2.1.2.3 Incident Composed of Multiple Events
Situations of interest may involve more than a single event. It is an incident's ability to
contain multiple events that allows you to monitor and manage complex and more
meaningful issues.

Note:
Multi-event incidents are not automatically generated.

For example, if a monitored system is running out of space, separate multiple events
such as tablespace full and filesystem full may be raised. Both, however, are related to
running out of space. Another machine resource monitoring example might be the
simultaneous raising of CPU utilization, memory utilization, and swap utilization
events. See "Creating an Incident Manually" for more information. Together, these
events form an incident indicating extreme load is being placed on a monitored host.
The following figure illustrates this example.

2-10

Chapter 2

Management Concepts

Figure 2-2

Incident with Multiple Events

Incidents inherit the worst severity of all the events within incident. The incident
summary indicates why this incident should be of interest, in this case, "Machine Load
is high". This message is an intuitive indicator for all administrators looking at this
incident. By default, the incident summary is pulled from the message of the last event
of the incident, however, this message can be changed by any administrator working
on the incident.
Because administrators are interested in overall machine load, administrator Sam has
manually created an incident for these two metric events because they are related—
together these events represent a host overload situation. An administrator needs to
take action because memory is filling up and consumed CPU resource is too high. In
its current state, this condition will impact any applications running on the host.

2.1.2.4 How are Incidents Created?
Incidents are most commonly created automatically through rules and rule sets (userdefined instructions that tell Incident Manager how to handle specific events when they
occur). As shown in the preceding examples, incidents can also be created manually.
Once an incident is raised, its severity is inherited from the worst severity of all events
within the incident. The latest event Message, by default, becomes the Incident
Summary. Beginning with Enterprise Manager 13c, you can also define customized
messages for grouped incidents. Incidents can also be created manually. See
"Creating an Incident Manually" for more information.

2.1.3 Problem Management
Problem management involves the functionality that helps track the underlying root
causes of incidents. Once the immediate service disruptions represented by incidents
are resolved, you can then progress to understanding and resolving the underlying
root cause of the issue.

2-11

Chapter 2

Management Concepts

For Enterprise Manager 12c, problems focus on the diagnostic incidents and problem
diagnostic incidents/problems stored in Advanced Diagnostic Repository (ADR), which
are automatically raised by Oracle software when it encounters critical errors in the
software. A problem, therefore, represents the root cause of all the Oracle software
incidents. For these diagnostic incidents, in order to address root cause, a problem is
created that represents the root cause of these diagnostic incidents. A problem is
identified by a problem key which uniquely identifies the particular error in software.
Each occurrence of this error results in a diagnostic incident which is then associated
with the problem object.
When a problem is raised for Oracle software, Oracle has determined that the
recommended recourse is to open a service request (SR), send support the diagnostic
logs, and eventually provide a solution from Oracle. As an incident, Enterprise
Manager makes available all tracking, diagnostic, and reporting functions for problem
management. Whenever you view all open incidents and problems, whether you are
using Incident Manager, or in context of a target/group home page, you can easily
determine what issues are actually affecting your monitored target.
To manage problems, you can use Support Workbench to package the diagnostic
details gathered in ADR and open SR. Users should then manage the problems in
Incident Manager. Access to Support Workbench functionality is available through
Incident Manager (Guided Resolution area) in context of the problem.

2.1.4 Rule Sets
Incident rules and rule sets automate actions related to events, incidents and
problems. They can automate the creation of incidents based on important events,
perform notification actions such as sending email or opening helpdesk tickets, or
perform operations to manage the incident workflow lifecycle such as changing
incident ownership, priority, or escalation level.
With previous versions of Enterprise Manager, you used notification rules to choose
the individual targets and conditions for which you want to perform actions or receive
notifications (send email, page, open a helpdesk ticket) from Enterprise Manager. For
Enterprise Manager 13c, the concept and function of notification rules has been
replaced with incident rules and rule sets.
•

Rules: A rule instructs Enterprise Manager to take specific actions when incidents,
events, or problems occur, such as performing notifications. Beyond notifications,
rules can also instruct Enterprise Manager to perform specific actions, such as
creating incidents, updating incidents and problems. The actions can also be
conditional in nature. For example, a rule action can be defined to page a user
when an incident severity is critical or just send email if it is warning.

•

Rule Set: An incident rule set is a collection of rules that apply to a common set of
objects such as targets (hosts, databases, groups), jobs, metric extensions, or self
updates and take appropriate actions to automate the business processes
underlying event, incident and problem management.

Operationally, individual rules within a rule set are executed in a specified order as are
the rule sets themselves. Rule sets are executed in a specified order. By default, the
execution order for both rules and rule sets is the order in which they are created, but
they can be reordered from the Incident Rules UI.
The following figure shows typical rule set structure and how the individual rules are
applied to a heterogeneous group of targets.

2-12

Chapter 2

Management Concepts

Figure 2-3

Rule Set Application

The graphic illustrates a situation where all rules pertaining to a group of targets can
be put into a single rule set (this is also a best practice). In the above example, a
group named PROD-GROUP consists of hosts, databases, and WebLogic servers
exists as part of a company's managed environment. A single rule set is created to
manage the group.
In addition to the actual rules contained within a rule set, a rule set possesses the
following attributes:
•

Name: A descriptive name for the rule set.

•

Description: Brief description stating the purpose of the rule set.

•

Applies To: Object to which all rules in the rule set apply: Valid rule set objects
are targets, jobs, metric extensions, and self update.

•

Owner: The Enterprise Manager user who created the rule set. Rule set owners
have the ability to update or delete the rule set and the rules in the rule set.

•

Enabled: Whether or not the rule set is actively being applied.

•

Type: Enterprise or Private. See "Rule Set Types"

2.1.4.1 Out-of-Box Rule Sets
Enterprise Manager provides out-of-box rule sets for incident creation and event
clearing based on typical scenarios. Out-of-box rule sets cannot be edited or deleted,
however, they can be disabled. As a best practice, you should create your own copies
of out-of-box rule sets and then subscribe to the rule set copies rather than subscribing
directly to the out-of-box rule sets. Effectively, you are making a copy of the rule set
and changing the target criteria to fit your enterprise needs by selecting an appropriate
group of targets (preferably an administration group).
Please note that out-of-box rule set definitions and actions they perform can be
changed by Oracle at any time and will be applied during patching or software
upgrade.

2-13

Chapter 2

Management Concepts

Regular Enterprise Manager administrators are allowed to perform the following
operations on rule sets:
•

Subscribe

•

Subscribe for email notifications

•

Unsubscribe

•

Unsubscribe from email notifications

•

Enable

•

Disable

Note:
Even though administrators can subscribe to a rule set, they will only receive
notification from the targets for which they have at least the View Target
privilege.

Enterprise Manager Super Administrators have the added ability to reorder the rule
sets.
Enterprise rule sets are evaluated sequentially and may go through multiple passes as
needed. When there is a change to the entity being processed - such as an incident
being created for an event or an incident priority changing due to a rule - we rerun
through all the rules from the beginning again until there are no matches. Any rule that
is matched in a prior pass will not match again (to prevent infinite loops).
For example, when a new event, incident, or problem arises, the first rule set in the list
is checked to see if any of its member rules apply and appropriate actions specified in
those rules are taken. The second rule is then checked to see if its rules apply and so
on. Private rule sets are only evaluated once all enterprise rule set evaluations are
complete and in no particular order.

Note:
Use caution when reordering rule sets as their order defines the event,
incident, and problem handling workflow. Reordering rule sets without fully
understanding the impact on your system can result in unintended actions
being taken on incoming events, incidents, and problems.

2.1.4.2 Rule Set Types
There are two types of Rule Sets:
•

Enterprise: Used to implement all operational practices within your IT
organization. All supported actions are available for this type of rule set. However,
because this type of rule set can perform all actions, there are restrictions as to
who can create an enterprise rule set.
In order to create or edit an enterprise rule set, an administrator must have been
granted the Create Enterprise Rule Set privilege on the Enterprise Rule Set

2-14

Chapter 2

Management Concepts

resource. However, if the rule set owner loses the Create Enterprise Rule Set
system privilege at some future time, he can still edit or delete the rule set. Super
Administrators can edit or delete any rule set. If the originator of the rule set wants
other administrators to edit the rule set, he will need to share access in order to
work collaboratively by adding co-authors. Enterprise rule sets are visible to all
administrators.
•

Private: Used when an administrator wants to be notified about something he is
monitoring but not as a standard business practice. The only action a private rule
set can perform is to send email to the rule set owner. Any administrator can
create a private rule set regardless of whether they have been granted the Create
Enterprise Rule Set resource privilege. Oracle recommends that private rule sets
be used only in rare or exceptional situations.

When a rule set performs actions, the privileges of the rule set creator are used. For
example, a rule set owner/creator must have at least View Target privilege in order to
receive notifications and at least Manage Target Events privilege in order to update
the incident. The exception is when a rule set sends a notification. In this case, the
privileges of the user it is sent to is used.

2.1.4.3 Rules
Rules are instructions within a rule set that automate actions on incoming events or
incidents or problems. Because rules operate on incoming incidents/events/problems,
if you create a new rule, it will not act retroactively on incidents/events/problems that
have already occurred.
Every rule is composed of two parts:
•

Criteria: The events/incidents/problems on which the rule applies.

•

Action(s): The ordered set of one or more operations on the specified events,
incidents, or problems. Each action can be executed based on additional
conditions.

The following table shows how rule criteria and actions determine rule application. In
this rule operation example there are three rules which take actions on selected events
and incidents. Within a rule set, rules are executed in a specified order. The rule
execution order can be changed at any time. By default, rules are executed in the
order they are created.
Table 2-2

Rule Operation

Rule Execution Criteria
Name Order

Condition

Actions

Rule 1 First

CPU Util(%), Tablespace
Used(%) metric alert
events of warning or
critical severity

_

Create incident.

Rule 2 Second

Incidents of warning or
critical severity

If severity = critical

Notify by page

If severity =warning

Notify by email

Rule 3 Third

Incidents are
_
unacknowledged for more
than six hours

Set escalation level to 1

2-15

Chapter 2

Management Concepts

In the rule operation example, Rule 1 applies to two metric alert events: CPU
Utilization and Tablespace Used. Whenever these events reach either Warning or
Critical severity threshold levels, an incident is created.
When the incident severity level (the incident severity is inherited from the worst event
severity) reaches Warning, Rule 2 is applied according to its first condition and
Enterprise Manager sends an email to the administrator. If the incident severity level
reaches Critical, Rule 2's second condition is applied and Enterprise Manager sends a
page to the administrator.
If the incident remains open for more than six hours, Rule 3 applies and the incident
escalation level is increased from None to Level 1. At this point, Enterprise Manager
runs through all the rule sets and their rules from the beginning again.

2.1.4.3.1 Rule Application
Each rule within a rule set applies to an event, incident OR problem. For each of
these, you can choose rule application criteria such as:
•

Apply the rule to incoming events or updated events only

•

Apply the rule to critical events only.

Rules are applied to events, incidents, and problems according to criteria selected at
the time of rule creation (or update). The following situations illustrate the methodology
used to apply rules.
•

If one of the rules creates a new incident in response to an incoming event,
Enterprise Manager finishes matching the event to any further rules/rule sets.
Once completed, Enterprise Manager then matches the newly created incident to
all the rule sets from the beginning to see if any incident-specific rules match.

•

If an incoming event is already associated with an incident (for example, a
Warning event creates an incident and then a Critical event is generated for the
same issue), Enterprise Manager applies all the matching rules to the event and
then matches all rules to the incident.

•

If, while applying a rule to an incident, changes are made to the incident (change
priority. for example), Enterprise Manager stops rule application at that point and
then re-applies the rules to the incident from the beginning. The conditional action
that updated the incident will not be matched again in the same rule application
cycle.

2.1.4.3.2 Rule Criteria
The following tables list selectable criteria for each type.
Table 2-3

Rule Criteria: Events

Criteria

Description

Type

Rule applies to a specific event type.

Severity

Rule applies to a specific event severity.

Category

Rule applies to a specific event category.

Target type

Rule applies to a specific target type.

2-16

Chapter 2

Management Concepts

Table 2-3

(Cont.) Rule Criteria: Events

Criteria

Description

Target Lifecycle Status

Rule applies to a specific lifecycle status for a target. Lifecycle
status is a target property that specifies a target's operational
status.

Associated with incident

Typically, events are associated with incidents through rules.
Specify Yes or No.

Event name

Rule applies to events with a specific name. The specified name
can either be an exact match or a pattern match.

Causal analysis update

Upon completion of Root Cause Analysis (RCA) event, the rule
applies to the event that is marked either as root cause or
symptom. Alternatively, the rule can act on an RCA event when
it is no longer a symptom.

Associated incident
acknowledged

Rule applies to an event that is associated with a specific
incident when that incident is acknowledged by an administrator.
Specify Yes or No.

Total occurrence count

For duplicated events, the rule is applies when the total number
of event occurrences reaches a specified number.

Comment added

Rule applies to events where an administrator adds a comment.

For incidents, a rule can apply to all new and/or updated incidents, or newly created
incidents that match specific criteria shown in the following table.
Table 2-4

Rule Criteria: Incidents

Criteria

Description

Rules that created the
incident

Rule applies to incidents raised by a specific rule.

Category

Rule applies to a specific incident category.

Target Type

Rule applies to a specific target type.

Target Lifecycle Status

Rule applies to a specific lifecycle status for a target. Lifecycle
status is a target property that specifies a target's operational
status.

Severity

Rule applies to a specific incident severity.

Acknowledged

Rule applies if the incident has been acknowledged by an
administrator. Specify Yes or No.

Owner

Rule applies for a specified incident owner.

Priority

Rule applies when incident priority matches a selected priority.

Status

Rule applies when the incident status matches a selected
incident status.

Escalation Level

Rule applies when the incident escalation level matches the
selected level. Available escalation levels: None, Level 1, Level
2, Level 3, Level 4, Level 5

Associated with Ticket

Rule applies when the incident is associated with a helpdesk
ticket. Specify Yes or No.

Associated with Service
Request

Rule applies when the incident is associated with a service
request. Specify Yes or No.

2-17

Chapter 2

Management Concepts

Table 2-4

(Cont.) Rule Criteria: Incidents

Criteria

Description

Diagnostic Incident

Rule applies when the incident is a diagnostic incident. Specify
Yes or No.

Unassigned

Rule applies if the newly raised incident does not have an owner.

Comment Added

Rule applies if an administrator adds a comment to the incident.

For problems, a rule can apply to all new and/or updated problems, or newly created
problems that match specific criteria shown in the following table.
Table 2-5

Rule Criteria: Problems

Criteria

Description

Problem key

Each problem has a problem key, which is a text string that
describes the problem. It includes an error code (such as ORA
600) and in some cases, one or more error parameters.
Rule can apply to a specific problem key or a key matching a
specific pattern (using a wildcard character).

Category

Rule applies to a specific problem category.

Target Type

Rule applies to a specific target type.

Target Lifecycle Status

Rule applies to a specific lifecycle status for a target. Lifecycle
status is a target property that specifies a target's operational
status.

Acknowledged

Rule applies when the problem is acknowledged.

Owner

Rule applies for a specified problem owner.

Priority

Rule applies when problem priority matches a selected priority.

Status

Rule applies when the problems matches a specific status.

Escalation Level

Rule applies when the problem escalation level matches the
selected level. Available escalation levels: None, Level 1, Level
2, Level 3, Level 4, Level 5

Incident Count

Rule applies when the number of incidents related to the
problem reaches the specified count limit. The problem owner
and the Operations manager are notified via email.

Associated with Service
Request

Rule applies if the incoming problem is has an associated
Service Request. Specify Yes or No.

Associated with Bug

Rule applies if the incoming problem is has an associated bug.
Specify Yes or No.

Unassigned

Rule applies if the newly raised incident does not have an owner.

Comment Added

Rule applies if an administrator adds a comment to the problem.

2.1.4.3.3 Rule Actions
For each rule, Enterprise Manager allows you to define specific actions.
Some examples of the types of actions that a rule set can perform are:
•

Create an incident based on an event.

2-18

Chapter 2

Management Concepts

•

Perform notification actions such as sending an email or generating a helpdesk
ticket.

•

Perform actions to manage incident workflow notification via email/PL/SQL
methods/ SNMP traps. For example, if a target down event occurs, create an
incident and email administrator Joe about the incident. If the incident is still open
after two days, set the escalation level to one and email Joe's manager.

The following table summarizes available actions for each rule application.
Table 2-6

Available Rule Actions

Action

Event

Incident Problem

Email

Yes

Yes

Yes

Page

Yes

Yes

Yes

Send SNMP Trap

Yes

No

No

Run OS Command

Yes

Yes

Yes

Run PL/SQL Procedure

Yes

Yes

Yes

Create an Incident

Yes

No

No

Set Workflow Attributes

Yes

Yes

Yes

Yes

No

Advanced Notifications

Note: Within an event
rule, the workflow
attributes of the
associated incident can
also be updated.
Create a Helpdesk Ticket

Yes
Note: Action performed
indirectly by first
creating an incident and
then creating a ticket for
the incident.

Note:
you can test rule actions against targets without actually performing the
actions using Enterprise Manager's event rule simulation feature. For more
information, see "Testing Rule Sets".

2.1.5 Incident Manager
Incident Manager provides, in one location, the ability to search, view, manage, and
resolve incidents and problems impacting your environment. Use Incident Manager to
perform the following tasks:
•

Filter incidents, problems, and events by using custom views

•

Search for specific incidents by properties such as target name, summary, status,
or target lifecycle status

•

Respond and work on an incident

2-19

Chapter 2

Management Concepts

•

Manage incident lifecycle including assigning, acknowledging, tracking its status,
prioritization, and escalation

•

Access (in context) My Oracle Support knowledge base articles and other Oracle
documentation to help resolve the incident.

•

Access direct in-context diagnostic/action links to relevant Enterprise Manager
functionality allowing you to quickly diagnose or resolve the incident.

For example, you have an open incident. You can use Incident Manager to track its
ownership, its resolution status, set the priority and, if necessary, add annotations to
the incident to share information with others when working in a collaborative
environment. In addition, you have direct access to pertinent information from MOS
and links to other areas of Enterprise Manager that will help you resolve issues
quickly. By drilling down on an open incident, you can access this information and
modify it accordingly.
Displaying Target Information in the Context of an Incident
You can directly view information about a target for which an incident or event has
been raised. The type of information shown varies depending on the target type.
To display in-context target information:
1.

From the Enterprise menu, select Monitoring and then Incident Manager.

2.

From the Incident Manager UI, choose an incident. Information pertaining to the
incident displays.

3.

From the Incident Details area of the General tab, click on the information icon "i"
next to the target. Target information as it pertains to the incident displays.

Being able to display target information in this way provides you with more operational
context about the targets on which the events and incidents are raised. This in turn
helps you manage the lifecycle of the incident more efficiently.
Cloud Control Mobile
Also available is the mobile application Cloud Control Mobile, which lets you manage
incidents and problems on the go using any iDevice to remotely connect to Enterprise
Manager.
For more information about this mobile application, see Remote Access To Enterprise
Manager

2.1.5.1 Views
Views let you work efficiently with incidents by allowing you to categorize and focus on
only those incidents of interest. A view is a set of search criteria for filtering incidents
and problems in the system. Incident Manager provides a set of predefined standard
views that cover the most common event, incident, and problem search scenarios. In
addition, Incident Manager also allows you to create your own custom views. Custom
views can be shared with other users. For instructions on creating custom views, see
"Setting Up Custom Views". For instructions on sharing a custom view, see "Sharing/
Unsharing Custom Views".

2.1.6 Summing Up
•

Event: A significant occurrence of interest on a target that has been detected by
Enterprise Manager.

2-20

Chapter 2

Management Concepts

Goal: Ensure that your environment is monitored.
•

Incident: A set of significant events or combination of related events that pertain
to the same issue.
Goal: Ensure that service disruptions are either avoided or resolved quickly.

•

Problems: The underlying root cause of incidents. Currently, this represents
critical errors in Oracle software that represents the underlying root cause of
diagnostic incidents.
Goal: Ensure underlying root causes of issues are resolved to avoid future
occurrence of issues.

Events, incidents, and problems work in concert to allow you to manage your complete
IT ecosystem both effectively and efficiently. The following illustration summarizes how
they work within your managed environment.
Figure 2-4

Event/Incident/Problem Flow

2-21

Chapter 2

Setting Up Your Incident Management Environment

The following sections delve into events, incidents, and problems in more detail.

2.2 Setting Up Your Incident Management Environment
Before you can monitor and manage your environment using incidents, you must
ensure that your monitoring environment is properly configured. Proper configuration
consists of the following:
•

Setting Up Your Monitoring Infrastructure

•

Setting Up Administrators and Privileges

•

Monitoring Privileges

•

Setting Up Rule Sets

2.2.1 Setting Up Your Monitoring Infrastructure
The first step in setting up your monitoring infrastructure is to determine which
conditions need to be monitored and hence are the source of events. To prevent an
inordinate number of extraneous events from being generated, thus reducing system
and administrator overhead, you need to determine what is of interest to you and
enable monitoring based on your requirements. You can leverage Enterprise Manager
features such as Administrations Groups to automatically apply management settings
such as monitoring settings or compliance standards when new targets are added to
your monitored environment. This greatly simplifies the task of ensuring that events
are raised only for those conditions in which you are interested. For more information,
see Using Administration Groups .
Example: You want to ensure that the database containing your human resource
information is available round the clock. One condition you are monitoring for is
whether that database target is up or down. If it goes down, you want the appropriate
person to be notified and have them resolve the problem as quickly as possible. Other
conditions that you may want to monitor include performance threshold violations, any
changes in application configuration files, or job failures. Working with events, you are
monitoring and managing individual targets and issues directly related to those targets.
For example, you monitor for individual database availability, individual host threshold
violations such as CPU and I/O load, or perhaps the performance of a Web service.
In general, if you are primarily interested in availability and some key performance
related metrics, you should use default monitoring templates and other template
features to ensure the only those specific metrics are collected and events are raised
only for those metrics.
Job Events: The status of a job can change throughout its lifecycle - from the time it is
submitted to the time it has executed. For each of these job statuses, events can be
raised to notify administrators of the status of the job.
As a general rule, events should be generated only for job status values that require
administration attention. These job status values include Action Required and Problem
status values such as Failed or Stopped. However, in order to avoid overloading the
system with unnecessary events, job events are not enabled for any target by default.
Hence, if you would like to generate events for jobs, you must:
1.

Set the appropriate job status. You can use the default settings or modify them as
required.

2-22

Chapter 2

Setting Up Your Incident Management Environment

2.

Specify the set of targets for which you would like job-related events to be
generated.
You can perform these operations from the Job Event Generation Criteria page.
From the Setup menu, choose Incidents and then Job Events.

2.2.1.1 Rule Set Development
Before creating incident rules/rule sets, the first step is to strategically determine when
incidents should be created based on the business requirements of your organization.
Important questions to consider are:
1.

What events should create incidents? Which service disruptions need to be
tracked and resolved by IT administrators?

2.

Which administrators should be notified for incoming events or incidents?

3.

Are any of the events or incidents being forwarded to external systems (such as a
helpdesk ticketing system)?

Example 2-1

Example Rule Set

•

Rule Set applies to target: Group Target G

•

Rules in the Rule Set:
1.

Rule(s) to create incidents for specified events

2.

Rule(s) that send notifications on incidents

3.

Rule(s) that escalate incidents based on some condition. For example, the
length of time an incident is open.

Example 2-2
•

Example Rule Set in Greater Detail

Rule Set for Production Group G
–

Target: Production Group G

–

Rule 1: Create an incident for all target down events.

–

Rule 2: Create an incident for specific database, host, and WebLogic Server
metric alert event of critical or warning severity.

–

Rule 3: Create an incident for any problem job events.

–

Rule 4: For all critical incidents, sent a page. For all warning incidents, send
email.

–

Rule 5: If a Fatal incident is open for more than 12 hours, set the escalation
level to 1 and email a manager.

Once the exact business requirements are understood, you translate those into
enterprise rule sets. Adhering to the following guidelines will result in efficient use of
system resource as well as operational efficiency.
•

For rule sets that operate on targets (for example, hosts and databases), use
groups to consolidate targets into a smaller number of monitoring entities for the
rule set. Groups should be composed of targets that have similar monitoring
requirements including incident management and response.

•

All the rules that apply to the same groups of targets should be consolidated into
one rule set. You can create multiple rules that apply to the targets in the rule set.
You can create rules for events specific to an event class, rules that apply to

2-23

Chapter 2

Setting Up Your Incident Management Environment

events of a specific event class and target type, or rules that apply to incidents on
these targets.
•

Leverage the execution order of rules within the rule set. Rule sets and rules within
a rule set are executed in sequential order. Therefore, ensure that rules and rule
sets are sequenced with that in mind.

When creating a new rule, you are given a choice as to what object the rule will apply
— events, incidents or problems. Use the following rule usage guidelines to help guide
your selection.
Table 2-7

Rule Usage Guidelines

Rule Usage

Application

Rules on Event

To create incidents for the events managed in Enterprise
Manager.
To send notifications on events.
To create tickets for incidents managed by helpdesk analysts,
you want to create an incident for an event, then create a ticket
for the incident.
Send events to third-party management systems.

Rules on Incidents

Automate management of incident workflow operations (assign
owner, set priority, escalation levels..) and send notifications
Create tickets based on incident conditions. For example, create
a ticket if the incident is escalated to level 2.

Rules on Problems

Automate management of problem workflow operations (assign
owner, set priority, escalation levels..) and send notifications

Rule Set Example
The following example illustrates many of the implementation guidelines just
discussed. All targets have been consolidated into a single group, all rules that apply
to group members are part of the same rule set, and the execution order of the rules
has been set. In this example, the rule set applies to a group (Production Group G)
that consists of the following targets:
•

DB1 (database)

•

Host1 (host)

•

WLS1 (WebLogic Server)

All rules in the rule set perform three types of actions: incident creation, notification,
and escalation.
In a more detailed view of the rule set, we can see how the guidelines have been
followed.
In this detailed view, there are five rules that apply to all group members. The
execution sequence of the rules (rule 1 - rule 5) has been leveraged to correspond to
the three types of rule actions in the rule set: Rules 1-3
•

Rules 1-3: Incident Creation

•

Rule 4: Notification

•

Rule 5: Escalation

2-24

Chapter 2

Setting Up Your Incident Management Environment

By synchronizing rule execution order with the progression of rule action categories,
execution efficiency is achieved. As shown in this example, by using conditional
actions that take different actions for the same set of events based on severity, it is
easier to change the event selection criteria in the future without having to change
multiple rules. Note: This assumes that the action requirements for all incidents (from
rules 1 - 3) are the same.
The following table illustrates explicit rule set operation for this example. All targets are
within Production Group G.
Table 2-8

Example Rule Set for Production Group G

Rule Execution Criteria
Name Order

Triggering
Condition

Actions

Rule 1 First

N/A

Create incident.

DB1

If severity=Warning

Create incident.

Tablespace Full (%)

If severity=Critical

DB1 goes down .
Host1 goes down.
WLS1 goes down.

Rule 2 Second

Note: The warning and
critical thresholds are
defined in Metric and
Policy settings, not from
the rules UI.
Host1
CPU Utilization (%)
WLS1
Heap Usage (%)
Rule 3 Third

Event generated for
problem job status
changes for DB1, Host1,
and WLS1.

N/A

Create incident.

Rule 4 Fourth

All incidents for
Production Group G

Severity=Warning

Send email

Severity=Critical

Send page

Incident remains open for
more than 12 days.

Status=Fatal

Increase escalation
level to 1.

Rule 5 Fifth

2.2.1.1.1 Before Using Rules
Before you use rules, ensure the following prerequisites have been set up:
•

User's Enterprise Manager account has notification preferences (email and
schedule). This is required not just for the administrator who is creating/editing a
rule, but also for any user who is being notified as a result of the rule action.

•

If you decide to use connectors, tickets, or advanced notifications, you need to
configure them before using them in the actions page.

•

Ensure that the SMTP gateway has been properly configured to send email
notifications.

2-25

Chapter 2

Setting Up Your Incident Management Environment

•

User's Enterprise Manager account has been granted the appropriate privileges to
manage incidents from his managed system.

2.2.1.1.2 Setting Up Notifications
After determining which events should be raised for your monitoring environment, you
need to establish a comprehensive notification infrastructure for your enterprise by
configuring Enterprise Manager to send out email and or pages, setting up email
addresses for administrators and tagging them as email/paging. In addition, depending
on the needs of your organization, notification setup may involve configuring advanced
notification methods such as OS scripts, PL/SQL procedures, or SNMP traps. For
detailed information and setup instructions for Enterprise Manager notifications, see
Using Notifications .

2.2.2 Setting Up Administrators and Privileges
This step involves defining the appropriate administrators (which includes assigning
the proper privileges for security) and then setting up notification assignments based
on their defined roles and domain ownership within your organization.
To perform user account administration, click Setup on the Enterprise Manager home
page, select Security, then select Administrators to access the Administrators page.

There are two types of administrators typically involved in incident management.
•

Business Rules Architect/Analyst: Administrator who has a deep understanding of
how the business works and translates this knowledge to operational rules. Once
these rules have been deployed, the business architect uses their knowledge of
the dynamic organization to keep these rules up-to-date.
In order to create or edit an enterprise rule set, the business architect/analyst must
have been granted the Create Enterprise Rule Set privilege on the Enterprise Rule
Set resource. The architect/analyst can share ownership of the rule sets with other
administrators who may or may not have the Create Enterprise Rule Set privilege
but are responsible for managing a specific rule set.

•

IT Operator/Manager: The IT manager is responsible for day-to-day management
of incident assignment. The IT operator is assigned the incidents and is
responsible for their resolution.

Privileges Required for Enterprise Rule Sets

2-26

Chapter 2

Setting Up Your Incident Management Environment

As the owner of the rule set, an administrator can perform the following:
•

Update or delete the rule set, and add, modify, or delete the rules in the rule set.

•

Assign co-authors of the rule set. Co-authors can edit the rule set the same as the
author. However, they cannot delete rule sets nor can they add additional coauthors.

•

When a rule action is to update an event, incident, or problem (for example,
change priority or clear an event), the action succeeds only if the owner has the
privilege to take that action on the respective event, incident, or problem.

•

Additionally, user must be granted privilege to create an enterprise rule set.

If an incident or problem rule has an update action (for example, change priority), it will
take the action only if the owner of the respective rule set has manage privilege on the
matching incident or problem.
To grant privileges, from the Setup menu on the Enterprise Manager home page,
select Security, then select Administrators to access the Administrators page. Select
an administrator from the list, then click Edit to access the Administrator properties
wizard as shown in the following graphic.

Granting User Privileges for Events, Incidents and Problems
In order to work with incidents, all relevant Enterprise Manager administrator accounts
must be granted the appropriate privileges to manage incidents. Privileges for events,
incidents, and problems are determined according to the following rules:
•

Privileges on events are calculated based on the privilege on the underlying
source objects. For example, the user will have VIEW privilege on an event if he
can view the target for the event.

•

Privileges on an incident are calculated based on the privileges on the events in
the incident.

•

Similarly, problem privileges are calculated based on privileges on underlying
incidents.

2-27

Chapter 2

Setting Up Your Incident Management Environment

Users are granted privileges for events, incidents, and problems in the following
situations.
For events, two privileges are defined in the system:
•

The View Event privilege allows you to view an event and add comments to the
event.

•

The Manage Event privilege allows you to take update actions on an event such
as closing an event, creating an incident for an event, and creating a ticket for an
event. You can also associate an event with an incident.

Note:
Incident privilege is inherited from the underlying events.

If an event is raised on a target alone (the majority of event types are raised on targets
such as metric alerts, availability events or service level agreement), you will need the
following privileges:
•

View on target to view the event.

•

Manage Target Events to manage the event.
Note: This is a sub-privilege of Operator.

If an event is raised on both a target and a job, you will need the following privileges:
•

View on target and View on the job to view the event.

•

View on target and Full on the job to manage the event.

If the event is raised on a job alone, you will need the following privileges:
•

View on the job to view the event.

•

Full on the job to manage the event.

If an event is raised on a metric extension, you will need View privilege on the metric
extension to view the event. Because events raised on metric extensions are
informational (and do not appear in Incident Manager) event management privileges
do not apply in this situation.
If an event is raised on a Self-update, only system privilege is required. Self-update
events are strictly informational.
For incidents, two privileges are defined in the system:
•

The View Incident privilege allows you to view an incident, and add comments to
the incident.

•

The Manage Incident privilege allows you to take update actions on an incident.
The update actions supported for an incident includes incident assignment and
prioritization, resolution management, manually closing events, and creating
tickets for incidents.

If an incident consists of a single event, you can view the incident if you can view the
event and manage the incident if you can manage the event.

2-28

Chapter 2

Setting Up Your Incident Management Environment

If an incident consists of more than one event, you can view the incident if you can
view at least one event and manage incident if you can manage at least one of the
events.
For problems, two privileges are defined:
•

The View Problem privilege allows you to view a problem and add comments to
the problem.

•

The Manage Problem privilege allows you to take update actions on the problem.
The update actions supported for a problem include problem assignment and
prioritization, resolution management, and manually closing the problem.

In Enterprise Manager 12c, problems are always related to a single target. So the
View Problem privilege, if an administrator has View privilege on the target, and the
Manage Problem privilege, if an administrator has manage_target_events privilege on
the target, implicitly grants management privileges on the associated event. This, in
turn, grants management privileges on the incident within the problem.

2.2.3 Monitoring Privileges
The monitoring functions that an administrator can perform within the Enterprise
Manager environment depend on privileges that have been granted to that user. To
maintain the integrity and security of a monitored infrastructure, only the required
privileges for a specific role should be granted. The following guidelines can be used
to grant proper privilege levels based on user roles.
Administrators who set up monitoring
Create a role with privileges and grant it to administrators:
•

Recommend using individual user accounts instead of shared account

•

If using super administrator, do not use sysman

•

If privilege is based on targets, create privilege-propagating group containing the
targets (or use administration group if it meets requirements) and grant privilege
on the group to the role

Administrators who respond to events / incidents
•

Create a role and grant it to administrators

•

Create privilege-propagating group (or use administration group if it meets
requirements) containing relevant targets and grant appropriate privilege on the
group to the role

Example: You create the role DB_Admins and grant Manage Target Events on a the
privilege-propagating group named DB-group containing relevant databases. You then
grant role DB_Admins to the DBAs.
Monitoring Actions and Required Privileges
Enterprise Manager supports fine-grained privileges to enable more granular control
over actions performed in Enterprise Manager.
The table below shows a (non-exhaustive) list of various job responsibilities and the
corresponding privilege in Enterprise Manager required to support these
The following tables summarize the privilege levels required to perform specific
monitoring responsibilities.

2-29

Chapter 2

Setting Up Your Incident Management Environment

Table 2-9

Monitoring Operations and Required Privileges

Monitoring Operation

Required Privilege(s)

Monitoring Setup

_

Configure SMTP gateway (email)

Super Administrator

Create Advanced Notification Methods (e.g. SNMP traps)

Super Administrator

Configure event or ticketing connector

Super Administrator

Creating Roles

Super Administrator

Create Administration Group Hierarchy

Full Any Target
Create Privilege Propagating
Group

Edit Administration Group Hierarchy

Full Any Target
Create Privilege Propagating
Group (if adding new target
property values as group criteria
within a level of the administration
group hierarchy)

Delete Administration Group Hierarchy

Full Any Target

View entire Administration Group hierarchy in Group
Administration pages

View Any Target

Use Monitoring Templates

No privileges required to create
new monitoring templates.
However if the monitoring template
contains a corrective action, then
Create on Job System privilege is
required

Note: Administrators who have
privileges to only a subset of the
groups can view these groups in
the Groups list page accessible via
Targets-->Groups

View on specific monitoring
template to use the template
created by another user (e.g. to
add the monitoring template to a
Template Collection
Use Template Collections

Create Template Collection (to
create new Template
Collections)View Template
Collection on specific Template
Collection to view/associate the
Template Collection created by
another userView Any Template
Collection to view/associate any
Template CollectionFull Template
Collection on specific Template
Collection to edit/delete the
Template Collection created by
another user

2-30

Chapter 2

Setting Up Your Incident Management Environment

Table 2-9

(Cont.) Monitoring Operations and Required Privileges

Monitoring Operation

Required Privilege(s)

Associate a Template Collection with an Administration
Group

Manage Template Collection
Operations on the group (this
includes Manage Target
Compliance and Manage Target
Metrics privileges)
View Template Collection on the
Template Collection

Operations on the Administration Group

_

Manage privileges on the group (for example, grant to
other users)

Group Administration on the group

Add a target to an Administration Group by setting its
target properties

Configure Target (on the target to
be added to the Administration
Group)

Perform a manual sync of the group with the associated
Template Collection

Manage Template Collection
Operations on the group

Operations on the members of the Administration
Group

_

Delete the target from Enterprise Manager

Full on the target (Full also
contains the privileges enumerated
below

Set blackout for planned downtime

Operator on the target also
contains the following privileges:

Change monitoring settings
Change monitoring configuration
Manage events and incidents on the target
View target, receive notifications for events or incidents

•
•
•
•
•

Create Incident Rule Sets

Blackout Target on the target
Manage Target Metrics on the
target
Configure Target on the target
Manage Target Events on the
target
View on the target

Create Enterprise Rule Set
Manage Target Events on target if
rule is creating incidents for the
target

Granting privileges on administration group to roles

No extra privilege required if
creator of the administration group

Set a target's property values

Configure Target

Edit Monitoring Template that is part of Template
Collection

Full on the Monitoring Template

Change monitoring settings on specific target

Manage Target Metrics

Receive email for events, incidents

View on Target and/or

Manage Target Metrics on
administration group

View on source object (for
example, view on job for job
events)
Create incident for event

Manage Target Events

2-31

Chapter 2

Setting Up Your Incident Management Environment

Table 2-9

(Cont.) Monitoring Operations and Required Privileges

Monitoring Operation

Required Privilege(s)

Incident management actions (for example, acknowledge, Manage Target Events
assign incident, prioritize, set escalation level)

Note:
SYSMAN is a system account intended for Enterprise Manager infrastructure
installation and maintenance. It should never be used for administrator access
to Enterprise Manager as a Super Administrator.

2.2.4 Setting Up Rule Sets
Rule sets automate actions in response to incoming events, incidents and problems or
updates to them. This section covers the most common tasks and examples.
•

Creating a Rule Set

•

Creating a Rule to Create an Incident

•

Creating a Rule to Manage Escalation of Incidents

•

Creating a Rule to Escalate a Problem

•

Testing Rule Sets

•

Subscribing to Receive Email from a Rule

•

Receiving Email for Private Rules

2.2.4.1 Creating a Rule Set
In general, to create a rule set, perform the following steps:
1.

From the Setup menu, select Incidents then select Incident Rules.

2.

On the Incident Rules - All Enterprise Rules page, edit the existing rule set or
create a new rule set. For new rule sets, you will need to first select the targets to
which the rules apply. Rules are created in the context of a rule set.

Note:
In the case where there is no existing rule set, create a rule set by clicking
Create Rule Set... You then create the rule as part of creating the rule set.

Narrowing Rule Set Scope Based on Target Lifecycle Status
When creating a new rule set, you can choose to have the rule set apply to a
narrower set of targets based on the target's Lifecycle Status value. For example,
you can create one rule set that only applies only to targets that have a Lifecycle

2-32

Chapter 2

Setting Up Your Incident Management Environment

Status of Staging and Production. As shown in the following graphic, you
determine rule set scope by setting the Lifecycle Status filter.

Using this filter allows you to create rules for targets based on their Lifecycle
Status without having to first create a group containing only such targets.
3.

In the Rules tab of the Edit Rule Set page, click Create... and select the type of
rule to create (Event, Incident, Problem) on the Select Type of Rule to Create popup dialog. Click Continue.

4.

In the Create New Rule wizard, provide the required information.

5.

Once you have finished defining the rule, click Continue to add the rule to the rule
set. Click Save to save the changes made to the rule set.

2.2.4.2 Creating a Rule to Create an Incident
To create a rule that creates an incident, perform the following steps:
1.

From the Setup menu, select Incidents, then select Incident Rules.

2.

Determine whether there is an existing rule set that contains a rule that manages
the event. In the Incident Rules page, use the Search option to find the rule/rule
set name, description, target name, or target type for the target and the associated
rule set. You can search by target name or the group target name to which this
target belongs to locate the rule sets that manage the targets.
Note: In the case where there is no existing rule set, create a rule set by clicking
Create Rule Set... You then create the rule as part of creating the rule set.

3.

Select the rule set that will contain the new rule. Click Edit... In the Rules tab of
the Edit Rule Set page,
a.

Click Create ...

b.

Select "Incoming events and updates to events"

c.

Click Continue.

Provide the rule details using the Create New Rule wizard.

2-33

Chapter 2

Setting Up Your Incident Management Environment

a.

Select the Event Type the rule will apply to, for example, Metric Alert. (Metric
Alert is available for rule sets of the type Targets.) Note: Only one event type
can be selected in a single rule and, once selected, it cannot be changed
when editing a rule.
You can then specify metric alerts by selecting Specific Metrics. The table for
selecting metric alerts displays. Click the +Add button to launch the metric
selector. On the Select Specific Metric Alert page, select the target type, for
example, Database Instance. A list of relevant metrics display. Select the ones
in which you are interested. Click OK.
You also have the option to select the severity and corrective action status.

b.

Once you have provided the initial information, click Next. Click +Add to add
the actions to occur when the event is triggered. One of the actions is to
Create Incident.
As part of creating an incident, you can assign the incident to a particular user,
set the priority, and create a ticket. Once you have added all the conditional
actions, click Continue.

4.

c.

After you have provided all the information on the Add Actions page, click
Next to specify the name and description for the rule. Once on the Review
page, verify that all the information is correct. Click Back to make corrections;
click Continue to return to the Edit (Create) Rule Set page.

d.

Click Save to ensure that the changes to the rule set and rules are saved to
the database.

Test the rule by generating a metric alert event on the metrics chosen in the
previous steps.

2.2.4.3 Creating a Rule to Manage Escalation of Incidents
To create a rule to manage incident escalation, perform the following steps:
1.

From the Setup menu, select Incidents, then select Incident Rules.

2.

Determine whether there is an existing rule set that contains a rule that manages
the incident. You can add it to any of your existing rule sets on incidents.
Note: In the case where there is no existing rule set, create a rule set by clicking
Create Rule Set... You then create the rule as part of creating the rule set.

3.

4.

Select the rule set that will contain the new rule. Click Edit... in the Rules tab of the
Edit Rule Set page, and then:
a.

Click Create ...

b.

Select "Newly created incidents or updates to incidents"

c.

Click Continue.

For demonstration purposes, the escalation is in regards to a production database.
As per the organization's policy, the DBA manager is notified for escalation level 1
incidents where a fatal incident is open for 48 hours. Similarly, the DBA director is
paged if the incident has been escalated to level 2, the severity is fatal and it has
been open for 72 hours. If the fatal incident is still open after 96 hours, then it is
escalated to level 3 and the operations VP is notified.
Provide the rule details using the Create New Rule wizard.

2-34

Chapter 2

Setting Up Your Incident Management Environment

a.

To set up the rule to apply to all newly created incidents or when the incident
is updated with fatal severity, select the Specific Incidents option and add the
condition Severity is Fatal .

b.

In the Conditions for Actions region located on the Add Actions page, select
Only execute the actions if specified conditions match.
Select Incident has been open for some time and is in a particular state
(select time and optional expressions).
Select the time to be 48 hours and Status is not resolved or closed.

5.

c.

In the Notification region, type the name of the administrator to be notified by
email or page. Click Continue to save the current set of conditions and
actions.

d.

Repeat steps b and c to page the DBA director (Time in this state is 72 hours,
Status is Not Resolved or Closed). If open for more than 96 hours, set
escalation level to 3, page Operations VP.

e.

After reviewing added actions sets, click Next. Click Next to go to the
Summary screen. Review the summary information and click Continue to
save the rule.

Review the sequence of existing enterprise rules and position the newly created
rule in the sequence.
In Edit Rule Set page, click on the desired rule from the Rules table and select
Reorder Rules from the Actions menu to reorder rules within the rule set, then
click Save to save the rule sequence changes.

Example Scenario
To facilitate the incident escalation process, the administration manager creates a rule
to escalate unresolved incidents based on their age:
•

To level 1 if the incident is open for 30 minutes

•

To level 2 if the incident is open for 1 hour

•

To level 3 if the incident is open for 90 minutes

As per the organization's policy, the DBA manager is notified for escalation level 1.
Similarly, the DBA director and operations VP are paged for incidents escalated to
levels "2" and "3" respectively.
Accordingly, the administration manager inputs the above logic and the respective
Enterprise Manager administrator IDs in a separate rule to achieve the above
notification requirement. Enterprise Manager administrator IDs represents the
respective users with required target privileges and notification preferences (that is,
email addresses and schedule).

2.2.4.4 Creating a Rule to Escalate a Problem
In an organization, whenever an unresolved problem has more than 20 occurrences of
associated incidents, the problem should be auto-assigned to the appropriate
administrator based on target type of the target on which the problem has been raised.
Accordingly, a problem rule is created to observe the count of incidents attached to the
problem and notify the appropriate administrator handling that specific target type.
The problem owner and the Operations manager are notified by email.

2-35

Chapter 2

Setting Up Your Incident Management Environment

To create a rule to escalate a problem, perform the following steps:
1.

Navigate to the Incident Rules page.
From the Setup menu, select Incidents, then select Incident Rules.

2.

On the Incident Rules - All Enterprise Rules page, either create a new rule set
(click Create Rule Set...) or edit an existing rule set (highlight the rule set and click
Edit...). Rules are created in the context of a rule set.
Note: In the case where there is no existing rule set, create a rule set by clicking
Create Rule Set... You then create the rule as part of creating the rule set.

3.

In the Rules section of the Edit Rule Set page, select Create...

4.

From the Select Type of Rule to Create dialog, select Newly created problems
or updates to problems and click Continue.

5.

On the Create New Rule page, select Specific problems and add the following
criteria:
The Attribute Name is Incident Count, the Operator is Greater than or equals
and the Values is 20.
Click Next.

6.

In the Conditions for Actions region on the Add Actions page select Always
execute the action. As the actions to take when the rule matches the condition:
•

In the Notifications region, send email to the owner of the problem and to the
Operations Manager.

•

In the Update Problem region, enter the email address of the appropriate
administrator in the Assign to field.

Click Continue.
7.

Review the rules summary. Make corrections as needed. Click Continue to return
to Edit Rule Set page and then click Save to save the rule set.

2.2.4.5 Testing Rule Sets
When developing a rule set, it can be difficult to develop rule criteria to match all
possible event conditions. Previously, the only way to test rules was to trigger an event
within your monitored environment and seeing which rules match the event and what
actions the rules perform. Beginning with Enterprise Manager Release 12.1.0.4, you
can simulate existing events, thus allowing you to test rule actions during the rule set
development phase and not waiting for specific event conditions to occur. The rule
simulation feature lets you see how the rules will perform given a specific event. You
immediately see which rules match for a given event and then see what actions are
taken.

Note:
The simulate rule feature can only be used with event rules. Incident rules
cannot be tested with this feature.

To simulate rules:

2-36

Chapter 2

Setting Up Your Incident Management Environment

This procedure assumes you have already created rule sets. See "Creating a Rule
Set" for instructions on creating a rule set. Ensure that the rule type is Incoming events
and updates to events.
1.

From the Setup menu, select Incidents, and then Incident Rules. The Incident
Rules - All Enterprise Rules page displays.

2.

Click Simulate Rules. The Simulate Rules dialog displays.

3.

Enter the requisite search parameters to find matching events and click Search.

4.

Select an event from the list of results.

5.

Click Start Simulation. The event will be passed through the rules as if the event
had newly occurred. Rules will be simulated based on the current notification
configuration (such as email address, schedule for the assigned administrator, or
repeat notification setting).
Changing the Target Name: Under certain circumstances, an event matching
rule criteria may occur on a target that is not a rule target. For testing purposes,
you are only interested in the event. To use the alternate target for the simulation,
click Alter Target Name and Start Simulation.
Results are displayed.

2-37

Chapter 2

Setting Up Your Incident Management Environment

Testing Event Rules on a Production Target: Although you can generate an
event on a test target, you may want to check the actions on a production target
for final verification. You can safely test event rules on production targets without
performing rule actions (sending email, SNMP traps, opening trouble tickets). To
test your event rule on a production target, change the Target Name to a
production target. When you run the simulation, you will see a list of actions to be
performed by Enterprise Manager. None of these actions, however, will actually be
performed on the production target.
6.

If the rule actions are not what you intended, edit the rules and repeat the rule
simulation process until the rules perform the desired actions. The following
guidelines can help ensure predictable/expected rule simulation results.
If you do not see a rule action for email:
•

Make sure there is a rule that includes that event and has an action to send
email.

•

If the specified email recipient is an Enterprise Manager administrator, make
sure that administrator has an email address and notification schedule set up.

•

Make sure the email recipient has at least View privileges on the target of the
event.

•

Check the SMTP gateway setup and make sure that the administrator has
performed a Test Email.

If you do not see other rule actions such as creating an incident or opening a
ticket:
•

Make sure there is a rule that includes the event and corresponding action
(create incident, for example).

•

Make sure the target is included in the rule set.

•

Make sure the rule set owner has at least Manage Events target privilege on
the target of the event.

•

For notifications such as Open Ticket, Send SNMP trap, or Call Event
Connector, make sure these are specified as actions in the event rule.

2.2.4.6 Subscribing to Receive Email from a Rule
A DBA is aware that incidents owned by him will be escalated when not resolved in 48
hours. The DBA wants to be notified when the rule escalates the Incident. The DBA

2-38

Chapter 2

Setting Up Your Incident Management Environment

can subscribe to the Rule, which escalates the Incident and will be notified whenever
the rule escalates the Incident.
Before you set up a notification subscription, ensure there exists a rule that escalates
High Priority Incidents for databases that have not been resolved in 48 hours
Perform the following steps:
1.

From the Setup menu, select Incidents, and then select Incident Rules.

2.

On the Incident Rules - All Enterprise Rules page, click on the rule set containing
incident escalation rule in question and click Edit... Rules are created in the
context of a rule set.
Note: In the case where there is no existing rule set, create a rule set by clicking
Create Rule Set... You then create the rule as part of creating the rule set.

3.

In the Rules section of the Edit Rule Set page, highlight the escalation rule and
click Edit....

4.

Navigate to the Add Actions page.

5.

Select the action that escalates the incident and click Edit...

6.

In the Notifications section, add the DBA to the email cc list.

7.

Click Continue and then navigate back to the Edit Rule Set page and click Save.

As a result of the edit to the enterprise rule, when an incident stays unresolved for 48
hours, the rule marks it to escalation level 1. An email is sent out to the DBA notifying
him about the escalation of the incident.
Alternate Rule Set Subscription Method: From the Incident Rules - All Enterprise
Rules page, select the rule in incident rules table. From the Actions menu, select
email and then Subscribe me (or Subscribe administrator....).

2.2.4.7 Receiving Email for Private Rules
A DBA has setup a backup job on the database that he is administering. As part of the
job, the DBA has subscribed to email notification for "completed" job status. Before
you create the rule, ensure that the DBA has the requisite privileges to create jobs.
See Utilizing the Job System and Corrective Actions for job privilege requirements.
Perform the following steps:
1.

Navigate to the Rules page.
From the Setup menu, select Incidents, then select Incident Rules.

2.

On the Incident Rules - All Enterprise Rules page, either edit an existing rule set
(highlight the rule set and click Edit...) or create a new rule set.
Note: The rule set must be defined as a Private rule set.

3.

In the Rules tab of the Edit Rule Set page, select Create... and select Incoming
events and updates to events. Click Continue.

4.

On the Select Events page, select Job Status Change as the Event Type. Select
the job in which you are interested either by selecting a specific job or selecting a
job by providing a pattern, for example, Backup Management.
Add additional criteria by adding an attribute: Target Type as Database Instance.

2-39

Chapter 2

Working with Incidents

5.

Add conditional actions: Event matches the following criteria (Severity is
Informational) and email Me for notifications.

6.

Review the rules summary. Make corrections as needed. Click Save.

7.

Create a database backup job and subscribe for email notification when the job
completes.

When the job completes, Enterprise Manager publishes the informational event for
"Job Complete" state of the job. The newly created rule is considered 'matching'
against the incoming job events and email will be sent to the DBA.
The DBA receives the email and clicks the link to access the details section in
Enterprise Manager console for the event.

2.3 Working with Incidents
Data centers follow operational practices that enable them to manage events and
incidents by business priority and in a collaborative manner. Enterprise Manager
provides the following features to enable this management and automation:
•

Send notifications to the appropriate administrators.

•

Create incidents and rules.

•

Assigning initial ownership of an incident and perhaps transferring ownership
based on shift assignments or expertise.

•

Tracking its resolution status.

•

Assigning priorities based on the component affected and nature of the incident.

•

Escalating incidents.

•

Accessing My Oracle Support knowledge articles.

•

Opening Oracle Service Requests to request assistance with issues with Oracle
software (Problems).

You can update resolution information for an incident by performing the following:
1.

In the All Open Incidents view, select the incident.

2.

In the resulting Details page, click the General tab, then click Manage. The
Manage dialog displays.
You can then adjust the priority, escalate the incident, and assign it to a specific IT
operator.

Working with incidents involves the following stages:
1.

Finding What Needs to be Worked On

2.

Searching for Incidents

3.

Setting Up Custom Views

4.

Responding and Working on a Simple Incident

5.

Responding to and Managing Multiple Incidents, Events and Problems in Bulk

6.

Managing Workload Distribution of Incidents

7.

Creating an Incident Manually

2-40

Chapter 2

Working with Incidents

2.3.1 Finding What Needs to be Worked On
Enterprise Manager provides multiple access points that allow you to find out what
needs to be worked on. The primary focal point for incident management is the
Incident Manager console, however Enterprise Manager also provides other methods
of notification. The most common way to be notified that you have an issue that needs
to be addressed is by email. However, incident information can also be found in the
following areas:
Custom Views (See "Setting Up Custom Views")
Group or System Homepages (See Managing Groups)
Target Homepages

Incident Manager (in context of a system or target)

2-41

Chapter 2

Working with Incidents

Enterprise Manager Console

2.3.2 Searching for Incidents
You can search for incidents based on a variety of incident attributes such as the time
incidents were last updated, target name, target type, or incident status.
1.

Navigate to the Incident Manager page.
From the Enterprise menu on the Enterprise Manager home page, select
Monitoring, then select Incident Manager.

2.

In the Views region located on the left, click Search.

2-42

Chapter 2

Working with Incidents

a.

In the Search region, search for Incidents using the Type list and select
Incidents.

b.

In the Criteria region, choose all the criteria that are appropriate. To add fields
to the criteria, click Add Fields... and select the appropriate fields.

c.

After you have provided the appropriate criteria, click Get Results.
Validate that the list of incidents match what you are looking for. If not, change
the search criteria as needed.

d.

To view all the columns associated with this table, in the View menu, select
Columns, then select Show All.

Searching for Incidents by Target Lifecycle Status
In addition to searching for incidents using high-level incident attributes, you can also
perform more granular searches based on individual target lifecycle status. Briefly,
lifecycle status is a target property that specifies a target's operational status. Status
options for which you can search are:
•

All

•

Mission Critical

•

Production

•

Staging

•

Test

•

Development

For more discussion on lifecycle status, see Event Prioritization.
To search for incidents by target lifecycle status:
1.

Navigate to the Incident Manager page.
From the Enterprise menu on the Enterprise Manager home page, select
Monitoring, then select Incident Manager.

2.

In the Views region located on the left, click Search.

3.

In the Search region, click Add Fields. A pop-up menu appears showing the
available lifecycle statuses.

4.

Choose on one or more of the lifecycle status options.

5.

Enter any additional search criteria.

6.

Click Get Results.

2.3.3 Setting Up Custom Views
Incident Manager also allows you to define custom views to help you gain quick
access to the incidents and problems on which you need to focus. For example, you
may define a view to display all critical database incidents that you own. By specifying
and saving view preferences to display only those incident attributes that you are
interested in Enterprise Manager will show only the list of matching incidents.
You can then search the incidents for only the ones with specific attributes, such as
priority 1. The view allows easy access to pertinent incidents for daily triage.
Accordingly, you can save the search criteria as a filter named "All priority 1 incidents
for my targets". The view becomes available in the UI for immediate use and will be

2-43

Chapter 2

Working with Incidents

available anytime you log in to access the specific incidents. The last view you used
will be the default view used on your next login.
Perform the following steps:
1.

Navigate to the Incident Manager page.
From the Enterprise menu on the Enterprise Manager home page, select
Monitoring, then select Incident Manager.

2.

In the MyViews region located on the left, click the create "+" icon.
a.

In the Search region, search for Incidents using the Type list and select
Incidents.

b.

In the Criteria region, choose all the criteria that are appropriate. To add fields
to the criteria, click Add Fields... and select the appropriate fields.

c.

After you have provided the appropriate criteria, click Get Results.
Validate that the list of incidents match what you are looking for. If not, change
the search criteria as needed.

d.

To view all the columns associated with this table, in the View menu, select
Columns, then select Show All.
To select a subset of columns to display and also the order in which to display
them, from the View menu, select Columns, then Manage Columns. A dialog
displays showing a list of columns available to be added in the table.

e.

Click the Create View... button.

f.

Enter the view name. If you want other administrators to use this view, check
the Share option.

g.

Click OK to save the view.

Note:
From the View creation dialog, you can also mark the view as shared. See
Sharing/Unsharing Custom Views for more information.

2.3.3.1 Incident Dashboard
An incident dashboard allows you to track and monitor the state of different aspects of
incident management, such as getting a sense of how the incidents are distributed.
Specifically, the incident dashboard presents another way of looking at a scoped set of
incidents using custom views (one dashboard per view). In addition to providing an
intuitive way to interpret incidents and incident distribution patterns, the dashboard
provides you with quick and easy access to incident lifecycle actions such as
acknowledging, assigning, and adding comments.
An incident dashboard is shown in the following figure.

2-44

Chapter 2

Working with Incidents

Figure 2-5

Incident Dashboard

Incident Dashboard Areas
The content of the incident dashboard is divided into three sections:

Note:
By default, data is automatically refreshed every 30 seconds. You can
increase or decrease the refresh interval as required.

•

Summary area displays the number of:
–

Open incidents including those created in the last hour.

–

Fatal incidents including those created or updated to Fatal in the last hour.

–

Escalated incidents including those escalated in the last hour.

–

Unassigned incidents.

–

Unacknowledged incidents.

Incident dashboard elements that are highlighted in red require immediate
attention. Clicking on the summary numbers allows you to view only incidents
pertaining to that incident area. Data displayed in the charts and incident list are
modified accordingly.
•

Charts provide you with an easy-to-understand look at the current incident
distribution and management status for each incident. You can click on slices of

2-45

Chapter 2

Working with Incidents

the charts to filter the data displayed in the incident dashboard only to those
incidents.
•

Incident List that shows the open incidents listed in reverse chronological order
by last updated time stamp. From this list, you can perform requisite incident
lifecycle actions such as escalating, prioritizing, acknowledging, assigning owners,
adding comments to incident.

Creating an Incident Dashboard
To create an incident dashboard for all open incidents, navigate to Incident Manager
and click the Dashboard button located at the upper-left side of the page above the
incident table.
While an open incident dashboard can be useful, a more typical scenario involves
creating a custom view so that the incident dashboard only displays data for incidents
that are of interest to you. See "Setting Up Custom Views" for information on creating
a custom view. To view an incident dashboard for a specific view, select the desired
view from the My Views list in the Incident Manager UI and then click Dashboard.
Customizing the Incident Dashboard
If the default dashboard does not meet your requirements, you can modify the
dashboard in a variety of ways, such as removing an out-of-box chart, adding one of
the predefined charts, or altering an existing chart, such as changing the dimensions
of the chart or changing from a pie chart to a bar chart, for example.
Click Customization located above the Summary section in order to customize the
Incident Dashboard. Once changes are made, click Save to save changes.

Note:
Only the view owner and Super Administrators can create or edit view
customizations. Without view ownership, users can only change the chart
auto-refresh frequency and chart type. These changes, however, are not
permanent.

2.3.4 Sharing/Unsharing Custom Views
When you create your own views, they are private (only you can see them). Beginning
with Enterprise Manager Release 12.1.0.4, you can share your private views with
other administrators. When you share a view, all Enterprise Manager users will be able
to use the view.
As mentioned previously, you are given the opportunity to share a view during the view
creation process. If you have already created custom views, you can share them at
any time.
1.

Navigate to Incident Manager.
From the Enterprise menu on the Enterprise Manager home page, select
Monitoring, then select Incident Manager.

2.

From the My Views region, click the Manage icon.

2-46

Chapter 2

Working with Incidents

3.

From the Manage Custom Views dialog, choose a custom view.

4.

Click Share (or Unshare if the view is already shared and you want to unshare it.)

5.

Click Yes to confirm the share/unshare operation.

2.3.5 Responding and Working on a Simple Incident
The following steps take you through one possible incident management scenario.
1.

Navigate to Incident Manager.
From the Enterprise menu on the Enterprise Manager home page, select
Monitoring, then select Incident Manager.

2.

Use a view to filter the list of incidents. For example, you should use My Open
Incidents and Problems view to see incidents and problems assigned to you.
You can then sort the list by priority.

3.

To work on an incident, select the incident. In the General tab, click Acknowledge
to indicate that you are working on this incident, and to stop receiving repeat
notifications for the incident.
In addition to the acknowledging the incident, you can perform other incident
management operations such as:
•

Adding a comment.

•

Managing the incident. See Responding to and Managing Multiple Incidents,
Events and Problems in Bulk for more information on incident management
options.

•

Editing the summary.

•

Manually creating a ticket.

•

Suppressing/unsuppressing the incident.

2-47

Chapter 2

Working with Incidents

•

Clearing the incident.

Be aware that as you are working on an individual incident, new incidents might be
coming in. Update the list of incidents by clicking the Refresh icon.
4.

If the solution for the incident is unknown, use one or all of the following methods
made available in the Incident page:
•

Use the Guided Resolution region and access any recommendations,
diagnostic and resolution links available.

•

Check My Oracle Support Knowledge base for known solutions for the
incident.

•

Study related incidents available through the Related Events and Incidents
tab.

5.

Once the solution is known and can be resolved right away, resolve the incident by
using tools provided by the system, if possible.

6.

In most cases, once the underlying cause has been fixed, the incident is cleared in
the next evaluation cycle. However, in cases like log-based incidents, clear the
incident.

Alternatively, you can work with incidents for a specific target from that target's home
page. From the target menu, select Monitoring and then select Incident Manager to
access incidents for that target (or group).

2.3.6 Responding to and Managing Multiple Incidents, Events and
Problems in Bulk
There may be situations where you want to respond to multiple incidents in the same
way. For example, you find that a cluster of incidents that are assigned to you are due
to insufficient tablespace issues on several production databases. Your manager
suggests that these tablespaces be transferred to a storage system being procured by
another administrator. In this situation, you want to set all of the tablespace incidents
to a customized resolution state "Waiting for Hardware." You also want to assign the
incidents to the other administrator and add a comment to explain the scenario. In this
situation, you want to update all of these incidents in bulk rather than individually.
To respond to incidents in bulk:
1.

Navigate to Incident Manager.
From the Enterprise menu on the Enterprise Manager home page, select
Monitoring, then select Incident Manager.

2.

Use a view to filter the list of incidents to the subset of incidents you want to work
on. For example, you can use My Open Incidents and Problems view to see
incidents and problems assigned to you. You can then sort the list by priority.

3.

Select the incidents to which you want to respond. You can select multiple
incidents by holding down the Control key and selecting individual incidents or you
can hold down the Shift key and select the first and last incidents to select a
contiguous block of incidents.

4.

From the Action menu, choose the desired response action.
•

Acknowledge: Indicate that you have viewed the incidents. This option also
stops any repeat notifications sent out for the incidents. This sets the
Acknowledged flag to Yes and also makes you the owner of the incident

2-48

Chapter 2

Working with Incidents

•

•

Manage: Allows you to perform a multi-action response to the incidents.
–

Acknowledge: If an incident is acknowledged, it will be implicitly assigned
to the user who acknowledged it. When a user assigns an incident to
himself, it is considered acknowledged. Once acknowledged, an incident
cannot be unacknowledged. Acknowledgement also stops any repeat
notifications for that incident

–

Assign to: Assign the incident(s) to the administrator who will take
ownership of the incident.

–

Prioritization: The priority level of an incident can be set by selecting one
of the out-of-the-box priority values: None, Urgent, Very High, High,
Medium, Low

–

Incident Status: The resolution state for the incident can be set by
selecting either Work in Progress or Resolved or to any custom status
defined.

–

Escalation Level: Administrators can update incidents to set an escalation
level: Level 1 through 5, in addition to the default value of None. An
escalated issue can be de-escalated by setting the escalation to None.
The appropriate Escalation Level depends on the IT procedures you have
in place.

–

Comment: You can enter comments such as those you want to pass to
the owner of the incident.

Suppress: Suppressing an incident stops corresponding notifications, and
removes it from out-of-the-box views and default totals (such as those
presented in the summary region). Suppression is typically performed when
you want to defer action on the incident until a future time and in the meantime
want to visually hide them from appearing in the console. Administrators can
see suppressed incidents by explicitly searching for them such as performing
a search on incidents where the search criteria includes the Suppressed
search field
Incidents can be suppressed until any of the following conditions are met:
–

Until the suppression is manually removed

–

Until specified date in the future

–

Until the severity state changes (incidents only)

–

Until it is closed

•

Clear: Administrators can clear incidents or problems manually. For incidents,
this applies only to incidents containing incidents that can be manually
cleared.

•

Add Comment: Users can add comments on incidents and events.
Comments may be used for sharing information with other users or to provide
tracking information on any actions being taken. Comments can be added
even on closed issues.

Note:
The single action Acknowledge and Clear buttons are enabled for open
incidents and can be used for multiple incident selection.

2-49

Chapter 2

Working with Incidents

If any of the above actions applies only to a subset of selected incidents (for
example, if an administrator tries to acknowledge multiple incidents, of which some
are already acknowledged), the action will be performed only where applicable.
The administrator will be informed of the success or failure of the action. When an
administrator selects any of these actions, a corresponding annotation is added to
the incident for future reference.
5.

Click OK. Enterprise Manager displays a process summary and confirmation
dialogs.

6.

Continue working with the incidents as required.

2.3.7 Searching My Oracle Support Knowledge
To access My Oracle Support Knowledge base entries from within Incident Manager,
perform the following steps:
1.

Navigate to Incident Manager.
From the Enterprise menu on the Enterprise Manager home page, select
Monitoring, then select Incident Manager.

2.

Select one of the standard views. Choose the appropriate incident or problem in
the View table.

3.

In the resulting details region, click My Oracle Support Knowledge.
If your My Oracle Support (MOS) login credentials have been saved as MOS
Preferred Credentials, you do not need to log in manually. If not, you will need to
sign in to My Oracle Support. To save your MOS login information as Preferred
Credentials.
Setting MOS Preferred Credentials: From the Setup menu, select Security and
then Preferred Credentials. From the My Oracle Support Preferred Credentials
region, click Set MOS Credentials.

4.

On the My Oracle Support page, click the Knowledge tab to browse the
knowledge base.
From this page, in addition to accessing formal Oracle documentation, you can
also change the search string in to look for additional knowledge base entries.

2.3.8 Submitting an Open Service Request (Problems-only)
There are times when you may need assistance from Oracle Support to resolve a
problem. This procedure is not relevant for incidents or events.
To submit a service request (SR), perform the following steps:
1.

Navigate to Incident Manager.
From the Enterprise menu on the Enterprise Manager home page, select
Monitoring, then select Incident Manager.

2.

Use one of the views to find the problem or search for it or use one of your custom
views. Select the appropriate problem from table.

3.

Click on the Support Workbench: Package Diagnostic link.

4.

Complete the workflow for opening an SR. Upon completing the workflow, a draft
SR will have been created.

2-50

Chapter 2

Working with Incidents

5.

Sign in to My Oracle Support if you are not already signed in.

6.

On the My Oracle Support page, click the Service Requests tab.

7.

Click Create SR button.

2.3.9 Suppressing Incidents and Problems
There are times when it is convenient to hide an incident or problem from the list in the
All Open Incidents page or the All Open Problems page. For example, you need to
defer work on the incident until a future date (for example, until maintenance window).
In order to avoid having it appear in the UI, you want to temporarily hide or suppress
the incident until a future date. In order to find a suppressed incident, you must
explicitly search for the incident using either the Show all or the Only show suppressed
search option. In order to unhide a suppressed incident or problem, it must be
manually unsuppressed.
To suppress an incident or problem:
1.

Navigate to Incident Manager.
From the Enterprise menu on the Enterprise Manager home page, select
Monitoring, then select Incident Manager.

2.

Select either the All Open Incidents view or the All Open Problems view.
Choose the appropriate incident or problem. Click the General tab.

3.

In the resulting details region, click More, then select Suppress.

4.

On the resulting Suppress pop-up, choose the appropriate suppression type.
Add a comment if desired.

5.

Click OK.

To unsuppress an incident or problem:
1.

Navigate to Incident Manager.
From the Enterprise menu on the Enterprise Manager home page, select
Monitoring, then select Incident Manager.

2.

Click Search.

3.

From the Suppressed menu, select Only show suppressed.

4.

Click Get Results.
The suppressed incidents are displayed. Choose the appropriate incident or
problem.

5.

Click the General tab.

6.

In the resulting details region, click More, and then select Unsuppress.

2.3.10 Managing Workload Distribution of Incidents
Incident Manager enables you to manage incidents and problems to be addressed by
your team.
Perform the following tasks:
1.

Navigate to Incident Manager.

2-51

Chapter 2

Working with Incidents

From the Enterprise menu on the Enterprise Manager home page, select
Monitoring, then select Incident Manager.
2.

Use the standard or custom views to identify the incidents for which your team is
responsible. You may want to focus on unassigned and unacknowledged incidents
and problems.

3.

Review the list of incidents. This includes: determining person assigned to the
incident, checking its status, progress made, and actions taken by the incident
owner.

4.

Add comments, change priority, reassign the incident as needed by clicking on the
Manage button in the Incident Details region.

Example Scenario
The DBA manager uses Incident Manager to view all the incidents owned by his team.
He ensures all of them are correctly assigned; if not, he reassigns and prioritizes them
appropriately. He monitors the escalated events for their status and progress, adds
comments as needed for the owner of the incident. In the console, he can view how
long each of the incidents has been open. He also reviews the list of unassigned
incidents and assigns them appropriately.

2.3.11 Reviewing Events on a Periodic Basis
Oracle recommends managing via incidents in order to focus on important events or
groups of related events. Due to the variety and sheer number of events that can be
generated, it is possible that not all important events will be covered by incidents. To
help you find these important yet untreated events, Enterprise Manager provides the
Events without incidents standard view.
Perform the following steps:
1.

From the Enterprise menu, select Monitoring, then select Incident Manager.

2.

In the Views region, click Events without incidents.

3.

Select the desired event in the table. The event details display.

4.

In the details area, choose More and then either Create Incident or Add Event to
Incident.

Example Scenario
During the initial phase of Enterprise Manager uptake, every day the DBA manager
reviews the events for the databases his team is responsible for and filters them to
view only the ones which are not tracked by ticket or incident. He browses such events
to ensure that none of them requires incidents to track the issue. If he feels that one
such event requires an incident to track the issue, he creates an incident directly for
this event.

2.3.11.1 Creating an Incident Manually
If an event of interest occurs that is not covered by any rule and you want to convert
that event to an incident, perform the following:
1.

Using an available view, find the event of interest.

2.

Select the event in the table.

3.

From the More... drop-down menu, choose Create Incident...

2-52

Chapter 2

Advanced Topics

4.

Enter the incident details and click OK.

5.

Should you decide to work on the incident, set yourself as owner of the incident
and update status to Work in Progress.

Example Scenario
As per the operations policy, the DBA manager has setup rules to create incidents for
all critical issues for his databases. The remainder of the issues are triaged at the
event level by one of the DBAs.
One of the DBA receives email for an "SQL Response" event (not associated with an
incident) on the production database. He accesses the details of the event by clicking
on the link in the email. He reviews the details of the event. This is an issue that needs
to be tracked and resolved, so he opens an incident to track the resolution of the
issue. He marks the status of the incident as "Work in progress".

2.4 Advanced Topics
The following sections discuss incident/event management features relating advanced
applications or operational areas.

2.4.1 Automatic Diagnostic Repository (ADR): Incident Flood Control
ADR is a file-based repository that stores database diagnostic data such as traces,
dumps, the alert log, and health monitor reports. ADR's unified directory structure and
a unified set of tools enable customers and Oracle Support to correlate and analyze
diagnostic data across multiple instances and Oracle products.
Like Enterprise Manager, ADR creates and tracks incidents and problems to allow you
to resolve issues.
•

A problem is a critical error in the database. Critical errors manifest as internal
errors, such as ORA-00600, or other severe errors, such as ORA-07445
(operating system exception) or ORA-04031 (out of memory in the shared pool).

•

An incident is a single occurrence of a problem. When a problem (critical error)
occurs multiple times, an incident is created for each occurrence. Incidents are
timestamped and tracked in ADR. When an incident occurs, ADR sends a
diagnostic incident alert to Enterprise Manager.

2.4.1.1 Working with ADR Diagnostic Incidents Using Incident Manager
Each diagnostic incident recorded in the ADR is also recorded as an incident in
Enterprise Manager, thus providing you with a unified view of ADR/Enterprise
Manager incidents and problems from within Incident Manager. For the ADR
diagnostic incidents, you can access Enterprise Manager Support Workbench to take
further action, such as packaging a problem or raising a service request with Oracle
Support.

2.4.1.2 Incident Flood Control
Prior to Enterprise Manager Release 12.1.0.4, there was no limit to the number of
diagnostic incidents recorded for a single problem in Incident Manager. It is
conceivable that a problem could generate dozens or perhaps hundreds of incidents in
a short period of time. While incidents generated during the early stages of a problem

2-53

Chapter 2

Advanced Topics

may be useful, after a certain point the excess diagnostic data would provide little
value and possibly slow down your efforts to diagnose and resolve the problem.
Because diagnostic problems typically tend to be long-lived, a significant number of
incidents could be generated over time. Also, depending on the size of your monitored
environment, the diagnostic data may consume considerable system resources.
For these reasons, the Enterprise Manager applies flood control limits on the number
of diagnostic incidents that can be raised for a given problem in Incident Manager.
Flood-controlled incidents provide a way of informing you that a critical error is
ongoing, without overloading the system with diagnostic data.
Beginning with Enterprise Manager Release 12.1.0.4, two limits are placed on the
number of diagnostic incidents that can be raised for a given problem in Incident
Manager. A problem is identified by a unique problem signature called a problem key
and is associated with a single target.
Enterprise Manager Limits on Diagnostic Incidents
Enterprise Manager enforces two limits for diagnostic incidents:
•

For any given hour, Enterprise Manager only records up to five (default value)
diagnostic incidents for a given target and problem key combination.

•

On any given day, Enterprise Manager only records up to 25 (default value)
diagnostic incidents for a given problem key and target combination.

When either of these limits is reached, any diagnostic incidents for the same target/
problem key combination will not be recorded until the corresponding hour or day is
over. Diagnostic incident recording will commence once a new hour or day begins.

Note:
Hour and day calculations are based on UTC (or GMT).

These diagnostic incident limits only apply to Incident Manager and not to the
underlying ADR. All incidents continue to be recorded in the ADR repository. Using
Enterprise Manager Support Workbench, users can view all the incidents for a given
problem at any time and take appropriate actions.
Enterprise Manager diagnostic incident limits are configurable. As mentioned earlier,
the defaults for these two limits are set to 5 incidents per hour and 25 incidents per
day. These defaults should not be changed unless there is a clear business reason to
track all diagnostic incidents.
Changing Enterprise Manager Diagnostic Incident Limits
To update the diagnostic limits, execute the following SQL against the Enterprise
Manager repository as the SYSMAN user using the appropriate limit values as shown
in the following example.
The PL/SQL shown in the following example prints out the current limits.

2-54

Chapter 2

Advanced Topics

Note:
The Enterprise Manager incident limits are in addition to any diagnostic
incident limits imposed by underlying applications such as Oracle database,
Middleware and Fusion Applications. These limits are specific to each
application. See the respective application documentation for more
information.

Example 2-3

SQL Used to Change Diagnostic Incident Limits

exec EM_EVENT_UTIL.SET_ADR_INC_LIMITS(5,25);

Example 2-4

SQL Used to Print Out Current Diagnostic Incident Limits

DECLARE
l_adr_hour_limit NUMBER;
l_adr_day_limit NUMBER;
BEGIN
em_event_util. GET_ADR_INC_LIMITS
(p_hourly_limit => l_adr_hour_limit,
p_daily_limit => l_adr_day_limit);
dbms_output.put_line(l_adr_hour_limit || '-' || l_adr_day_limit);
END;

2.4.2 Defining Custom Incident Statuses
As discussed in "Working with Incidents", one of the primary incident workflow
attributes is status. For most conditions, these predefined status attributes will suffice.
However, the uniqueness of your monitoring and management environment may
require an incident workflow requiring specialized incident states. To address this
need, you can define custom states using the create_resolution_state EM CLI verb.

2.4.2.1 Creating a New Resolution State
emcli create_resolution_state
-label="Label for display"
-position="Display position"
[-applies_to="INC|PBLM"]

This verb creates a new resolution state for describing the state of incidents or
problems.

Note:
This command can only be executed by Enterprise Manager Super
Administrators.

The new state is always added between the New and Closed states. You must specify
the exact position of this state in the overall list of states by using the -position option.
The position can be between 2 and 98.

2-55

Chapter 2

Advanced Topics

By default, the new state is applicable to both incidents and problems. The -applies_to
option can be used to indicate that the state is applicable only to incidents or
problems.
A success message is reported if the command is successful. An error message is
reported if the change fails.
Examples
The following example adds a resolution state that applies to both incidents and
problems at position 25.
emcli create_resolution_state -label="Waiting for Ticket" -position=25

The following example adds a resolution state that applies to problems only at position
35.
emcli create_resolution_state -label="Waiting for SR" -position=35 applies_to=PBLM

2.4.2.2 Modifying an Existing Resolution State
You can chance the both the display label and the position of an existing state by
using the modify_resolution_state verb.
emcli modify_resolution_state
-label="old label of the state to be changed"
-new_label="New label for display"
-position="New display position"
[-applies_to=BOTH]

This verb modifies an existing resolution state that describes the state of incidents or
problems. As with the create_resolution_state verb, this command can only be
executed by Super Administrators.
You can optionally indicate that the state should apply to both incidents and problems
using the -applies_to option.
Examples
The following example updates the resolution state with old label "Waiting for TT" with
a new label "Waiting for Ticket" and if necessary, changes the position to 25.
emcli modify_resolution_state -label="Waiting for TT" -new_label="Waiting for
Ticket" -position=25

The following example updates the resolution state with the old label "SR Waiting" with
a new label "Waiting for SR" and if necessary, changes the position to 35. It also
makes the state applicable to incidents and problems.
emcli modify_resolution_state -label="SR Waiting" -new_label="Waiting for SR" position=35 -applies_to=BOTH

2.4.3 Clearing Stateless Alerts for Metric Alert Event Types
For metric alert event types, an event (metric alert) is raised based on the metric
threshold values. These metric alert events are called stateful alerts. For those metric
alert events that are not tied to the state of a monitored system (for example, snapshot
too old, or resumable session suspended ), these alerts are called stateless alerts.

2-56

Chapter 2

Advanced Topics

Because stateless alerts are not cleared automatically, they need to be cleared
manually. You can perform a bulk purge of stateless alerts using the
clear_stateless_alerts EM CLI verb.

Note:
For large numbers of incidents, you can manually clear incidents in bulk. See
"Responding to and Managing Multiple Incidents, Events and Problems in
Bulk".

clear_stateless_alerts clears the stateless alerts associated with the specified target.
The clearing must be manually performed as the Management Agent does not
automatically clear stateless alerts. To find the metric internal name associated with a
stateless alert, use the EM CLI get_metrics_for_stateless_alerts verb.
Format
emcli clear_stateless_alerts -older_than=number_in_days -target_type=target_type target_name=target_name [-include_members][metric_internal_name=target_type_metric:metric_name:metric_column] [unacknowledged_only][-ignore_notifications] [-preview][ ] indicates that the
parameter is optional

Options
•

older_than
Specify the age of the alert in days. (Specify 0 for currently open stateless alerts.)

•

target_type
Internal target type identifier, such as host, oracle_database, and emrep.

•

target_name
Name of the target.

•

include_members
Applicable for composite targets to examine alerts belonging to members as well.

•

metric_internal_name
Metric to be cleaned up. Use the get_metrics_for_stateless_alerts verb to see a
complete list of supported metrics for a given target type.

•

unacknowledged_only
Only clear alerts if they are not acknowledged.

•

ignore_notifications
Use this option if you do not want to send notifications for the cleared alerts. This
may reduce the notification sub-system load.

•

ignore_notifications
Use this option if you do not want to send notifications for the cleared alerts. This
may reduce the notification sub-system load.

•

preview

2-57

Chapter 2

Advanced Topics

Shows the number of alerts to be cleared on the target(s).
Example
The following example clears alerts generated from the database alert log over a week
old. In this example, no notifications are sent when the alerts are cleared.
emcli clear_stateless_alerts -older_than=7 -target_type=oracle_database -tar
get_name=database -metric_internal_name=oracle_database:alertLog:genericErrStack ignore_notifications

2.4.4 Automatically Clearing "Manually Clearable" Events
There are those events that clear automatically, such as CPU Utilization and those
events that must be manually cleared, either through the Incident Manager UI or
automatically via rule (such as Job Failure, or Log Metric events). Auto-clear events,
as the term implies, are cleared automatically by Enterprise Manager once the
underlying issue is resolved. In the case of CPU Utilization, the event CPU Utilization
clears automatically once the percent utilization falls below the warning threshold.
However, for those events that must be cleared manually, a user must intervene and
clear the event using Incident Manager either by selecting the incident/event and
clicking Clear, or creating an event rule to do the job (recommended method).
As mentioned previously, an event rule automates the clearing of manually clearable
events. Enterprise Manager provides a limited number of out-of-box rules that
automatically clear manually clearable events, such as job failures or ADP events that
remain open for seven days. However, to more accurately meet the needs of your
monitoring environment, Oracle recommends creating your own event rules to
automatically clear those manually clearable events that are most prevalent in your
environment.
During the rule creation process, you can specify that an event be automatically
cleared by selecting the Clear Event option while you are adding conditional actions.
Getting Notified when the Event Clears
The event clearing action is an asynchronous operation, which means that when the
rule action (clear) is initiated, the manually clearable event will be enqueued for
clearing, but not actually cleared. Hence, an email notification sent upon rule execution
will indicate that the event has not been cleared. Asynchronous clearing is by design
as it reduces overall rule engine processing load and processing time. Subscribing to
this event clearing rule with the intent to be notified when the event clears will be of
little value. If you want to be notified when the event clears, you must create a new
event rule and explicitly specify a Clear severity. In doing so, you will be notified once
the event is actually cleared.

2.4.5 User-reported Events
Users may create (publish) events manually using the EM CLI verb publsh_event. A
User-reported event is published as an event of the "User-reported event" class. Only
users with Manage Target privilege can publish these events for a target. An error
message is reported if the publish fails.
After an event is published with a severity other than CLEAR (see below), end-users
with appropriate privileges can manually clear the event from the UI, or they can
publish a new event using a severity level of CLEAR and the same details to report
clearing of the underlying situation.

2-58

Chapter 2

Advanced Topics

2.4.5.1 Format
emcli publish_event
-target_name="Target name"
-target_type="Target type internal name"
-message="Message for the event"
-severity="Severity level"
-name="event name"
[-key="sub component name"
-context="name1=value1;name2=value2;.."
-separator=context="alt. pair separator"
-subseparator=context="alt. name-value separator"]
[ ] indicates that the parameter is optional

2.4.5.2 Options
•

target_name
Target name.

•

target_type
Target type name.

•

message
Message to associate for the event. The message cannot exceed 4000
characters.

•

severity
Numeric severity level to associate for the event. The supported values for severity
level are as follows:
"CLEAR"
"MINOR_WARNING"
"WARNING"
"CRITICAL"
"FATAL"

•

name
Name of the event to publish. The event name cannot exceed 128 characters.
This is indicative of the nature of the event. Examples include "Disk Used
Percentage," "Process Down," "Number of Queues," and so on. The name must
be repeated and identical when reporting different severities for the same
sequence of events. This should not have any identifying information about a
specific event; for example, "Process xyz is down." To identify any specific
components within a target that the event is about, see the key option below.

•

key
Name of the sub-component within a target this event is related to. Examples
include a disk name on a host, name of a tablespace, and so forth. The key cannot
exceed 256 characters.

•

context

2-59

Chapter 2

Advanced Topics

Additional context that can be published for a given event. This is a series of
strings of format name:value separated by a semi-colon. For example, it might be
useful to report the percentage size of a disk when reporting space issues on the
disk. You can override the default separator ":" by using the sub-separator option,
and the pair separator ";" by using the separator option.
The context names cannot exceed 256 characters, and the values cannot exceed
4000 characters.
•

separator
Set to override the default ";" separator. You typically use this option when the
name or the value contains ";". Using "=" is not supported for this option.

•

subseparator
Set to override the default ":" separator between the name-value pairs. You
typically use this option when the name or value contains ":". Using "=" is not
supported for this option.

2.4.5.3 Examples
Example 1
The following example publishes a warning event for "my acme target" indicating that a
HDD restore failed, and the failure related to a component called the "Finance DB
machine" on this target.
emcli publish_event -target_name="my acme target" -target_type="oracle_acme"
-name="HDD restore failed" -key="Finance DB machine" -message="HDD restoration
failed due to corrupt disk" -severity=WARNING

Example 2
The following example publishes a minor warning event for "my acme target" indicating
that a HDD restore failed, and the failure related to a component called the "Finance
DB machine" on this target. It specifies additional context indicating the related disk
size and name using the default separators. Note the escaping of the \ in the disk
name using an additional "\".
emcli publish_event -target_name="my acme target" -target_type="oracle_acme"
-name="HDD restore failed" -key="Finance DB machine" -message="HDD restoration
failed due to corrupt disk" -severity=MINOR_WARNING -context="disk size":800GB
\;"disk name":\\uddo0111245

Example 3
The following example publishes a critical event for "my acme target" indicating that a
HDD restore failed, and the failure related to a component called the "Finance DB
machine" on this target. It specifies additional context indicating the related disk size
and name. It uses alternate separators, because the name of the disk includes the ":"
default separator.
emcli publish_event -target_name="my acme target" -target_type="oracle_acme"
-name="HDD restore failed" -key="Finance DB machine" -message="HDD restoration
failed due to corrupt disk" -severity=CRITICAL -context="disk size"^800GB\;"disk
name"^\\sdd1245:2 -subseparator=context=^

2-60

Chapter 2

Advanced Topics

2.4.6 Additional Rule Applications
Rules can be set up to perform more complicated tasks beyond straightforward
notifications. The following tasks illustrate additional rule capabilities.
•

Setting Up a Rule to Send Different Notifications for Different Severity States of an
Event

•

Creating a Rule to Notify Different Administrators Based on the Event Type

•

Creating a Rule to Create a Ticket for Incidents

•

Creating a Rule to Send SNMP Traps to Third Party Systems

2.4.6.1 Setting Up a Rule to Send Different Notifications for Different Severity
States of an Event
Before you perform this task, ensure the DBA has set appropriate thresholds for the
metric so that a critical metric alert is generated as expected.
Consider the following example:
The Administration Manager sets up a rule to page the specific DBA when a critical
metric alert event occurs for a database in a production database group and to email
the DBA when a warning metric alert event occurs for the same targets. This task
occurs when a new group of databases is deployed and DBAs request to create
appropriate rules to manage such databases.
Perform the following tasks to set appropriate thresholds:
1.

From the Setup menu, select Incidents, then select Incident Rules.

2.

On the Incident Rules - All Enterprise Rules page, highlight a rule set and click
Edit.... (Rules are created in the context of a rule set. If there is no existing rule set
to manage the newly added target, create a rule set.)

3.

In the Edit Rule Set page, locate the Rules section. Click Create...

4.

From the Select Type of Rule to Create dialog, choose Incoming events and
updates to events. Click Continue.

5.

Provide the rule details as follows:
a.

For Type, select Metric Alerts as the Type.

b.

In the criteria section, select Severity. From the drop-down list, check and
Critical and Warning as the selected values. Click Next.

c.

On the Add Actions page, click +Add.
In the Create Incident section, check the Create Incident option. Click
Continue. The Add Action page displays with the new rule. Click Next.

d.

Specify a name for the rule and a description. Click Next.

e.

On the Review page, ensure your settings are correct and click Continue. A
message appears informing you that the rule has been successfully created.
Click OK to dismiss the message.
Next, you need to create a rule to perform the notification actions.

6.

From the Rules section on the Edit Rules page, click Create.

2-61

Chapter 2

Advanced Topics

7.

Select Newly created incidents or updates to incidents as the rule type and
click Continue.

8.

Check Specific Incidents.

9.

Check Severity and from the drop-down option selector, check Critical and
Warning. Click Next.

10. On the Add Actions page, click Add. The Conditional Actions page displays.
11. In the Conditions for actions section, choose Only execute the actions if

specified conditions match.
12. From the Incident matches the following criteria list, choose Severity and then

Critical from the drop-down option selector.
13. In the Notifications section, enter the DBA in the Page field. Click Continue. The

Add Actions page displays.
14. Click Add to create a new action for the Warning severity.
15. In the Conditions for actions section, choose Only execute the actions if

specified conditions match.
16. From the Incident matches the following criteria list, choose Severity and then

Warning from the drop-down option selector.
17. In the Notifications section, enter the DBA in the Email to field. Click Continue.

The Add Actions page displays with the two conditional actions. Click Next.
18. Specify a rule name and description. Click Next.
19. On the Review page, ensure your rules have been defined correctly and click

Continue. The Edit Rule Set page displays.
20. Click Save to save your newly defined rules.

2.4.6.2 Creating a Rule to Notify Different Administrators Based on the Event
Type
As per operations policy for production databases, the incidents that relate to
application issues should go to the application DBAs and the incidents that relate to
system parameters should go to the system DBAs. Accordingly, the respective
incidents will be assigned to the appropriate DBAs and they should be notified by way
of email.
Before you set up rules, ensure the following prerequisites are met:
•

DBA has setup appropriate thresholds for the metric so that critical metric alert is
generated as expected.

•

Rule has been setup to create incident for all such events.

•

Respective notification setup is complete, for example, global SMTP gateway,
email address, and schedule for individual DBAs.

Perform the following steps:
1.

Navigate to the Incident Rules page.
From the Setup menu, select Incidents, then select Incident Rules.

2.

Search the list of enterprise rules matching the events from the production
database.

2-62

Chapter 2

Advanced Topics

3.

On the Incident Rules - All Enterprise Rules page, highlight a rule set and click
Edit....
Rules are created in the context of a rule set. If there is no existing rule set, create
a rule set.

4.

From the Edit Rule Set page (Rules tab), select the rule which creates the
incidents for the metric alert events for the database. Click Edit

5.

From the Select Events page, click Next.

6.

From the Add Actions page, click +Add. The Add Conditional Actions page
displays.

7.

In the Notifications area, enter the email address of the DBA you want to be
notified for this specific event type and click Continue to add the action. Enterprise
Manager returns you to the Add Actions page. Click Next.

8.

On the Specify Name and Description page, enter an intuitive rule name and a
brief description.

9.

Click Next.

10. On the Review page, review the Applies to, Actions and General information for

correctness .
11. Click Continue to create the rule.
12. Create/Edit additional rules to handle alternate additional administrator

notifications according to event type.
13. Review the rules summary and make corrections as needed. Click Save to save

your rule set changes.

2.4.6.3 Creating a Rule to Create a Ticket for Incidents
If your IT process requires a helpdesk ticket be created to resolve incidents, then you
can use the helpdesk connector to associate the incident with a helpdesk ticket and
have Enterprise Manager automatically open a ticket when the incident is created.
Communication between Incident Manager and your helpdesk system is bidirectional,
thus allowing you to check the changing status of the ticket from within Incident
Manager. Enterprise Manager also allows you to link out to a Web-based third-part
console directly from the ticket so that you can launch the console in context directly
from the ticket.
For example, according to the operations policy of an organization, all critical incidents
from a production database should be tracked by way of Remedy tickets. A rule is set
up to create a Remedy ticket when a critical incident occurs for the database. When
such an incident occurs, the ticket is generated by the rule, the incident is associated
with the ticket, and the operation is logged for future reference to the updates of the
incident. While viewing the details of the incident, the DBA can view the ticket ID and,
using the attached URL link, access the Remedy to get the details about the ticket.
Before you perform this task, ensure the following prerequisites are met:
•

Monitoring support has been set up.

•

Remedy ticketing connector has been configured.

Perform the following steps:
1.

From the Setup menu, select Incidents, then select Incident Rules.

2-63

Chapter 2

Advanced Topics

2.

On the Incident Rules - All Enterprise Rules page, select the appropriate rule set
and click Edit.... (Rules are created in the context of a rule set. If there is no
applicable rule set , create a new rule set.)

3.

Select the appropriate rule that covers the incident conditions for which tickets
should be generated and click Edit...

4.

Click Next to proceed to the Add Actions page.

5.

Click +Add to access the Add Conditional Actions page.
a.

Specify that a ticket should be generated for incidents covered by the rule.

b.

Specify the ticket template to be used.

6.

Click Continue to return to the Add actions page.

7.

On the Add Actions page, click Next.

8.

On the Review page, click Continue.

9.

On the Specify Name and Description page, click Next.

10. On the Review page, click Continue. A message displays indicating that the rule

has been successfully modified. Click OK to close the message.
11. Repeat steps 3 through 10 until all appropriate rules have been edited.
12. Click Save to save your changes to the rule set.

2.4.6.4 Creating a Rule to Send SNMP Traps to Third Party Systems
As mentioned in Using Notifications , Enterprise Manager supports integration with
third-party management tools through the SNMP. Sending SNMP traps to third party
systems is a two-step process:
Step 1: Create an advanced notification method based on an SNMP trap.
Step 2: Create an incident rule that invokes the SNMP trap notification method.
The following procedure assumes you have already created the SNMP trap notification
method. For instruction on creating a notification method based on an SNMP trap, see
"Sending SNMP Traps to Third Party Systems".
1.

From the Setup menu, select Incidents, then select Incident Rules.

2.

On the Incident Rules - All Enterprise Rules page, click Create Rule Set...

3.

Enter the rule set Name, a brief Description, and select the type of source object
the rule Applies to (Targets).

4.

Click on the Rules tab and then click Create...

5.

On the Select Type of Rule to Create dialog, select Incoming events and
updates to events and then click Continue.

6.

On the Create New Rule : Select Events page, specify the criteria for the events
for which you want to send SNMP traps and then click Next.

2-64

Chapter 2

Advanced Topics

Note:
You must create one rule per event type. For example, if you want to send
SNMP traps for Target Availability events and Metric Alert events, you must
specify two rules.
7.

On the Create New Rule : Add Actions page, click Add. The Add Conditional
Actions page displays.

8.

In the Notifications section, under Advanced Notifications, select an existing
SNMP trap notification method.
For information on creating SNMP trap notification methods, see "Sending SNMP
Traps to Third Party Systems".

9.

Click Continue to return to the Create New Rule : Add Actions page.

10. Click Next to go to the Create New Rule : Specify Name and Description page.
11. Specify a rule name and a concise description and then click Next.
12. Review the rule definition and then click Continue add the rule to the rule set. A

message displays indicating the rule has been added to the rule set but has not
yet been saved. Click OK to close the message.
13. Click Save to save the rule set. A confirmation is displayed. Click OK to close the

message.

2.4.7 Exporting and Importing Incident Rules
You invest a great deal of time and effort carefully designing and testing the incident
rule sets that automate Enterprise Manager incident management practices within
your organization. Typically, the design and test phase of rule set creation is carried
out in a separate Enterprise Manager test environment. Incident Manager's rule set
import/export functionality simplifies moving rule sets from your development
environment to your production environment.
In addition to moving rule sets from a test environment to a production environment,
the import/export functionality also allows you to back up incident rule sets so they can
be safely archived in case of disaster. More importantly, the import/export functionality
makes it easy to standardize incident management automation processes across your
Enterprise Manager environments.

2.4.7.1 Exporting Rule Sets using the Enterprise Manager Console
To export an incident rule set:
1.

From the Setup menu, select Incidents then select Incident Rules.

2.

On the Incident Rules - All Enterprise Rules page, select the desired rule set you
wish to export.

Note:
You cannot export Oracle-supplied out-of-box rule sets.

2-65

Chapter 2

Advanced Topics

3.

Click Export. Your browser's file dialog appears prompting you to save or open
the file. Save the file to your local disk. By default the file name will be the name of
your rule set with a.xml extension.

Note:
You should not edit the generated rule set XML files.

2.4.7.2 Importing Rule Sets using the Enterprise Manager Console
In order to import an incident rule set, administrators must have the Create Enterprise
Rule Set privilege.
When an incident rule set is first imported, it will be disabled by default. You will need
to edit the imported rule set in order to specify environment-specific parameters such
as target names for specific target selection or user names for email notification. You
will then need to enable the rule set.
To import an incident rule set:
1.

From the Setup menu, select Incidents then select Incident Rules.

2.

Click Import. The Import Rule Set dialog displays.

3.

From the Import Rule Set dialog, click Choose File. The File Upload dialog
displays.

4.

Select the incident rule set XML file and click Open.

5.

Click OK.
If there is a naming conflict for the name, you will be asked to select one of the
following:
•

Override rule set with same name

•

Create rule set with different name

2.4.7.3 Importing Rule Sets Using EM CLI
Using EM CLI, you can write scripts to import/export large numbers of rule sets. The
Create Enterprise Rule Set privilege is required in order to run the import operation
from the command line or script.
You can import a rule set from list of enterprise rule set(s) except for predefined (outof-box) rule sets supplied by Oracle.
emcli import_incident_rule_set
-import_file=
[-alt_rule_set_name=]

Options
•

import_file=

•

alt_rule_set_name=

2-66

Chapter 2

Advanced Topics

Optionally, you can specify the name of an enterprise rule set to use in case rule
set already exists.
Example
emcli import_incident_rule_set -import_file="/tmp/TEST_RULESET.xml" alt_rule_set_name=COPY_OF_TEST_RULESET

This command imports the rule set and names it as 'COPY_OF_TEST_RULESET'
from rule set XML specified 'TEST_RULESET.xml'

2.4.7.4 Exporting Rule Sets Using EM CLI
You can export a rule set from list of enterprise rule set(s) except for predefined (outof-box) rule sets supplied by Oracle. Any user can run the export operation. No special
privileges are required.
emcli export_incident_rule_set
-rule_set_name=
[-rule_set_owner=]
-export_file=

Options
•

rule_set_name=
Name of an enterprise rule set.

•

rule_set_owner=
Optionally, you can specify the owner of the rule set.

•

export_file=
If the filename is specified as directory, it will create a file with rule set name in that
directory.

Examples:
emcli export_incident_rule_set -rule_set_name=TEST_RULESET -rule_set_owner=sysman
-export_file="/tmp/"

This command exports the ruleset named 'TEST_RULESET' from rule set(s) and
saves at '/tmp/TEST_RULESET.xml'

2.4.8 Creating Corrective Actions for Events
Prior to Enterprise Manager release 13.1, corrective actions could only be associated
with metric alerts. Enterprise Manager release 13.1 now allows script-based corrective
actions to fire on an event by associating them with event rules. This greatly increases
the number of situations where corrective actions can be used, such as compliance
standard violations, metric errors, or target availability. By associating corrective
actions with event rules, you can have the corrective action performed automatically.
You can also initiate the corrective action manually through the event details Guided
Resolutions area of Incident Manager. For a detailed discussion about corrective
actions, see "Creating Corrective Actions.".
Corrective Actions in Event Rules

2-67

Chapter 2

Advanced Topics

When you create an event rule to be triggered when a matching event occurs, you can
select an appropriate predefined corrective action from the Corrective Actions Library.
The corrective actions available for selection will depend on the event type and target
type selected for the rule.
When an event rule set is exported or imported, the associated corrective actions will
be exported/imported as well. For more information about importing/exporting event
rules, see "Exporting and Importing Incident Rules."
Create the Corrective Action
In order to associate a corrective action with an event rule, you must first add it to the
Corrective Action Library. After a corrective action is in the library, you can reuse the
corrective action definition whenever you define a corrective action for an event rule.
1.

From the Enterprise menu, select Monitoring, and then Corrective Actions. The
Corrective Action Library page appears.

2.

Select a job type from the Create Library Corrective Action drop-down. For
events, you must create an OS Command job type so that a script can be
executed. Select OS Command, specify a name and then click Go. The Create
OS Command Corrective Action page displays.
Specify a corrective action Name and a brief Description or event type.

3.

From the Target Type drop-down menu, choose a target type. Click on the
Parameters tab.

4.

From the Command Type drop-down menu, choose Script.

5.

Enter the OS script text.
All target and event Properties that can be used in the script are listed in the table
to the right.
Tip: When accessing an Event Details page from Incident Manager, you can click
Show Internal Values for Attributes to display the internal name and values for
the event attributes. You can use this to determine what information you can
access when writing the script for the corrective action. Just copy and paste the
information from the dialog into a text editor and refer to this list of attributes when
creating your script

Note:
If you are using an event context parameter, it must be prefixed with EVTCTX.
6.

Specify an interpreter. For example, %perlbin%/perl

7.

Once you have finished, click Save to Library. The Corrective Actions Library
page displays and your corrective action appears in the library list.
At this point, the corrective action will be in draft status. At this stage, you can test
and revise the corrective action. However, only you, as owner, can test the CA by
running the CA manually from Incident Manager.
To test the corrective action, you must trigger an event that matches the event rule
with the associated corrective action to see if the actions are what you expect.
Once you are satisfied and are ready for other administrators to use the corrective
action, proceed to the next step.

2-68

Chapter 2

Advanced Topics

Note: The Access tab on the "Create 'OS Command' Corrective Action" page
displays administrators and roles that have access to this corrective action. You
can change access to this corrective action from this tab, if required.
8.

Navigate to the Corrective Actions Library page and select the Corrective Action
and then click Publish. A confirmation message displays. Click Yes to confirm
publication.

9.

Set the Preferred Credentials. From the Setup menu, select Security and then
Preferred Credentials. The Preferred Credentials page displays. Note that the
preferred credential of the rule set owner will be used by the corrective action
linked to the rule.

Note:
The corrective action will use these credentials to access the system and carry
out the actions (in this case, running the script). For example, set credential for
host if your corrective action is going to perform corrective actions on a
specific host.
10. If not already set, select the Target Type to be accessed by the corrective action

and click Manage Preferred Credentials. You need to define the Default
Preferred Credentials for the specific target type that the CA is going to perform
the actions on. The target type's Preferred Credentials page displays. On the My
preferences tab, navigate to the Default Preferred Credentials region and select
the applicable credential. Click Set.

Note:
Preferred credentials must be set or the corrective action will fail.
Associate the Corrective Action with an Event Rule
Once you have created the corrective action to be associated with an event, you are
now ready to create an event rule that uses the corrective action. You can only
associate one corrective action per conditional action of the rule.
1.

From the Setup menu, select Incidents and then Incident Rules. The Incident
Rules - All Enterprise Rules page displays.

2.

Click Create Incident Rule Set. The Create Rule Set page displays.

3.

Enter a rule set Name and Description.

4.

Select the appropriate Targets.

5.

Scroll down to the Rules section and click Create... The Select Type of Rule dialog
displays. Choose Incoming events and updates to events and click Continue.
The Create Rule Set wizard appears.

6.

From the Type drop-down menu, select the event Type. By default, Metric Alert is
selected. Choose one of the event types, Compliance Standard Rule Violation, for
example. Expand the Advanced Selection Options and set any event
parameters to which the event rule should apply.

7.

Click Next to proceed to the Add Actions page.

2-69

Chapter 2

Advanced Topics

8.

On the Add Actions page, click Add. The Add Conditional Actions page displays.

9.

Scroll down to the Submit Corrective Action section and click Select Corrective
Action. The corrective action selection dialog displays.

10. Choose the corrective action to be attached and click OK.

Note:
You are not prompted for credentials because the rules are run in the
background and the rule set owner's preferred credentials are used to execute
the corrective action.
11. Click Continue. You are returned to the main Add Actions page. Continue to add

more actions, if necessary.
12. Complete the rule set definition and ensure that it appears in the list of incident

rule sets on the Incident Rules - All Enterprise Rules page.
You will need to recreate the particular rule violation in order to test the CA.
Running the Corrective Action Manually
If you are aware that there exists a corrective action in the Corrective Action Library
that can resolve the current event, you can run the corrective action manually from the
library. In the Guided Resolution section of an Event Details page, the Corrective
Actions area displays the Submit from Library link.
Click Submit from Library to display the Corrective Action Library dialog. This dialog
lists ONLY those corrective actions that apply to the current event conditions. Select a
corrective action from the list. The credential settings are displayed. By default, the
preferred credentials are shown. You have the option of using alternate credentials.
Once set, click Submit. The Corrective action  submitted successfully
dialog displays. Click the link Click here to view the execution details."to go to the
job execution page. Here, you can view the job status and output.

2.4.9 Compressing Multiple Events into a Single Incident
An incident is created for an event when there is a corresponding incident rule defined.
In this situation, multiple events will generate multiple incidents. However, if the events
relate to the same issue, instead of generating multiple incidents, it is better from a
manageability standpoint to just generate a single incident. This is especially true if
these related events are to be managed by the same administrator.
Beginning with Enterprise Manager 13c, Intelligent Incident Compression allows
multiple events to be automatically grouped into a single incident. Some situations
where it is beneficial to deal with multiple events as a single incident are:
•

You want automatic consolidation of all Tablespace Used (%) alerts across all
tablespaces for a specific database into a single incident.

•

You want automatic consolidation of all Metric Collection Errors for a target into a
single incident.

•

You want automatic consolidation of all SOA composite Target Down events within
a WebLogic Domain into a single incident.

2-70

Chapter 2

Advanced Topics

For convenience, Enterprise Manager provides out-of-box rules that automatically
compress related events into single incidents. These rules address some of the most
common conditions where event grouping could be helpful.
•

Target down for RAC database instances.

•

Metric collection errors for a target.

•

Configuration standard violations for a rule on a target.

Creating an Incident Compression Rule Set
The following example shows you how to create an incident rule set that generates a
single incident (compressed), and notifies an administrator of via email that a
compressed incident has been generated.
1.

Click Setup > Incidents > Incident Rules.

2.

Click Create Rule Set.

2-71

Chapter 2

Advanced Topics

3.

Enter the name of the Rule Set and select the target the rule applies to. In this
example, a Database Instance target is selected.

4.

Scroll down to the Rules section and click Create.

5.

In the Select Type of Rule to Create popup window, leave the default (Incoming
events and updates to events) selected and click Continue.

2-72

Chapter 2

Advanced Topics

6.

7.

Select Target Availability from the Type drop down menu and select Specific
events of type Target Availability. Click Add.

Check the “Down” checkbox and click OK.

2-73

Chapter 2

Advanced Topics

8.

9.

Click Next.

Click Add to add Conditional Actions.

10. Select the conditions for compressing the events and click Continue. In this

example we are compressing events from targets on the same host.

2-74

Chapter 2

Advanced Topics

11. Click OK in the popup window.

12. Click Next.

2-75

Chapter 2

Advanced Topics

13. Provide a name for the rule and click Next.

14. Click Continue to add the rule.

Next, you will create a new rule to notify an administrator for the compressed
incident.
15. Click Create to create a new rule to configure email notification.

16. Select Newly created incidents or updates to incidents and click Continue.

2-76

Chapter 2

Advanced Topics

17. Select Specific incidents.
a.

Select the checkbox for Rules that created the incidents and select the rule
that you just created.

b.

Select the checkbox for Status and select New.

c.

Click Next.

2-77

Chapter 2

Advanced Topics

18. Click Add to add a Conditional Action.

19. Populate Conditional Actions as shown in the screen shot below. Change the

notified user according to your requirement.

2-78

Chapter 2

Advanced Topics

20. Click Next.

2-79

Chapter 2

Advanced Topics

21. Enter a name for the rule and click Next.

22. Click Continue.

23. Click Save to save the rule set.

2-80

Chapter 2

Advanced Topics

24. Highlight the rule set and click Reorder Rule Sets.

25. Move the rule set to the top and click OK.

Once the new rule set is moved to the top of the list, it will be evaluated first by the
rules engine.

2.4.10 Event Prioritization
When working in a large enterprise, it is conceivable that when systems are under
heavy load, a large number of incidents and events may be generated. All of these
need to be processed in a timely and efficient manner in accordance with your
business priorities. An effective prioritization scheme is needed to determine which
events/incidents should be resolved first.
In order to determine which event/incidents are high priority, Enterprise Manager uses
a prioritization protocol based on two incident/event attributes: Lifecycle Status of the
target and the Incident/Event Type. Lifecycle Status is a target property that specifies
a target's operational status. You can set/view a target's Lifecycle Status from the UI
(from a target's Target Setup menu, select Properties). You can set target Lifecycle

2-81

Chapter 2

Advanced Topics

Status properties across multiple targets simultaneously by using the Enterprise
Manager Command Line Interface (EM CLI) set_target_property_value verb.
A target's Lifecycle Status is set when it is added to Enterprise Manager for
monitoring. At that time, you determine where in the prioritization hierarchy that target
belongs—the highest level being "mission critical" and the lowest being "development."
Target Lifecycle Status
•

Mission Critical (highest priority)

•

Production

•

Stage

•

Test

•

Development (lowest priority)

Incident/Event Type
•

Availability events (highest priority)

•

Non-informational events.

•

Informational events

2.4.11 Root Cause Analysis (RCA) and Target Down Events
Root Cause Analysis (RCA) tries to identify the root causes of issues that cause
operational events. Beginning with Enterprise Manager Could Control 12.1.0.3,
Incident Manager automatically performs RCA over target down events, thus actively
identifying whether the target down event is the cause or symptom of other target
down events.The term target down event specifically pertains to Target Availability
events that are raised when the targets are detected to be down.

2.4.11.1 How RCA Works
RCA is an ongoing process that identifies whether a target down event is root cause or
symptom. It uses the Causal Analysis Update attribute of the event to store the results
of its analysis, i.e. identifying whether or not the target down event is root cause or
symptom. Whenever a new target availability event comes in, RCA is automatically
performed on the incoming event and existing target down events that are related to it.
Based on the analysis, it updates the Causal Analysis Update attribute value if the
incoming event is a target down event. It also updates the Causal Analysis Update
attribute for the related target down events if there is a change.
Two types of target relationships are used for identifying the related targets:
dependency and containment.
When one target depends on another target for its availability, dependency
relationship exists between them. For example, J2EE application target depends on
the WebLogic Server target over which it is deployed.
The causal analysis update attribute is used only for target down events (such as a
Target Availability event for target down) and can have be assigned any one of the
following values by the RCA process:
•

Symptom -- The target down event has been caused by another target down
event.

2-82

Chapter 2

Advanced Topics

•

Cause - The target down event has caused another target down event and it is not
the symptom of any other target down event.

•

Root Cause - The target down event has caused another target down event and it
is not the symptom of any other target down event.

•

N/A - Root cause analysis is not applicable to this event. Root cause analysis
applies to target down events only.

•

Not a cause and not a symptom - The target down event is not a root cause and
not a symptom of other target down events. This is shown in Incident Manager as
a dash (-).

The following rules describe the RCA process:
•

Rule 1: Down event on a non-container target (a target that does not have
members) is marked as the cause if a dependent target is down and it is not
symptom of other target down events.
Examples:

•

–

You have J2EE applications deployed on a standalone WebLogic Server. If
both J2EE application and WebLogic Server targets are down, the WebLogic
Server down event is the cause for the J2EE applications deployed on it.

–

You have a J2EE application deployed on couple of WebLogic Servers, which
are part of a WebLogic Cluster. If one WebLogic Server is down along with its
J2EE application, then the WebLogic Server down event is the cause of the
J2EE application target down. This assumes the WebLogic Cluster is not
down.

Rule 2: Down event on a non-container target (a target that does not have
members) is marked as a symptom if a target it depends on is down or if the target
containing it is down.
Examples:

•

–

You have a J2EE application deployed on a standalone WebLogic Server. If
both J2EE application and WebLogic Server targets are down, J2EE
application down event is the symptom of WebLogic Server being down.

–

You have a couple of WebLogic Servers which are part of a WebLogic Cluster.
Each WebLogic Server has a J2EE application deployed on it. If the WebLogic
Cluster is down, this means both WebLogic Servers are down. Consequently,
the J2EE applications that are deployed on these servers are also down. The
WebLogic Server down events would be marked as the causes of the
WebLogic Cluster being down. See Rule 3 for details.

–

You have a couple of RAC database instance targets that are part of a cluster
database target. If the cluster database is down, then all RAC instances are
also down. The RAC instance down events would be marked as the causes of
cluster database being down. See Rule 3 for details..

Rule 3: Down event on a container target is marked as symptom down if all
member targets are down and any target containing it is not down.
Examples:
–

You have a couple of WebLogic Servers, which are part of a standalone
WebLogic Cluster. A WebLogic Cluster down event would be marked as
symptom, if both the WebLogic Servers are down.

2-83

Chapter 2

Advanced Topics

–

•

You have a couple of RAC database instance targets that are part of a cluster
database target. The cluster database target down event would be marked as
a symptom, if both database instances are down.

Rule 4: Down event on a container target is marked as symptom if the target
containing it is down.
Example:
You have a couple of WebLogic Clusters that are part of a WebLogic Domain
target. If the WebLogic domain is down, this means the WebLogic Clusters are
also down. The WebLogic Cluster target down events would be the cause of
WebLogic Domain being down. The WebLogic Domain down event would be
marked as symptom.

2.4.11.2 Leveraging RCA Results in Incident Rule Sets
As described above, RCA is an ongoing process which results in marking target down
events as cause, symptom or neither as new target down events come in and are
processed. So a target down event may be marked as a cause or symptom as it
comes in or after some time when RCA has analyzed additional event information.
Most datacenters automatically create incidents for target down events since these are
important events that need to be resolved right away. This is recommended best
practice and also implemented by the out-of-the-box rule sets. However, in terms of
notifying response teams or creating trouble tickets, it is not desirable to do so for
symptom incidents. Some datacenters may also choose to not create incidents for
symptom events.
So the RCA results can be leveraged to do the following:
1.

Notify or create tickets only for non-symptom events:
This can be achieved in 2 ways:

2.

•

Create two separate event rules , one event rule to create incidents for all
relevant events, but take no further action (no notification or ticket creation)
and another one to create incidents for non-symptom events only and also
send notifications and create tickets. See "Creating Incidents On Nonsymptom Events" for instructions.

•

Create an event rule that creates incidents for all target down events. Create
another rule to update the incident priority, send notifications and create
tickets only for incidents stemming from non-symptom events. Once the
incident priority is set to say "Urgent", customer can also create additional
incident rules to take additional actions on the Urgent priority incidents. See
"Creating a Rule to Update Incident Priority for Non-symptom Events".

Only create incidents after a suitable wait for events that are not initially marked as
neither a cause nor a symptom:
As mentioned previously, RCA is an iterative process whereby incoming target
down events are continually being evaluated, resulting in updates to causal
analysis state of existing events. Over a period of time (minutes), a target down
event that was initially marked as a root cause may or may not remain a root
cause depending on other incoming target down events. The original target down
event may later be classified as a symptom.
To avoid prematurely creating an incident and opening a ticket for an event which
may later turn out to be a symptom event, you can set up your rules as follows:

2-84

Chapter 2

Advanced Topics

•

In addition to the rules already defined in the previous step, create an
additional event rule to act upon RCA updates to events and when the RCA
update indicates that the event is marked as a symptom, lower the priority of
the incident to "Low". This will also send an update to the ticket automatically.
This is recommended. See "Introducing a Time Delay" for instructions.
OR

•

3.

To allow time for target down events to be reported, analyzed, and then acted
upon (such as creating an incident or updating an incident), you can add a
delay in the rule actions. This is useful when customer have some tolerance to
take action after some minimum delay (typically 5 minutes).

Only create incidents for non-symptom events.
Some datacenters may choose not to create any incidents for symptom events.
This can be achieved by changing the rules to only create incidents for events
marked as cause or neither a cause nor symptom. See "Creating Incidents On
Non-symptom Events" for instructions.
Please note that, even in this approach, it is possible that an event that was
originally marked as cause or neither a cause nor symptom, may be marked as a
symptom when more information is received. Customers can use an approach
similar to that of the second option in step 2 to build some delay in creating the
incidents. Even with this, it is still feasible but a bit unlikely, that newer information
shows up after the pre-set delay and ends up marking the event as symptom. So it
is recommended to use the approach of setting incident priority and using that as a
way to manage workflow.

2.4.11.3 Leveraging RCA Results in Incident Manager
You can use the RCA results to focus on the non-symptom incidents in Incident
Manager. This involves using the Causal Analysis Update incident attribute when
creating custom views.
1.

From the Enterprise menu, select Monitoring, and then Incidents. The Indicent
Manager page displays.

2.

From the Views region, click Create. The Search page displays.

3.

Click Add Fields... and then choose Causal analysis update. The Causal
analysis update displays as additional search criteria.

4.

Choose 'Do Not Show Symptoms' from the list of available criteria. This will
automatically exclude incidents that have been marked as 'symptom'. Incidents
that are not marked as symptom or root cause will be included as long as it
matches any other criteria you may have specified.

2-85

Chapter 2

Advanced Topics

5.

Click Create View, enter a View Name when prompted, and then click OK.

Showing RCA Results in an Incident Detail
An incident that is a root cause or symptom will be identified prominently as part of the
details of the incident in Incident Manager. In addition, in case the incident is a
symptom, a Causes section will be added to identify the root cause(s) of the incident.
In case the incident has, in turn, caused other target down incidents, an Impacted
Targets section will also be added to show the targets that have been affected, that is.
other targets that are down as a result of the original target down.

2.4.11.4 Leveraging RCA Results in the System Dashboard
In the System Dashboard, you can use the RCA results to exclude symptom incidents
from the Incidents table so administrators can focus their attention on incidents that
are root cause or have not been caused by other target down events.
To exclude Symptom Incidents:
1.

In the System Dashboard, click on the View option that is accessible from the
upper left hand corner of the Incidents and Problems table.

2.

Choose the option to 'Exclude symptoms'. Alternatively, you can also choose the
option 'Cause only' show only shows target down incidents that have been
identified as cause of other target down incidents. Regardless of the option
chosen, incidents that have not been marked as symptom or root cause will
continue to be displayed.

2.4.11.5 Creating a Rule to Update Incident Priority for Non-symptom Events
1.

Create an event rule to select only non-symptom events.

2-86

Chapter 2

Advanced Topics

2.

When adding an action, select the priority to be set for incidents associated with
the non-symptom events selected above.

2.4.11.6 Creating Incidents On Non-symptom Events
You can leverage Incident Manager's Root Cause Analysis (RCA) capability by
creating rule sets that generate incidents for non-symptom, target down events. For
monitoring situations where a high number of symptom target down events are
generated, but only a few non-symptom target down events, you can create/modify a
rule set that generates incidents and send notifications only for non-symptom events.
To create a rule set that generates incidents for this monitoring condition, you need to
create two event rules (one for each of the RCA filters):
•

Event Rule 1: Generate incidents for all relevant events, but take no further
action (no notification or ticket creation). The event is marked as a cause.

•

Event Rule 2: Generate incidents for non-symptom events only and also send
notifications and create tickets. The event is not a cause and not a symptom.

2-87

Chapter 2

Advanced Topics

To create the event rules to handle non-symptom target down events, navigate to the
Incident Rules - All Enterprise Rules page (Setup—>Incidents—>Incident Rules).
From here, you can create a new rule set (click Create Rule Set…) or edit an existing
rule set (click Edit…).
To create a rule that generates incidents for all relevant events:
1.

From the Rules region of the Create Rule Set/Edit Rule Set page, click Create ...
The Select Type of Rule to Create dialog appears.

2.

Select Incoming events and updates to events.

3.

Click Continue. The Create New Rule: Select Events dialog displays. Select
Target Availability.

2-88

Chapter 2

Advanced Topics

4.

In the Advanced Selection Options region, choose Causal analysis update.
Three causal event options display:
•

Event is marked as cause: A target down is considered a cause if other targets
depending on it are down.

•

Event is marked as a symptom: A target down is considered a symptom if a
target it depends on is also down.

•

Event is not a cause and not a symptom: A target down is neither a cause or
symptom.

Note:
Note: By selecting an option, you filter out extraneous target down events and
focus on those target availability events that pertain to targets with
interdependencies.
5.

Select event is marked as a cause and click Next.

6.

On the Create New Rule : Add Actions page, click Add. The Add Conditional
Actions page displays.

7.

In the Create Incident or Update Incident region, choose Create Incident (if not
associated with one) and click Continue.

8.

Complete the remaining Create Rule Set wizard pages to return to the Create Rule
Set/Edit Rule Set page.

2-89

Chapter 2

Moving from Enterprise Manager 10/11g to 12c and Greater

Next, you need to create a rule that generates incidents for non-symptom events
only and also send notifications.
9.

Repeat steps 1-4.

10. Select event is not a cause and not a symptom and click Next.
11. On the Create New Rule: Add Actions page, click Add. The Add Conditional

Actions page displays.
12. In the Create Incident or Update Incident region, choose Create Incident (if not

associated with one).
13. In the Send Notifications region, complete the requisite notification details and

click Continue. The Edit Rule Set page displays with the newly defined action
listed in the table.
14. Complete the remaining Create Rule Set wizard pages to return to the Create Rule

Set/Edit Rule Set page. At this point, the two RCA event rules will have been
added to the rule set.
15. Click Save to save the changes to the rule set.

2.4.11.7 Introducing a Time Delay
As mentioned previously, Incident Manager RCA is an iterative process whereby
incoming target down events are continually being evaluated, resulting in updates to
causal analysis states. Over a period of time (minutes), a root cause may or may not
remain a root cause depending on incoming target down events. The original target
down event may later be classified as a symptom. To allow time for target down
events to be reported, analyzed, and then acted upon (such as creating an incident),
you can define an event evaluation time delay when creating a rule set.
In the previous example, where incidents are created for non-symptom events, without
a time delay in the rule, there could potentially be an incident created for a nonsymptom event that eventually becomes a symptom.
To add a time delay to the rule:
1.

From the Create Rule Set wizard Add Actions page, click Add or Edit (modify an
existing rule). The Add Conditional Actions page displays.

2.

In the Conditions for Actions region, choose Only execute the actions if
specified conditions match. A list of conditions displays.

3.

Choose Event has been open for specified duration.

4.

Specify the desired time delay.

5.

Click Continue and complete the remaining steps in the wizard.

2.5 Moving from Enterprise Manager 10/11g to 12c and
Greater
Beginning with Enterprise Manager 12c, incident management functionality leverages
your existing pre-12c monitoring setup out-of-box. Migration is seamless and
transparent. For example, if your Enterprise Manager 10/11g monitoring system sends
you emails based on specific monitoring conditions, you will continue to receive those

2-90

Chapter 2

Monitoring: Common Tasks

emails without interruption. To take advantage of 12c features, however, you may
need to perform additional migration tasks.

Note:
Alerts that were generated pre-12c will still be available. For example, critical
metric alerts will be available as critical incidents.

Rules
When you migrate to Enterprise Manger 12c, all of your existing notification rules are
automatically converted to rules. Technically, they are converted to event rules first
with incidents automatically being created for each event rule.
In general, event rules allow you to define which events should become incidents.
However, they also allow you to take advantage of the Enterprise Manager's increased
monitoring flexibility.
For more information on rule migration, see the following documents:
•

Appendix A, " Overview of Notification in Enterprise Manager Cloud Control"
section "Migrating Notification Rules to Rule Sets" in the Enterprise Manager
Cloud Control Upgrade Guide.

•

Chapter 29 "Updating Rules" in the Enterprise Manager Cloud Control Upgrade
Guide.

Privilege Requirements
The Create Enterprise Rule Set resource privilege is now required in order to edit/
create enterprise rule sets and rules contained within. The exception to this is migrated
notification rules. When pre-12c notification rules are migrated to event rules, the
original notification rule owners will still be able to edit their own rules without having
been granted the Create Enterprise Rule Set resource privilege. However, they must
be granted the Create Enterprise Rule Set resource privilege if they wish to create new
rules. Enterprise Manager Super Administrators, by default, can edit and create rule
sets.

2.6 Monitoring: Common Tasks
The following sections provide "how-to" examples illustrating common tasks for
incident/monitoring setup and usage.
•

"Setting Up an Email Gateway"

•

"Sending Email for Metric Alerts"

•

"Sending SNMP Traps for Metric Alerts"

•

"Sending Events to an Event Connector"

•

"Sending Email to Different Email Addresses for Different Periods of the Day"

2.6.1 Setting Up an Email Gateway
Task

2-91

Chapter 2

Monitoring: Common Tasks

In order for Enterprise Manager to send email notifications to administrators, it must
access an available email gateway within your organization. The instructions below
step you through the process of configuring Enterprise Manager to use a designated
email gateway.
User Roles
•

Enterprise Manager Administrator

Prerequisites
•

User must have Super Administrator privileges.
For more information, see "Setting Up a Mail Server for Notifications".

How to do it:
1.

From the Setup menu, select Notifications, then select Notification Methods.
The Notification Methods page displays.

2.

Enter the requisite parameters. The following examples illustrate valid parameter
values.
•

Outgoing Mail (SMTP) Server - smtp01.example.com:587,
smtp02.example.com

•

User Name - myadmin

•

Password - ******

•

Confirm Password - ******

•

Identify Sender As - Enterprise Manager

•

Sender's Email Address - mgmt_rep@example.com

•

Use Secure Connection - No: Email is not encrypted. SSL: Email is
encrypted using the Secure Sockets Layer protocol. TLS, if available: Email is
encrypted using the Transport Layer Security protocol if the mail server
supports TLS. If the server does not support TLS, the email is automatically
sent as plain text.

3.

Ensure Enterprise Manager can connect to the specified email gateway. Click
Test Mail Servers. Enterprise Manager displays a success/failure message. Click
OK to return to the Notification Methods page.

4.

Once Enterprise Manager verifies that it can successfully connect to your email
gateway, click Apply.

What you have accomplished:
At this point, you have configured Enterprise Manager to use your corporate email
gateway. Enterprise Manager can now notify registered users while monitoring
conditions within your managed environment.
What next?
"Defining Email Addresses"
"Setting Up a Notification Schedule"
"Setting Up Email for Yourself"
"Setting Up Email for Other Administrators"

2-92

Chapter 2

Monitoring: Common Tasks

2.6.2 Sending Email for Metric Alerts
Task
Configure Enterprise Manager to send email to administrators when a metric alert
threshold is reached. In this example, you want to send an email notification when a
metric alert is raised when CPU Utilization reaches Critical severity.
User Roles
•

IT Operator/Manager

•

Enterprise Manager Administrator

Prerequisites
•

Set up an Email Gateway that allows Enterprise Manager to send email to
administrators.
For more information, see "Setting Up a Mail Server for Notifications".

•

Metric thresholds have been set for CPU Utilization.

•

User's Enterprise Manager account has been granted the appropriate privileges to
manage incidents from his managed system.
For information, see "Setting Up Administrators and Privileges".

•

User's Enterprise Manager account has notification preferences (email and
schedule). This is required not just for the administrator who is creating/editing a
rule, but also for any user who is being notified as a result of the rule action.
For more information, see "Setting Up a Notification Schedule".

How to do it:
1.

From the Setup menu, select Incidents, then select Incident Rules.

2.

Click Create Rule Set.

3.

Enter a name and description for the rule set.

4.

In the Targets tab, select All targets that the rule set owner can view.

2-93

Chapter 2

Monitoring: Common Tasks

Note:
Having the rule set apply to specific targets/group.
Although we have chosen to have the rule set apply to all targets in this
example, alternatively, you can have a rule set apply only to specific targets or
groups.
To do this:
a.

From the Targets tab, select Specific targets.

b.

From the Add drop-down menu, choose Groups or Targets

c.

Click Add. The Target selector dialog displays.

d.

Either search for a target/group name or select one from the table.

e.

Click Select once you have chosen the targets/groups of interest. The
dialog closes and the targets appear in the Specific Targets list.

5.

In the Rules tab, click Create. The Select Type of Rule to Create dialog appears.

6.

Select Incoming events and updates to events, and click Continue.

7.

On the Select Events page, set the criteria for events based on which the rule
should act. In this case, choose Metric Alert from the drop down list.
Click Next.

8.

Select the Specific events of type Metric Alert option. A metric selection area
displays.

2-94

Chapter 2

Monitoring: Common Tasks

In this example, we only want to send notifications for CPU % Utilization greater
reaches the defined Critical threshold.

9.

Choose Severity Critical from the drop down menu.
Click OK.

10. Click Next.
11. On the Add Actions page, click Add and add actions to be taken by the rule. In the

Notifications section, enter the email addresses where the notifications must be
send. Click Next.
Multiple conditional actions can be specified and evaluated sequentially (top down)
in the order you add them.

Note:
Sending email notifications to mailing list.
In addition to specifying email addresses, you may also specify defined
Enterprise Manager administrators. Mailing distribution lists can also be
specified to notify entire categories of users. Using mailing lists allows you to
change who gets notified without having to update individual rule sets.
12. On the Specify Name and Description page, enter a name and description for the

rule. Click Next.
13. On the review page, review the details, and click Continue.
14. On the Create Rule Set page, click Save.

What you have accomplished:

2-95

Chapter 2

Monitoring: Common Tasks

At this point, you have created a new rule set that will send an administrator email a
notification whenever the CPU Utilization reaches the Critical metric threshold. To
subscribe to this rule set, see " Subscribing to Receive Email from a Rule " for further
instructions.
What's Next?
•

How Do I Set Up Email Notifications for Other Administrators

•

Add/Update/Delete Email Addresses and Define a Notification Schedule

•

"Responding and Working on a Simple Incident"

2.6.3 Sending SNMP Traps for Metric Alerts
Task
You want to configure Enterprise Manager to send event information (for example, a
metric alert) via SNMP trap to an HP Openview console. This is done in two phases
1.

Create a notification method to send the SNMP Trap

2.

Create an incident rule to send an SNMP trap when a metric alert is raised.

User Roles
•

Enterprise Manager Administrator

Prerequisites
•

User must have Super Administrator privileges.
For more information, see "Setting Up a Mail Server for Notifications".

How to do it:
Create a notification method based on an SNMP Trap.
1.

From the Setup menu, select Notifications, then select Notification Methods.
The Notification Methods page displays.

2.

From the Add drop-down menu, choose SNMP Trap and then click Go. The Add
SNMP Trap page displays.
You must provide the name of the host (machine) on which the SNMP master
agent is running and other details as shown in the following graphic.
The following examples illustrate valid parameter values.

2-96

Chapter 2

Monitoring: Common Tasks

3.

Click Test SNMP Trap to validate the SNMP trap settings. Enterprise Manager
displays a success/failure message. Click OK to return to the Add SNMP Trap
page.

4.

Click OK to return to the Notification Methods page.

5.

Click OK to add the new SNMP Trap-based notification method.

Create an incident rule to send an SNMP trap when a metric alert is raised.
1.

From the Setup menu, select Incidents, then select Incident Rules.
The Incident Rules - All Enterprise Rules page displays.

2.

On the Incident Rules - All Enterprise Rules page, click Create Rule Set... The
Create Rule Set page displays.

3.

Enter the rule set Name, a brief Description, and select the type of source object
the rule Applies to (Targets).

4.

Click on the Rules tab and then click Create...

5.

On the Select Type of Rule to Create dialog, select Incoming events and
updates to events and then click Continue.

6.

On the Select Events page, set the criteria for events based on which the rule
should act. In this case, choose Metric Alert from the drop down list.
Click Next.

7.

Select the Specific events of type Metric Alert option. A metric selection area
displays:
In this example, we only want to send notifications for CPU % Utilization greater
reaches the defined Critical threshold.

8.

Choose Severity Critical from the drop down menu.

2-97

Chapter 2

Monitoring: Common Tasks

Click OK.
9.

Click Next.

10. On the Create New Rule : Add Actions page, click Add. The Add Conditional

Actions page displays.
11. In the Notifications section, under Advanced Notifications, select an existing

SNMP trap notification method.
For information on creating SNMP trap notification methods, see "Sending SNMP
Traps to Third Party Systems".
12. Click Continue to return to the Create New Rule : Add Actions page.
13. Click Next to go to the Create New Rule : Specify Name and Description page.
14. Specify a rule name and a concise description and then click Next.
15. Review the rule definition and then click Continue add the rule to the rule set. A

message displays indicating the rule has been added to the rule set but has not
yet been saved. Click OK to close the message.
16. Click Save to save the rule set. A confirmation is displayed. Click OK to close the

message.
What you have accomplished:
At this point, you have created an incident rule set that instructs Enterprise Manager to
send an SNMP trap to a third-party system whenever a metric alert is raised (%CPU
Utilization).
What's next?
•

" Subscribing to Receive Email from a Rule "

•

"Searching for Incidents"

2.6.4 Sending Events to an Event Connector
Task
You want to send event information from Enterprise Manager to IBM Tivoli Netcool/
OMNIbus using a connector. To do so, you must create an incident rule that invokes
the IBM Tivoli Netcool/OMNIbus Connector connector.
User Roles
•

System Administrator

•

IT Operator

Prerequisites
•

User must have the Create Enterprise Rule Set resource privilege and at least
View privileges on the targets where events are to be forward to Netcool/
OMNIbus.
For more information, see "Setting Up a Mail Server for Notifications".

•

The IBM Tivoli Netcool/OMNIbus connector must be installed and configured.
For more information, see the Oracle® Enterprise Manager IBM Tivoli Netcool/
OMNIbus Connector Installation and Configuration Guide.

2-98

Chapter 2

Monitoring: Common Tasks

How to do it:
1.

From the Setup menu, select Incidents, then select Incident Rules.
The Incident Rules - All Enterprise Rules page displays.

2.

Click Create Rule Set.

3.

Enter a name and description for the rule set.

4.

In the Targets tab, select All targets that the rule set owner can view.

Note:
Although we have chosen to have the rule set apply to all targets in this
example, you can alternatively have a rule set apply only to specific targets or
groups.
To do this:

5.

a.

From the Targets tab, select Specific targets.

b.

From the Add drop-down menu, choose Groups or Targets

c.

Click Add. The Target selector dialog displays.

d.

Either search for a target/group name or select one from the table.

e.

Click Select once you have chosen the targets/groups of interest. The
dialog closes and the targets appear in the Specific Targets list.

In the Rules tab, click Create. The Select Type of Rule to Create dialog appears.

2-99

Chapter 2

Monitoring: Common Tasks

6.

Select Incoming events and updates to events, and click Continue.

7.

On the Select Events page, set the criteria for events based on which the rule
should act. In this case, choose Metric Alert from the drop down list.
Click Next.

8.

Select the Specific events of type Metric Alert option. A metric selection area
displays:
In this example, we only want to send notifications for CPU % Utilization greater
reaches the defined Critical threshold.

9.

Choose Severity Critical from the drop down menu.
Click OK.

10. Click Next. The Add Actions page displays.
11. Click Add. The Add Conditional Actions page displays.
12. Select one or more connector instances listed in the Forward to Event Connectors

section and, click > button to add the connector to the Selected Connectors list
and then click Continue.The Add Actions page appears again and lists the new
action.
13. Click Next. The Specify Name and Description page displays.
14. Enter a name and description for the rule, then click Next. The Review page

displays.
15. Click Continue if everything appears correct.

An information pop-up appears that states, "Rule has been successfully added to
the current rule set. Newly added rules are not saved until the Save button is
clicked."
You can click Back and make corrections to the rule if necessary.

2-100

Chapter 2

Monitoring: Common Tasks

What you have accomplished:
At this point, you have created a rule that invokes the IBM Tivoli Netcool/OMNIbus
Connector connector when a metric alert is raised.
What's next?
" Subscribing to Receive Email from a Rule "

2.6.5 Sending Email to Different Email Addresses for Different Periods
of the Day
Task
Your worldwide IT department operates 24/7. Support responsibility rotates to different
data centers across the globe depending on the time of day. When Enterprise
Manager sends an email notification, you want it sent to the administrator currently on
duty (normal work day), which in this situation changes depending on the time of day.
There are four adminstrators to handle Enterprise Manager notification:
•

ADMIN_ASIA

•

ADMIN_EU

•

ADMIN_UK

•

ADMIN_US

You want the notifications to be sent to specific administrators during their normal work
hours.
User Roles
•

System Administrator

•

IT Operator

Prerequisites
•

Email addresses have been defined for all administrators you want to send email
nofifications.
For more information, see "Defining Email Addresses".

•

You must have Super Administrator privileges.

•

All administrators who are to receive email notifications have been defined.

How to do it:
1.

From the Setup menu, select Notifications, then select My Notification
Schedule.
The Notification Schedule page displays.

2.

Specify the administrator who's notification schedule you wish to edit and click
Change. The selected administrator's notification schedule displays. You can click
the search icon (magnifying glass) for a list of available administrators.

3.

Click Edit Schedule Definition. The Edit Schedule Definition: Time Period page
displays. The Edit Existing Schedule option is chosen by default. If necessary,
modify the rotation schedule.

2-101

Chapter 2

Monitoring: Common Tasks

4.

Click Continue. The Edit Schedule Definition: Email Addresses page displays.

5.

Follow the instructions on the Edit Schedule Definition: Email Addresses page to
adjust the administrator's notification schedule as required.

6.

Click Finish once the notification schedule changes for the selected administrator
are have been made. You are returned to the Notification Schedule page.

7.

Repeat this process (steps two through six) for each administrator until all four
administrators' notification schedules are in sync with their normal workdays.

What you have accomplished:
You have created a notification schedule where administrators in different time zones
across the globe are only sent alert notifications during their assigned work hours.
What's next?
" Subscribing to Receive Email from a Rule "

2-102

3
Using Notifications
The notification system allows you to notify Enterprise Manager administrators when
specific incidents, events, or problems arise.

Note:
This chapter assumes that you are familiar with incident management. For
information about monitoring and managing your IT infrastructure via incident
management, see Using Incident Management .

As an integral part of the management framework, notifications can also perform
actions such as executing operating system commands (including scripts) and PL/SQL
procedures when specific incidents, events, or problems occur. This capability allows
you to automate IT practices. For example, if an incident (such as monitoring of the
operational (up/down) status of a database) arises, you may want the notification
system to automatically open an in-house trouble-ticket using an OS script so that the
appropriate IT staff can respond in a timely manner.
By using Simple Network Management Protocol (SNMP) traps, the Enterprise
Manager notification system also allows you to send traps to SNMP-enabled thirdparty applications such as HP OpenView for events published in Enterprise Manager.
Some administrators may want to send third-party applications a notification when a
certain metric has exceeded a threshold.
This chapter covers the following:
•

Setting Up Notifications

•

Extending Notification Beyond Email

•

Sending Notifications Using OS Commands and Scripts

•

Sending Notifications Using PL/SQL Procedures

•

Sending SNMP Traps to Third Party Systems

•

Management Information Base (MIB)

•

Passing Corrective Action Status Change Information

•

Passing Job Execution Status Information

•

Passing User-Defined Target Properties to Notification Methods

•

Troubleshooting Notifications

•

EMOMS Properties

•

Passing Event, Incident, Problem Information to an OS Command or Script

•

Passing Information to a PL/SQL Procedure

3-1

Chapter 3

Setting Up Notifications

3.1 Setting Up Notifications
All Enterprise Manager administrators can set up email notifications for themselves.
Super Administrators also have the ability to set up notifications for other Enterprise
Manager administrators.

3.1.1 Setting Up a Mail Server for Notifications
Before Enterprise Manager can send email notifications, you must first specify the
Outgoing Mail (SMTP) servers to be used by the notification system. Once set, you
can then define email notifications for yourself or, if you have Super Administrator
privileges, you can also define notifications for other Enterprise Manager
administrators.
You specify the Outgoing Mail (SMTP) server on the Notification Methods page. To
display the Notification Methods page, from the Setup menu, select Notifications,
then select Mail Servers.

Note:
You must have Super Administrator privileges in order to configure the
Enterprise Manager notifications system. This includes:
•

Setting up the SMTP server

•

Defining notification methods

•

Customizing notification email formats

Specify one or more outgoing mail server names, the mail server authentication
credentials (User Name, Password, and Confirm Password), if required, the name you
want to appear as the sender of the notification messages, and the email address you
want to use to send your email notifications. This address, called the Sender's Mail
Address, must be a valid address on each mail server that you specify. A message will
be sent to this email address if any problem is encountered during the sending of an
email notification. Example 3-1 shows sample notification method entries.

Note:
The email address you specify on this page is not the email address to which
the notification is sent. You will have to specify the email address (where
notifications will be sent) from the Password and Email page. From the Setup
menu, choose MyPreferences and then Enterprise Manager Password &
Email.
As standard practice, each user should have their own email address.

After configuring the email server, click Test Mail Servers to verify your email setup.
You should verify that an email message was received by the email account specified
in the Sender's Email Address field.

3-2

Chapter 3

Setting Up Notifications

Defining multiple mail servers will improve the reliability of email notification delivery.
Email notifications will be delivered if at least one email server is up. The notification
load is balanced across multiple email servers by the OMS, which switches through
them (servers are allocated according to availability) after 20 emails have been sent.
Switching is controlled by the oracle.sysman.core.notification.emails_per_connection
emoms property.
Setting the Cloud Control Console URL when Using an SLB
If you have a multi-OMS environment with a Server Load Balancer (SLB) configured
for the OMS instances, you should update the console URL to ensure that any emails
from Enterprise Manager direct you to the Enterprise Manager console through the
SLB URL and not the specific OMS URL from which the email may have originated.
To change the console URL:
1.

From the Setup menu, select Manage Cloud Control, and then Health
Overview. The Management Services and Repository page displays.

2.

On the Management Services and Repository page, in the Overview section, click
Add/Edit against the Console URL label.

The Console URL page displays.

3.

Modify the Console URL to the SLB URL.
Examples:
http://www.example.com
https://www.example.com:4443.

3-3

Chapter 3

Setting Up Notifications

Note that path, typically /em, should not be specified.
4.

Click OK.

Example 3-1

Mail Server Settings

•

Outgoing Mail (SMTP) Server - smtp01.example.com:587, smtp02.example.com

•

User Name - myadmin

•

Password - ******

•

Confirm Password - ******

•

Identify Sender As - Enterprise Manager

•

Sender's Email Address - mgmt_rep@example.com

•

Use Secure Connection - No: Email is not encrypted. SSL: Email is encrypted
using the Secure Sockets Layer protocol. TLS, if available: Email is encrypted
using the Transport Layer Security protocol if the mail server supports TLS. If the
server does not support TLS, the email is automatically sent as plain text.

3.1.2 Setting Up Email for Yourself
If you want to receive notifications by email, you will need to specify your email
address(s) in the Password & Email page (from the Setup menu, select
MyPreferences, then select Enterprise Manager Password & Email). In addition to
defining notification email addresses, you associate the notification message format
(long, short, pager) to be used for your email address.
Setting up email involves three steps:
Step 1: Define an email addresses.
Step 2: Set up a Notification Schedule.
Step 3: Subscribe to incident rules in order to receive emails.

3.1.2.1 Defining Email Addresses
An email address can have up to 128 characters. There is no upper limit with the
number of email addresses.
To add an email address:
1.

From username drop-down menu, select Enterprise Manager Password &
Email.

2.

Click Add Another Row to create a new email entry field in the Email Addresses
table.

3.

Specify the email associated with your Enterprise Manager account. All email
notifications you receive from Enterprise Manager will be sent to the email
addresses you specify.
For example, user1@myco.com
Select the Email Type (message format) for your email address. Email (Long)
sends a HTML formatted email that contains detailed information. Example 3-2
shows a typical notification that uses the long format.

3-4

Chapter 3

Setting Up Notifications

Email (Short) and Pager(Short) (Example 3-3) send a concise, text email that is
limited to a configurable number of characters, thereby allowing the email be
received as an SMS message or page. The content of the message can be sent
entirely in the subject, entirely in the body or split across the subject and body.
For example, in the last case, the subject could contain the severity type (for
example, Critical) and the target name. The body could contain the time the
severity occurred and the severity message. Since the message length is limited,
some of this information may be truncated. If truncation has occurred there will be
an ellipsis end of the message. Pager(Short) addresses are used for supporting
the paging feature in incident rules. Note that the incident rules allow the rule
author to designate some users to receive a page for critical issues.
4.

Click Apply to save your email address.

Example 3-2

Long Email Notification for Metric Alerts

Target type=Host Target name=machine6140830.example.com Message=Filesystem / has
54.39% available space, fallen below warning (60) or critical (30) threshold.
Severity=Warning Event reported time=Apr 28, 2011 2:33:55 PM PDT Event Type=Metric
Alert Event name=Filesystems:Filesystem Space Available (%) Metric
Group=FilesystemsMetric=Filesystem Space Available (%)Metric value=54.39Key Value=/
Key Column 1=Mount PointRule Name=NotifRuleSet1,Event rule1 Rule Owner=SYSMAN

Example 3-3

Short Email Notification for Alerts

Subject is :
EM:Unreachable Start:myhost
Body is :
Nov 16, 2006 2:02:19 PM EST:Agent is Unreachable (REASON = Connection refused)
but the host is UP

More about Email(Short) and Pager(Short) Formats
Enterprise Manager does not directly support message services such as paging or
SMS, but instead relies on external gateways to, for example, perform the conversion
from email to page. Beginning with Enterprise Manager 12c, the notification system
allows you to tag email addresses explicitly as 'page' or 'email'. Explicit system
differentiation between these two notification methods allows you to take advantage of
the multiple action capability of incident rules. For example, the email versus page
distinction is required in order to send you an email if an event severity is 'warning' or
page you if the severity is 'critical'. To support this capability, a Pager format has been
made available that sends an abbreviated version of the short format email.

Note:
To receive a Page, an administrator should be added to the Page Notification
option in the Incident Rule.

3.1.2.2 Setting Up a Notification Schedule
Once you have defined your email notification addresses, you will need to define a
notification schedule. For example, if your email addresses are user1@myco.com,
user2@myco.com, user3@myco.com, you can choose to use one or more of these
email addresses for each time period in your notification schedule. Only email

3-5

Chapter 3

Setting Up Notifications

addresses that have been specified with your user preferences (Enterprise Manager
Password and Email page) can be used in the notification schedule.

Note:
When you enter email addresses for the first time, a 24x7 weekly notification
schedule is set automatically. You can then review and modify the schedule to
suit your monitoring needs.

A notification schedule is a repeating schedule used to specify your on-call schedule—
the days and time periods and email addresses that should be used by Enterprise
Manager to send notifications to you. Each administrator has exactly one notification
schedule. When a notification needs to be sent to an administrator, Enterprise
Manager consults that administrator's notification schedule to determine the email
address to be used. Depending on whether you are Super Administrator or a regular
Enterprise Manager administrator, the process of defining a notification schedule
differs slightly.
If you are a regular Enterprise Manager administrator and are defining your own
notification schedule:
1.

From Setup menu, select Notifications, then select My Notification Schedule.

2.

Follow the directions on the Notification Schedule page to specify when you want
to receive emails.

3.1.2.3 Subscribe to Receive Email for Incident Rules
An incident rule is a user-defined rule that specifies the criteria by which notifications
should be sent for specific events that make up the incident. An incident rule set, as
the name implies, consists of one or more rules associated with the same incident.
When creating an incident rule, you specify criteria such as the targets you are
interested in, the types of events to which you want the rule to apply. Specifically, for a
given rule, you can specify the criteria you are interested in and the notification
methods (such as email) that should be used for sending these notifications. For
example, you can set up a rule that when any database goes down or any database
backup job fails, email should be sent and the "log trouble ticket" notification method
should be called. Or you can define another rule such that when the CPU or Memory
Utilization of any host reach critical severities, SNMP traps should be sent to another
management console. Notification flexibility is further enhanced by the fact that with a
single rule, you can perform multiple actions based on specific conditions. Example:
When monitoring a condition such as machine memory utilization, for an incident
severity of 'warning' (memory utilization at 80%), send the administrator an email, if the
severity is 'critical' (memory utilization at 99%), page the administrator immediately.
You can subscribe to a rule you have already created.
1.

From the Setup menu, select Incidents, then select Incident Rules.

2.

On the Incident Rules - All Enterprise Rules page, click on the rule set containing
incident escalation rule in question and click Edit... Rules are created in the
context of a rule set.

3-6

Chapter 3

Setting Up Notifications

Note: In the case where there is no existing rule set, create a rule set by clicking
Create Rule Set... You then create the rule as part of creating the rule set.
3.

In the Rules section of the Edit Rule Set page, highlight the escalation rule and
click Edit....

4.

Navigate to the Add Actions page.

5.

Select the action that escalates the incident and click Edit...

6.

In the Notifications section, add the DBA to the Email cc list.

7.

Click Continue and then navigate back to the Edit Rule Set page and click Save.

Out-of-Box Incident Rules
Enterprise Manager comes with two incident rule sets that cover the most common
monitoring conditions, they are:
•

Incident Management Ruleset for All Targets

•

Event Management Ruleset for Self Update

If the conditions defined in the out-of-box incident rules meet your requirements, you
can simply subscribe to receive email notifications for the conditions defined in the rule
using the subscribe procedure shown in the previous section.
The out-of-box incident rule set for all targets does not generate emails for warning
alerts by default.
Creating Your Own Incident Rules
You can define your own custom rules. The following procedure documents the
process of incident rule creation for non-Super Administrators.
To create your own incident rule:
1.

From the Setup menu, select Incidents, then select Incident Rules.
The Incident Rules page displays. From this page you can create a new rule set,
to which you can add new rules. Alternatively, if you have the requisite
permissions, you can add new rules to existing

2.

Click Create Rule Set...
The create rule set page displays.

3.

Specify the Name, Description, and the Targets to which the rules set should
apply.

4.

Click the Rules tab, then click Create.

5.

Choose the incoming incident, event or problem to which you want the rule to
apply. See "Setting Up Rule Sets" for more information.

6.

Click Continue.
Enterprise Manager displays the Create Incident Rule pages. Enter the requisite
information on each page to create your incident rule.

7.

Follow the wizard instructions to create your rule.
Once you have completed defining your rule, the wizard returns you to the create
rule set page.

8.

Click Save to save the incident rule set.

3-7

Chapter 3

Setting Up Notifications

3.1.3 Setting Up Email for Other Administrators
If you have Super Administrator privileges, you can set up email notifications for other
Enterprise Manager administrators. To set up email notifications for other Enterprise
Manager administrators, you need to:
Step 1: Ensure Each Administrator Account has an Associated Email Address
Each administrator to which you want to send email notifications must have a valid
email address.
1.

From the Setup menu, select Security and then Administrators.

2.

For each administrator, define an email address. This sets up a 24x7 notification
schedule for this user that uses all the email addresses specified. By default, this
adds the Email ID with type set to Email Long. It is not possible to specify the
Email Type option here.

Enterprise Manager also allows you to specify an administrator address when editing
an administrator's notification schedule.
Step 2: Define Administrators' Notification Schedules
Once you have defined email notification addresses for each administrator, you will
need to define their respective notification schedules. Although a default 24x7
notification schedule is created when you specify an email address for the first time,
you should review and edit the notification schedule as needed.
1.

From the Setup menu, select Notifications, then select Notification Schedule.
From the vertical navigation bar, click Schedules (under Notification). The
Notification Schedule page appears.

2.

Specify the administrator who's notification schedule you wish to edit and click
Change.

3.

Click Edit Schedule Definition. The Edit Schedule Definition: Time Period page
appears. If necessary, modify the rotation schedule.

4.

Click Continue. The Edit Schedule Definition: Email Addresses page appears.

5.

Follow the directions on the Edit Schedule Definition: Email Addresses page to
modify the notification schedule.

6.

Click Finish when you are done.

7.

Repeat steps three through seven for each administrator.

Step 3: Assign Incident Rules to Administrators
With the notification schedules set, you now need to assign the appropriate incident
rules for each designated administrator.
1.

From the Setup menu, select Incidents, then select Incident Rules.

2.

Select the desired Ruleset and click Edit.

3.

Click on the Rules tab, select the desired rule and click Edit.

4.

Click Add Actions, select desire action and click Edit.

5.

Enter the Administrator name on either Email To or Email Cc field in the Basic
Notification region.

3-8

Chapter 3

Setting Up Notifications

6.

Click Continue, click Next, click Next, click Continue, and finally click Save.

3.1.4 Email Customization
Enterprise Manager allows Super Administrators to customize global email
notifications for the following types: All events, incidents, problems, and specific event
types installed. You can alter the default behavior for all events by customizing Default
Event Email Template. In addition, you can further customize the behavior for a
specific event type by customizing the template for the event type. For instance, you
can customize the Metric Alert Events template for the metric alert event type. Using
predefined building blocks (called attributes and labels) contained within a simple
script, Super Administrators can customize alert emails by selecting from a wide
variety of information content.
To customize an email:
1.

From the Setup menu, select Notifications, then select Customize Email
Formats.

2.

Choose the Type and Format.

3.

Click Customize. The Customize Email Template page displays.

From the Customize Email Template page, you can modify the content of the email
template Enterprise Manager uses to generate email notifications. Extensive
information on script formatting, syntax, and options is available from the Edit Email
Template page via imbedded assistance and online help.

3.1.4.1 Email Customization Reference
The following reference summarizes the semantics and component syntax of the
pseudo-language used to define emails. The pseudo-language provides you with a
simple, yet flexible way to customize email notifications. The following is a summary of
pseudo-language conventions/limitations:
•

You can add comments (or any free-form text) using separate lines beginning with
"--" or at end of lines.

•

You can use attributes.

•

You can use IF & ELSE & ENDIF control structures. You can also use multiple
conditions using "AND" or "OR". Nested IF statements are not supported.

•

You can insert spaces for formatting purposes. Spaces at the beginning of a line
will be ignored in the actual email. To insert spaces at the beginning of a line, use
the [SP] attribute.

•

Use "/" to escape and "[" or "]" if you want to add attribute names, operators, or IF
clauses to the actual email.

•

HTML is not supported.

Reserved Words and Operators
The following table lists all reserved words and operators used when modifying email
scripts.

3-9

Chapter 3

Setting Up Notifications

Table 3-1

Reserved Words and Operators

Reserved Word/Operator

Description

IF, ELSIF, ENDIF, ELSE

Used in IF-ELSE constructs.

AND, OR

Boolean operators – used in IF-ELSE constructs only.

NULL

To check NULL value for attributes - used in IF-ELSE constructs
only.

|

Pipe operator – used to show the first non-NULL value in a list of
attributes.
For example:
METRIC_NAME|SEVERITY

EQ, NEQ

Equal and Not-Equal operators – applicable to NULL, STRING
and NUMERIC values.

/

Escape character – used to escape reserved words and
operators. Escape characters signify that what follows the
escape character takes an alternative interpretation.

[,]

Delimiters used to demarcate attribute names and IF clauses.

Syntax Elements
Literal Text
You can specify any text as part of the email content. The text will be displayed in the
email and will not be translated if the Oracle Management Services (OMS) language
setting is changed. For example, ‘my Oracle Home' appears as ‘my Oracle Home' in
the generated email.
Predefined Attributes
Predefined attributes/labels will be substituted with actual values in a specific context.
To specify a predefined attribute/label, use the following syntax:
[PREDEFINED_ATTR]

Attribute names can be in either UPPER or LOWER case. The parsing process is
case-insensitive.
A pair of square brackets is used to distinguish predefined attributes from literal text.
For example, for a job email notification, the actual job name will be substituted for
[EXECUTION_STATUS]. For a metric alert notification, the actual metric column name will
be substituted for [METIRC_COLUMN].
You can use the escape character “/" to specify words and not have them interpreted
as predefined labels/attributes. For example, "/[NEW/]" will not be considered as the
predefined attribute [NEW] when parsed.
Operators
EQ, NEQ – for text and numeric values
NULL- for text and numeric values
GT, LT, GE, LE – for numeric values

Control Structures

3-10

Chapter 3

Setting Up Notifications

The following table lists acceptable script control structures.
Table 3-2

Control Structures

Control Structure

Description

Pipe "|"

Two or more attributes can be separated by ‘|' character. For
example,
[METRIC_NAME|SEVERITY]
In this example, only the applicable attribute within the current
alert context will be used (replaced by the actual value) in the
email. If more than one attribute is applicable, only the left-most
attribute is used.

IF

Allows you to make a block of text conditional. Only one level of
IF and ELSIF is supported. Nested IF constructs are not
supported.
All attributes can be used in IF or ELSIF evaluation using
EQ/NEQ operators on NULL values. Other operators are allowed
for “SEVERITY" and “REPEAT_COUNT" only.
Inside the IF block, the values need to be contained within
quotation marks “ ". Enterprise Manager will extract the attribute
name and its value based on the position of “EQ" and other key
words such as “and", “or". For example,
[IF REPEAT_COUNT EQ “1" AND SEVERITY EQ “CRITICAL" THEN]
The statement above will be true when the attributes of the alert
match the following condition:
•
Attribute Name: REPEAT_COUNT
•
Attribute Value: 1
•
Attribute Name: SEVERITY
•
Attribute Value: CRITICAL
Example IF Block:
[IF EXECUTION_STATUS NEQ NULL]
[JOB_NAME_LABEL]=[EXECUTION_STATUS]
[JOB_OWNER_LABEL]=[JOB_OWNER]
[ENDIF]
[IF SEVERITY_CODE EQ CRITICAL ]
[MTRIC_NAME_LABEL]=[METRIC_GROUP]
[METRIC_VALUE_LABEL]=[METRIC_VALUE]
[TARGET_NAME_LABEL]=[TARGET_NAME]
[KEY_VALUES]
[ENDIF]
Example IF and ELSEIF Block:
[IF SEVERITY_CODE EQ CRITICAL]
statement1[ELSIF SEVERITY_CODE EQ WARNING]
statement2[ELSIF SEVERITY_CODE EQ CLEAR]
statement3[ELSE]
statement4[ENDIF]

Comments
You can add comments to your script by prefacing a single line of text with two
hyphens "--". For example,

3-11

Chapter 3

Setting Up Notifications

-- Code added on 8/3/2009

[IF REPEAT_COUNT NEQ NULL]

. . .

Comments may also be placed at the end of a line of text.
[IF SEVERITY_SHORT EQ W] -- for Warning alert

HTML Tags in Customization Content
Use of HTML tags is not supported.
When Enterprise Manager parses the email script, it will convert the “<" and “>"
characters of HTML tags into encoded format (< and >). This ensures that the
HTML tag is not treated as HTML by the destination system.
Examples
Email customization template scripts support three main operators.
•

Comparison operators: EQ/NEQ/GT/LT/GE/LELogic operators: AND/ORPipeline
operator: |

3.1.5 Setting Up Repeat Notifications
Repeat notifications allow administrators to be notified repeatedly until an incident is
either acknowledged or the number of Maximum Repeat Notifications has been
reached. Enterprise Manager supports repeat notification for all notification methods
(email, OS command, PL/SQL procedure, and SNMP trap).
Configuring Repeat Notifications Globally
To enable repeat notifications for a notification method (globally), select the Send
Repeat Notifications option on the Notification Methods page . In addition to setting
the maximum number of repeat notifications, you can also set the time interval at
which the notifications are sent.

Note:
For Oracle database versions 10 and higher, it is recommend that no
modification be made to aq_tm_processes init.ora parameter. If, however, this
parameter must be modified, its value should be at least one for repeat
notification functionality. If the Enterprise Manager Repository database
version is 9.2, the aq_tm_processes init.ora parameter must be set to at least
one to enable repeat notification functionality.

Configuring Repeat Notifications Via Incident Rules
Setting repeat notifications globally at the notification method level may not provide
sufficient flexibility. For example, you may want to have different repeat notification
settings based on event type. Enterprise Manager accomplishes this by allowing you
to set repeat notifications for individual incident rule sets or individual rules within a
rule set. Repeat notifications set at the rule level take precedence over those defined
at the notification method level.

3-12

Chapter 3

Extending Notification Beyond Email

Note:
Repeat notifications will only be sent if the Send Repeat Notifications option
is enabled in the Notification Methods page.

Non-Email Repeat Notifications
For non-email repeat notifications (PL/SQL, OS command, and SNMP trap notification
methods), you must enable each method to support repeat notifications. You can
select Supports Repeat Notifications option when adding a new notification method
or by editing an existing method.

3.2 Extending Notification Beyond Email
Notification Methods are the mechanisms by which notifications are sent. Enterprise
Manager Super Administrators can set up email notifications by configuring the 'email'
notification method. Most likely this would already have been set up as part of the
Oracle Management Service installation.
Enterprise Manager Super Administrators can also define other custom notification
methods. For example, event notifications may need to be forwarded to a 3rd party
trouble-ticketing system. Assuming APIs to the third-party trouble-ticketing system are
available, a custom notification method can be created to call a custom OS script that
has the appropriate APIs. The custom notification method can be named in a userfriendly fashion, for example, "Log trouble ticket". Once the custom method is defined,
whenever an administrator needs to send alerts to the trouble-ticketing system, he
simply needs to invoke the now globally available notification method called "Log
trouble ticket".
Custom notification methods can be defined based on any custom OS script, any
custom PL/SQL procedure, or by sending SNMP traps. A fourth type of notification
method (Java Callback) exists to support Oracle internal functionality and cannot be
created or edited by Enterprise Manager administrators.
Only Super Administrators can define OS Command, PL/SQL, and SNMP Trap
notification methods. However, any Enterprise Manager administrator can add these
notification methods (once defined by the Super Administrator) as actions to their
incident rules.
Through the Notification Methods page, you can:
•

Set up the outgoing mail servers if you plan to send email notifications through
incident rules

•

Create other custom notification methods using OS and PL/SQL scripts and
SNMP traps.

•

Set global repeat notifications.

3.3 Sending Notifications Using OS Commands and Scripts
Notification system can invoke a custom script when an incident rule matches the OS
Command advanced notification action. A custom script receives notifications for
matching events, incidents and problem through environment variables.

3-13

Chapter 3

Sending Notifications Using OS Commands and Scripts

The length of any environment variable's value is limited to 512 characters by default.
Configure emoms property named
oracle.sysman.core.notification.oscmd.max_env_var_length for changing the default
limit.

Note:
Notification methods based on OS commands must be configured by an
administrator with Super Administrator privileges.

Note:
Running an OS command such as "sudo" for receiving notifications will fail
because the command does not have read permission of the OMS account.
The OMS account must have read permission over the OS command in order
to send notifications.
To overcome the permissions problem, embed the command in a wrapper
script that is readable by the OMS administrator account. Once the command
is contained within the wrapper script, you then specify this script in place of
the OS command.

Registering a Custom Script
In order to use a custom script, you must first register the script with the notification
system. This is performed in four steps:
1.

Define your OS command or script.

2.

Deploy the script on each Management Service host.

3.

Register your OS Command or Script as a new Notification Method.

4.

Assign the notification method to an incident rule.

Example 3-4 Changing the oracle.sysman.core.notification.os_cmd_timeout
emoms Property
emctl set property -name oracle.sysman.core.notification.os_cmd_timeout value 30

Example 3-5

OS Command Notification Method

Name Trouble Ticketing
Description Notification method to log trouble ticket for a severity occurrence
OS Command /private/mozart/bin/logTicket.sh

Step 1: Define your OS command or script.
You can specify an OS command or script that will be called by the notification system
when an incident rule matches the OS Command advanced notification action. You
can use incident, event, or problem context information, corrective action execution
status and job execution status within the body of the script. Passing this contextual
information to OS commands/scripts allows you to customize automated responses

3-14

Chapter 3

Sending Notifications Using OS Commands and Scripts

specific event conditions. For example, if an OS script opens a trouble ticket for an inhouse support trouble ticket system, you will want to pass severity levels (critical,
warning, and so on) to the script to open a trouble ticket with the appropriate details
and escalate the problem. For more information on passing specific types of
information to OS Command or Scripts, see:
•

"Passing Event, Incident, Problem Information to an OS Command or Script"

•

" Passing Corrective Action Execution Status to an OS Command or Script"

•

" Passing Job Execution Status to an OS Command or Script"

Step 2: Deploy the script on each Management Service host.
You must deploy the OS Command or Script on each Management Service host
machine that connects to the Management Repository. The OS Command is run as
the user who started the Management Service. The OS Command or Script should be
deployed on the same location on each Management Service host machine.

Note:
Both scripts and OS Commands should be specified using absolute paths. For
example, /u1/bin/logSeverity.sh.

The command is run by the user who started the Management Service. If an error is
encountered during the running of the OS Command, the Notification System can be
instructed to retry the sending of the notification to the OS Command by returning an
exit code of 100. The procedure is initially retried after one minute, then two minutes,
then three minutes, eventually progressing to 30 minutes. From here, the procedure is
retried every 30 minutes until the notification is a 24 hours old. The notification will be
then be purged.
Example 3-4 shows the parameter in emoms.properties that controls how long the OS
Command can execute without being killed by the Management Service. This prevents
OS Commands from running for an inordinate length of time and blocks the delivery of
other notifications. By default the command is allowed to run for 30 seconds before it
is killed. The oracle.sysman.core.notification.os_cmd_timeout emoms property can be
configured to change the default timeout value.
Step 3: Register your OS Command or Script as a new Notification Method.
Add this OS command as a notification method that can be called in incident rules.
Log in as a Super Administrator. From the Setup menu, select Notifications, then
select Notification Methods. From this page, you can define a new notification based
on the 'OS Command' type. See "Sending Notifications Using OS Commands and
Scripts".
The following information is required for each OS command notification method:
•

Name

•

Description
Both Name and Description should be clear and intuitive so that the function of the
method is clear to other administrators.

•

OS Command

3-15

Chapter 3

Sending Notifications Using OS Commands and Scripts

You must enter the full path of the OS command or script in the OS command field (for
example, /u1/bin/myscript.sh). For environments with multiple Management Services,
the path must be exactly the same on each machine that has a Management Service.
Command line parameters can be included after the full path (for example, /u1/bin/
myscript.sh arg1 arg2).
Example 3-5 shows information required for the notification method.

Note:
There can be more than one OS Command configured per system.

Step 4: Assign the notification method to an incident rule.
You can edit an existing rule (or create a new instance rule), then go to the Methods
page. From the Setup menu, choose Incidents and then Incident Rules. The
Incident Rules page provides access to all available rule sets.
For detailed reference information on passing event, incident, and problem information
to an OS Command or script, see "Passing Event, Incident, Problem Information to an
OS Command or Script".

3.3.1 Script Examples
The sample OS script shown in Example 3-6 appends environment variable entries to
a log file. In this example, the script logs a severity occurrence to a file server. If the
file server is unreachable then an exit code of 100 is returned to force the Oracle
Management Service Notification System to retry the notification
Example 3-6

Sample OS Command Script

#!/bin/ksh
LOG_FILE=/net/myhost/logs/event.log
if test -f $LOG_FILE
then
echo $TARGET_NAME $MESSAGE $EVENT_REPORTED_TIME >> $LOG_FILE
else
exit 100
fi

Example 3-7 shows an OS script that logs alert information for both incidents and
events to the file 'oscmdNotify.log'. The file is saved to the /net/myhost/logs directory.
Example 3-7

Alert Logging Scripts

#!/bin/sh#
LOG_FILE=/net/myhost/logs/oscmdNotify.log
echo '-------------' >> $LOG_FILE
echo
echo
echo
echo
echo

'issue_type=' $ISSUE_TYPE >> $LOG_FILE
'notif_type=' $NOTIF_TYPE >> $LOG_FILE
'message=' $MESSAGE >> $LOG_FILE
'message_url' = $MESSAGE_URL >>$LOG_FILE
'severity=' $SEVERITY >> $LOG_FILE

3-16

Chapter 3

Sending Notifications Using OS Commands and Scripts

echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo

'severity_code' = $SEVERITY_CODE >>$LOG_FILE
'ruleset_name=' $RULESET_NAME >> $LOG_FILE
'rule_name=' $RULE_NAME >> $LOG_FILE
'rule_owner=' $RULE_OWNER >> $LOG_FILE
'repeat_count=' $REPEAT_COUNT >> $LOG_FILE
'categories_count' = $CATEGORIES_COUNT >>$LOG_FILE
'category_1' = $CATEGORY_1 >>$LOG_FILE
'category_2' = $CATEGORY_2 >>$LOG_FILE
'category_code_1' = $CATEGORY_CODE_1 >>$LOG_FILE
'category_code_2' = $CATEGORY_CODE_2 >>$LOG_FILE
'category_codes_count' = $CATEGORY_CODES_COUNT >>$LOG_FILE

# event
if [ $ISSUE_TYPE -eq 1 ]
then
echo 'host_name=' $HOST_NAME >> $LOG_FILE
echo 'event_type=' $EVENT_TYPE >> $LOG_FILE
echo 'event_name=' $EVENT_NAME >> $LOG_FILE
echo 'event_occurrence_time=' $EVENT_OCCURRENCE_TIME >> $LOG_FILE
echo 'event_reported_time=' $EVENT_REPORTED_TIME >> $LOG_FILE
echo 'sequence_id=' $SEQUENCE_ID >> $LOG_FILE
echo 'event_type_attrs=' $EVENT_TYPE_ATTRS >> $LOG_FILE
echo 'source_obj_name=' $SOURCE_OBJ_NAME >> $LOG_FILE
echo 'source_obj_type=' $SOURCE_OBJ_TYPE >> $LOG_FILE
echo 'source_obj_owner=' $SOURCE_OBJ_OWNER >> $LOG_FILE
echo 'target_name' = $TARGET_NAME >>$LOG_FILE
echo 'target_url' = $TARGET_URL >>$LOG_FILE
echo 'target_owner=' $TARGET_OWNER >> $LOG_FILE
echo 'target_type=' $TARGET_TYPE >> $LOG_FILE
echo 'target_version=' $TARGET_VERSION >> $LOG_FILE
echo 'lifecycle_status=' $TARGET_LIFECYCLE_STATUS >> $LOG_FILE
echo 'assoc_incident_escalation_level' = $ASSOC_INCIDENT_ESCALATION_LEVEL
>>$LOG_FILE
echo 'assoc_incident_id' = $ASSOC_INCIDENT_ID >>$LOG_FILE
echo 'assoc_incident_owner' = $ASSOC_INCIDENT_OWNER >>$LOG_FILE
echo 'assoc_incident_acknowledged_by_owner'
= $ASSOC_INCIDENT_ACKNOWLEDGED_BY_OWNER >>$LOG_FILE
echo 'assoc_incident_acknowledged_details' = $ASSOC_INCIDENT_ACKNOWLEDGED_DETAILS
>>$LOG_FILE
echo 'assoc_incident_priority' = $ASSOC_INCIDENT_PRIORITY >>$LOG_FILE
echo 'assoc_incident_status' = $ASSOC_INCIDENT_STATUS >>$LOG_FILE
echo 'ca_job_status' = $CA_JOB_STATUS >>$LOG_FILE
echo 'event_context_attrs' = $EVENT_CONTEXT_ATTRS >>$LOG_FILE
echo 'last_updated_time' = $LAST_UPDATED_TIME >>$LOG_FILE
echo 'sequence_id' = $SEQUENCE_ID >>$LOG_FILE
echo 'test_date_attr_noref' = $TEST_DATE_ATTR_NOREF >>$LOG_FILE
echo 'test_raw_attr_noref' = $TEST_RAW_ATTR_NOREF >>$LOG_FILE
echo 'test_str_attr1' = $TEST_STR_ATTR1 >>$LOG_FILE
echo 'test_str_attr2' = $TEST_STR_ATTR2 >>$LOG_FILE
echo 'test_str_attr3' = $TEST_STR_ATTR3 >>$LOG_FILE
echo 'test_str_attr4' = $TEST_STR_ATTR4 >>$LOG_FILE
echo 'test_str_attr5' = $TEST_STR_ATTR5 >>$LOG_FILE
echo 'test_str_attr_ref' = $TEST_STR_ATTR_REF >>$LOG_FILE
echo 'total_occurrence_count' = $TOTAL_OCCURRENCE_COUNT >>$LOG_FILE
fi
# incident
if [ $ISSUE_TYPE -eq 2 ]
then
echo 'action_msg=' $ACTION_MSG >> $LOG_FILE
echo 'incident_id=' $INCIDENT_ID >> $LOG_FILE

3-17

Chapter 3

Sending Notifications Using OS Commands and Scripts

echo 'incident_creation_time=' $INCIDENT_CREATION_TIME >> $LOG_FILE
echo 'incident_owner=' $INCIDENT_OWNER >> $LOG_FILE
echo 'incident_acknowledged_by_owner' = $INCIDENT_ACKNOWLEDGED_BY_OWNER >>$LOG_FILE
echo 'incident_status' = $INCIDENT_STATUS >>$LOG_FILE
echo 'last_modified_by=' $LAST_MODIFIED_BY >> $LOG_FILE
echo 'last_updated_time=' $LAST_UPDATED_TIME >> $LOG_FILE
echo 'assoc_event_count=' $ASSOC_EVENT_COUNT >> $LOG_FILE
echo 'adr_incident_id=' $ADR_INCIDENT_ID >> $LOG_FILE
echo 'occurrence_count=' $OCCURRENCE_COUNT >> $LOG_FILE
echo 'escalated=' $ESCALATED >> $LOG_FILE
echo 'escalated_level=' $ESCALATED_LEVEL >> $LOG_FILE
echo 'priority=' $PRIORITY >> $LOG_FILE
echo 'priority_code' = $PRIORITY_CODE >>$LOG_FILE
echo 'ticket_id=' $TICKET_ID >> $LOG_FILE
echo 'ticket_status=' $TICKET_STATUS >> $LOG_FILE
echo 'ticket_url=' $TICKET_ID_URL >> $LOG_FILE
echo 'total_duplicate_count=' $TOTAL_DUPLICATE_COUNT >> $LOG_FILE
echo 'source_count=' $EVENT_SOURCE_COUNT >> $LOG_FILE
echo 'event_source_1_host_name' = $EVENT_SOURCE_1_HOST_NAME >>$LOG_FILE
echo 'event_source_1_target_guid' = $EVENT_SOURCE_1_TARGET_GUID >>$LOG_FILE
echo 'event_source_1_target_name' = $EVENT_SOURCE_1_TARGET_NAME >>$LOG_FILE
echo 'event_source_1_target_owner' = $EVENT_SOURCE_1_TARGET_OWNER >>$LOG_FILE
echo 'event_source_1_target_type' = $EVENT_SOURCE_1_TARGET_TYPE >>$LOG_FILE
echo 'event_source_1_target_url' = $EVENT_SOURCE_1_TARGET_URL >>$LOG_FILE
echo 'event_source_1_target_lifecycle_status'
= $EVENT_SOURCE_1_TARGET_LIFECYCLE_STATUS >>$LOG_FILE
echo 'event_source_1_target_version' = $EVENT_SOURCE_1_TARGET_VERSION >>$LOG_FILE
fi
exit 0

Example 3-8 shows a script that sends an alert to an HP OpenView console from
Enterprise Manager Cloud Control. When a metric alert is triggered, the Enterprise
Manager Cloud Control displays the alert. The HP OpenView script is then called,
invoking opcmsg and forwarding the information to the HP OpenView management
server.
Example 3-8

HP OpenView Script

/opt/OV/bin/OpC/opcmsg severity="$SEVERITY" app=OEM msg_grp=Oracle
msg_text="$MESSAGE" object="$TARGET_NAME"

3.3.2 Migrating pre-12c OS Command Scripts
This section describes how to map pre-12c OS Command notification shell
environment variables to 13c OS Command shell environment variables.

Note:
Pre-12c notification rules only map to event level rules. Mapping to incident
level rules is not permitted.

3-18

Chapter 3

Sending Notifications Using OS Commands and Scripts

Note:
Policy Violations are no longer supported beginning with the Enterprise
Manager 12c release.

3.3.2.1 Migrating Metric Alert Event Types
Following table is the mapping for the OS Command shell environment variables when
the event_type is metric_alert.
Table 3-3

Pre-12c/13c metric_alert Environment Variable Mapping

Pre-12c Environment
Variable

Corresponding 13c Environment Variables

ACKNOWLEDGED

ASSOC_INCIDENT_ACKNOWLEDGED_BY_OWNER

ACKNOWLEDGED_BY

ASSOC_INCIDENT_OWNER

CYCLE_GUID

CYCLE_GUID

HOST

HOST_NAME

KEY_VALUE

Note: See detail description below.

KEY_VALUE_NAME

Note: See detail description below

MESSAGE

MESSAGE

METRIC

METRIC_COLUMN

NOTIF_TYPE

NOTIF_TYPE; use the map in section 2.3.5

REPEAT_COUNT

REPEAT_COUNT

RULE_NAME

RULESET_NAME

RULE_OWNER

RULE_OWNER

SEVERITY

SEVERITY

TARGET_NAME

TARGET_NAME

TARGET_TYPE

TARGET_TYPE

TIMESTAMP

EVENT_REPORTED_TIME

METRIC_VALUE

VALUE

VIOLATION_CONTEXT

EVENT_CONTEXT_ATTRS

VIOLATION_GUID

SEVERITY_GUID

POLICY_RULE

No mapping, Obsolete as of Enterprise Manager 12c release.

To obtain KEY_VALUE_NAME and KEY_VALUE, perform the following steps.
•

If $NUM_KEYS variable is null, then $KEY_VALUE_NAME and $KEY_VALUE are
null.

•

If $NUM_KEYS equals 1
KEY_VALUE_NAME=$KEY_COLUMN_1
KEY_COLUMN_1_VALUE

•

If $NUM_KEYS is greater than 1

3-19

Chapter 3

Sending Notifications Using OS Commands and Scripts

KEY_VALUE_NAME="$KEY_COLUMN_1;$KEY_COLUMN_2;..;KEY_COLUMN_
x"
KEY_VALUE="$KEY_COLUMN_1_VALUE;$KEY_COLUMN_2_VALUE;..;KEY_C
OLUMN_x_VALUE "
Where x is the value of $NUM_KEYS and ";" is the separator.

3.3.2.2 Migrating Target Availability Event Types
Following table is the mapping for the OS Command shell environment variables when
the event_type is 'target_availability'.
Table 3-4

pre-12c/12c target_availability Environment Variable Mappings

Pre-12c Environment
Variable

Corresponding 13c Environment Variables

TARGET_NAME

TARGET_NAME

TARGET_TYPE

TARGET_TYPE

METRIC

Status

CYCLE_GUID

CYCLE_GUID

VIOLATION_CONTEXT

EVENT_CONTEXT_ATTRS

SEVERITY

TARGET_STATUS

HOST

HOST_NAME

MESSAGE

MESSAGE

NOTIF_TYPE

NOTIF_TYPE; use the map in section 2.3.5

TIMESTAMP

EVENT_REPORTED_TIME

RULE_NAME

RULESET_NAME

RULE_OWNER

RULE_OWNER

REPEAT_COUNT

REPEAT_COUNT

KEY_VALUE

""

KEY_VALUE_NAME

""

3.3.2.3 Migrating Job Status Change Event Types
Following table is the mapping for the OS Command shell environment variables when
the event_type is 'job_status_change'.
Table 3-5

pre-12c/13c job_status_change Environment Variable Mappings

Pre-12c Environment
Variable

Corresponding 13c Environment Variables

JOB_NAME

SOURCE_OBJ_NAME

JOB_OWNER

SOURCE_OBJ_OWNER

JOB_TYPE

SOURCE_OBJ_SUB_TYPE

JOB_STATUS

EXECUTION_STATUS

NUM_TARGETS

1 if $ TARGET_NAME is not null, 0 otherwise

3-20

Chapter 3

Sending Notifications Using OS Commands and Scripts

Table 3-5 (Cont.) pre-12c/13c job_status_change Environment Variable
Mappings
Pre-12c Environment
Variable

Corresponding 13c Environment Variables

TARGET_NAME1

TARGET_NAME

TARGET_TYPE1

TARGET_TYPE

TIMESTAMP

EVENT_REPORTED_TIME

RULE_NAME

RULESET_NAME

RULE_OWNER

RULE_OWNER

3.3.2.4 Migrating Corrective Action-Related OS Scripts
Refer to section "Migrating Metric Alert Event Types" for mapping the following
environment variables while receiving notifications for corrective actions.
KEY_VALUE
KEY_VALUE_NAME
METRIC
METRIC_VALUE
RULE_NAME
RULE_OWNER
SEVERITY
TIMESTAMP
VIOLATION_CONTEXT
Use the map below for mapping other environment variables.
Table 3-6

pre-12c/13c Corrective Action Environment Variable Mappings

Pre-12c Environment
Variable

Corresponding 13c Environment Variables

NUM_TARGETS

1

TARGET_NAME1

TARGET_NAME

TARGET_TYPE1

TARGET_TYPE

JOB_NAME

CA_JOB_NAME

JOB_OWNER

CA_JOB_OWNER

JOB_STATUS

CA_JOB_STATUS

JOB_TYPE

CA_JOB_TYPE

3-21

Chapter 3

Sending Notifications Using PL/SQL Procedures

3.3.2.5 Notification Type Mapping
Table 3-7

pre-12c/13c notif_type Mappings

notif_type (13c)

notif_type (Pre-12c)

NOTIF_NORMAL

1

NOTIF_REPEAT

4

NOTIF_DURATION

9

NOTIF_RETRY

2

3.4 Sending Notifications Using PL/SQL Procedures
A user-defined PL/SQL procedure can receive notifications for matching events,
incidents and problems.

Note:
When upgrading from pre-12c to 13c versions of Enterprise Manager, existing
pre-12c PL/SQL advanced notification methods will continue to work without
modification. You should, however, update the procedures to use new
signatures.
New PL/SQL advanced notification methods created with Enterprise Manager
13c must use the new signatures documented in the following sections.

Complete the following four steps to define a notification method based on a PL/SQL
procedure.

3.4.1 Defining a PL/SQL-based Notification Method
Creating a PL/SQL-based notification method consists of four steps:
1.

Define the PL/SQL procedure.

2.

Create the PL/SQL procedure on the Management Repository.

3.

Register your PL/SQL procedure as a new notification method.

4.

Assign the notification method to an incident rule.

Example 3-9

PL/SQL Procedure Required Information

Name Open trouble ticket
Description Notification method to open a trouble ticket in the event
PLSQL Procedure ticket_sys.ticket_ops.open_ticket

Example 3-10

PL/SQL Script

-- Assume log_table is created by following DDL
-- CREATE TABLE log_table (message VARCHAR2(4000)) ;
-- Define PL/SQL notification method for Events

3-22

Chapter 3

Sending Notifications Using PL/SQL Procedures

CREATE OR REPLACE PROCEDURE log_table_notif_proc(s IN GC$NOTIF_EVENT_MSG)
IS
l_categories gc$category_string_array;
l_category_codes gc$category_string_array;
l_attrs gc$notif_event_attr_array;
l_ca_obj gc$notif_corrective_action_job;
BEGIN
INSERT INTO log_table VALUES ('notification_type: ' ||
s.msg_info.notification_type);
INSERT INTO log_table VALUES ('repeat_count: ' || s.msg_info.repeat_count);
INSERT INTO log_table VALUES ('ruleset_name: ' || s.msg_info.ruleset_name);
INSERT INTO log_table VALUES ('rule_name: ' || s.msg_info.rule_name);
INSERT INTO log_table VALUES ('rule_owner: ' || s.msg_info.rule_owner);
INSERT INTO log_table VALUES ('message: ' || s.msg_info.message);
INSERT INTO log_table VALUES ('message_url: ' || s.msg_info.message_url);
INSERT INTO log_table VALUES ('event_instance_guid: ' ||
s.event_payload.event_instance_guid);
INSERT INTO log_table VALUES ('event_type: ' || s.event_payload.event_type);
INSERT INTO log_table VALUES ('event_name: ' || s.event_payload.event_name);
INSERT INTO log_table VALUES ('event_msg: ' || s.event_payload.event_msg);
INSERT INTO log_table VALUES ('source_obj_type: ' ||
s.event_payload.source.source_type);
INSERT INTO log_table VALUES ('source_obj_name: ' ||
s.event_payload.source.source_name);
INSERT INTO log_table VALUES ('source_obj_url: ' ||
s.event_payload.source.source_url);
INSERT INTO log_table VALUES ('target_name: ' ||
s.event_payload.target.target_name);
INSERT INTO log_table VALUES ('target_url: ' || s.event_payload.target.target_url);
INSERT INTO log_table VALUES ('severity: ' || s.event_payload.severity); INSERT
INTO log_table VALUES ('severity_code: ' || s.event_payload.severity_code);
INSERT INTO log_table VALUES ('event_reported_date: ' ||
to_char(s.event_payload.reported_date, 'D MON DD HH24:MI:SS'));
l_categories := s.event_payload.categories;
IF l_categories IS NOT NULL
THEN
FOR c IN 1..l_categories.COUNT
LOOP
INSERT INTO log_table VALUES ('category ' || c || ' - ' || l_categories(c));
END LOOP;
END IF;
l_category_codes := s.event_payload.category_codes;
IF l_categories IS NOT NULL
THEN
FOR c IN 1..l_category_codes.COUNT
LOOP
INSERT INTO log_table VALUES ('category_code ' || c || ' - ' ||
l_category_codes(c));
END LOOP;
END IF;
l_attrs := s.event_payload.event_attrs;
IF l_attrs IS NOT NULL
THEN
FOR c IN 1..l_attrs.COUNT
LOOP
INSERT INTO log_table VALUES ('EV.ATTR name=' || l_attrs(c).name || '
value=' || l_attrs(c).value || ' nls_value=' || l_attrs(c).nls_value);
END LOOP;
END IF;

3-23

Chapter 3

Sending Notifications Using PL/SQL Procedures

COMMIT ;
END ;
/

Example 3-11

PL/SQL Script to Log Events to a Table

CREATE TABLE event_log (
notification_type
VARCHAR2(32),
repeat_count
NUMBER,
ruleset_name
VARCHAR2(256),
rule_owner
VARCHAR2(256),
rule_name
VARCHAR2(256),
message
VARCHAR2(4000),
message_url
VARCHAR2(4000),
event_instance_guid
RAW(16),
event_type
VARCHAR2(20),
event_name
VARCHAR2(512),
event_msg
VARCHAR2(4000),
categories
VARCHAR2(4000),
source_obj_type
VARCHAR2(120),
source_obj_name
VARCHAR2(256),
source_obj_url
VARCHAR2(4000),
severity
VARCHAR2(128),
severity_code
VARCHAR2(32),
target_name
VARCHAR2(256),
target_type
VARCHAR2(128),
target_url
VARCHAR2(4000),
host_name
VARCHAR2(256),
timezone
VARCHAR2(64),
occured
DATE,
ca_guid
RAW(16),
ca_name
VARCHAR2(128),
ca_owner
VARCHAR2(256),
ca_type
VARCHAR2(256),
ca_status
VARCHAR2(64),
ca_status_code
NUMBER,
ca_job_step_output
VARCHAR2(4000),
ca_execution_guid
RAW(16),
ca_stage_change_guid RAW(16)
)
;
CREATE OR REPLACE PROCEDURE log_event(s IN GC$NOTIF_EVENT_MSG)
IS
l_categories gc$category_string_array;
l_ca_obj gc$notif_corrective_action_job;
l_categories_new VARCHAR2(1000);
BEGIN
-- save event categories
l_categories := s.event_payload.categories;
IF l_categories IS NOT NULL
THEN
FOR c IN 1..l_categories.COUNT
LOOP
l_categories_new := (l_categories_new|| c || ' - ' || l_categories(c)||',');
END LOOP;
END IF;
-- save event message
IF s.msg_info.notification_type = 'NOTIF_CA' AND

3-24

Chapter 3

Sending Notifications Using PL/SQL Procedures

s.event_payload.corrective_action IS NOT NULL
THEN
l_ca_obj := s.event_payload.corrective_action;
INSERT INTO event_log (notification_type, repeat_count, ruleset_name,
rule_name, rule_owner, message, message_url, event_instance_guid, event_type,
event_name, event_msg, categories, source_obj_type, source_obj_name, source_obj_url,
severity, severity_code, target_name, target_type, target_url, host_name, timezone,
occured, ca_guid, ca_name, ca_owner, ca_type, ca_status, ca_status_code,
ca_job_step_output, ca_execution_guid, ca_stage_change_guid)
VALUES (s.msg_info.notification_type, s.msg_info.repeat_count,
s.msg_info.ruleset_name, s.msg_info.rule_name,s.msg_info.rule_owner,
s.msg_info.message, s.msg_info.message_url, s.event_payload.event_instance_guid,
s.event_payload.event_type, s.event_payload.event_name, s.event_payload.event_msg,
l_categories_new, s.event_payload.source.source_type,
s.event_payload.source.source_name, s.event_payload.source.source_url,
s.event_payload.severity, s.event_payload.severity_code,
s.event_payload.target.target_name, s.event_payload.target.target_type,
s.event_payload.target.target_url, s.event_payload.target.host_name,
s.event_payload.target.target_timezone, s.event_payload.occurrence_date,
l_ca_obj.JOB_GUID, l_ca_obj.JOB_NAME, l_ca_obj.JOB_OWNER, l_ca_obj.JOB_TYPE,
l_ca_obj.JOB_STATUS, l_ca_obj.JOB_STATUS_CODE, l_ca_obj.JOB_STEP_OUTPUT,
l_ca_obj.JOB_EXECUTION_GUID, l_ca_obj.JOB_STATE_CHANGE_GUID); ELSE
INSERT INTO event_log (notification_type, repeat_count, ruleset_name,
rule_name, rule_owner, message, message_url, event_instance_guid, event_type,
event_name, event_msg, categories, source_obj_type, source_obj_name, source_obj_url,
severity, severity_code, target_name, target_type, target_url, host_name, timezone,
occured, ca_guid, ca_name, ca_owner, ca_type, ca_status, ca_status_code,
ca_job_step_output, ca_execution_guid, ca_stage_change_guid)
VALUES (s.msg_info.notification_type, s.msg_info.repeat_count,
s.msg_info.ruleset_name, s.msg_info.rule_name, s.msg_info.rule_owner,
s.msg_info.message, s.msg_info.message_url, s.event_payload.event_instance_guid,
s.event_payload.event_type, s.event_payload.event_name, s.event_payload.event_msg,
l_categories_new, s.event_payload.source.source_type,
s.event_payload.source.source_name, s.event_payload.source.source_url,
s.event_payload.severity, s.event_payload.severity_code,
s.event_payload.target.target_name, s.event_payload.target.target_type,
s.event_payload.target.target_url, s.event_payload.target.host_name,
s.event_payload.target.target_timezone, s.event_payload.occurrence_date,
null,null,null,null,null,null,null,null,null);
END IF;
COMMIT;
END log_event;
/

Example 3-12

PL/SQL Script to Log Incidents to a Table

CREATE TABLE incident_log (
notification_type
VARCHAR2(32),
repeat_count
NUMBER,
ruleset_name
VARCHAR2(256),
rule_owner
VARCHAR2(256),
rule_name
VARCHAR2(256),
message
VARCHAR2(4000),
message_url
VARCHAR2(4000),
incident_id
VARCHAR2(128),
ticket_url
VARCHAR2(4000),
assoc_event_cnt
NUMBER,
severity
VARCHAR2(128),
severity_code
VARCHAR2(32),
priority
VARCHAR2(128),
priority_code
VARCHAR2(32),

3-25

Chapter 3

Sending Notifications Using PL/SQL Procedures

status
categories
target_name
target_type
host_name
timezone
occured

VARCHAR2(32),
VARCHAR2(1000),
VARCHAR2(256),
VARCHAR2(128),
VARCHAR2(256),
VARCHAR2(64),
DATE

)
;
CREATE OR REPLACE PROCEDURE log_incident(s IN GC$NOTIF_INCIDENT_MSG)
IS
l_src_info_array GC$NOTIF_SOURCE_INFO_ARRAY;
l_src_info GC$NOTIF_SOURCE_INFO;
l_categories gc$category_string_array;
l_target_obj GC$NOTIF_TARGET;
l_target_name VARCHAR2(256);
l_target_type VARCHAR2(256);
l_target_timezone VARCHAR2(256);
l_hostname VARCHAR2(256);
l_categories_new VARCHAR2(1000);
BEGIN
-- Save Incident categories
IF l_categories IS NOT NULL
THEN
FOR c IN 1..l_categories.COUNT
LOOP
l_categories_new := (l_categories_new|| c || ' - ' || l_categories(c)||',');
END LOOP;
END IF;
-- GET target info
l_src_info_array := s.incident_payload.incident_attrs.source_info_arr;
IF l_src_info_array IS NOT NULL
THEN
FOR I IN 1..l_src_info_array.COUNT
LOOP
IF l_src_info_array(I).TARGET IS NOT NULL
THEN
l_target_name := l_src_info_array(I).TARGET.TARGET_NAME;
l_target_type := l_src_info_array(I).TARGET.TARGET_TYPE;
l_target_timezone := l_src_info_array(I).TARGET.TARGET_TIMEZONE;
l_hostname := l_src_info_array(I).TARGET.HOST_NAME;
END IF;
END LOOP;
END IF;
-- save Incident notification message
INSERT INTO
incident_log(notification_type, repeat_count, ruleset_name, rule_owner, rule_name,
message, message_url, incident_id, ticket_url, assoc_event_cnt, severity,
severity_code, priority, priority_code, status, categories, target_name,
target_type, host_name, timezone, occured)
VALUES (s.msg_info.notification_type, s.msg_info.repeat_count,
s.msg_info.ruleset_name, s.msg_info.rule_owner, s.msg_info.rule_name,
s.msg_info.message, s.msg_info.message_url, s.incident_payload.incident_attrs.id,
s.incident_payload.ticket_url, s.incident_payload.assoc_event_count,
s.incident_payload.incident_attrs.severity,
s.incident_payload.incident_attrs.severity_code,
s.incident_payload.incident_attrs.priority,
s.incident_payload.incident_attrs.priority_code,
s.incident_payload.incident_attrs.STATUS, l_categories_new, l_target_name,
l_target_type, l_hostname,l_target_timezone,

3-26

Chapter 3

Sending Notifications Using PL/SQL Procedures

s.incident_payload.incident_attrs.creation_date);
COMMIT;
END log_incident;
/

Example 3-13

PL/SQL Script to Log Problems to a Table

CREATE TABLE problem_log (
notification_type
VARCHAR2(32),
repeat_count
NUMBER,
ruleset_name
VARCHAR2(256),
rule_owner
VARCHAR2(256),
rule_name
VARCHAR2(256),
message
VARCHAR2(4000),
message_url
VARCHAR2(4000),
problem_key
VARCHAR2(850),
assoc_incident_cnt
NUMBER,
problem_id
NUMBER,
owner
VARCHAR2(256),
severity
VARCHAR2(128),
severity_code
VARCHAR2(32),
priority
VARCHAR2(128),
priority_code
VARCHAR2(32),
status
VARCHAR2(32),
categories
VARCHAR2(1000),
target_name
VARCHAR2(256),
target_type
VARCHAR2(128),
host_name
VARCHAR2(256), timezone
VARCHAR2(64),
occured
DATE
)
;
CREATE OR REPLACE PROCEDURE log_problem(s IN GC$NOTIF_PROBLEM_MSG)
IS
l_src_info_array GC$NOTIF_SOURCE_INFO_ARRAY;
l_src_info GC$NOTIF_SOURCE_INFO;
l_categories gc$category_string_array;
l_target_obj GC$NOTIF_TARGET;
l_target_name VARCHAR2(256);
l_target_type VARCHAR2(256);
l_target_timezone VARCHAR2(256);
l_hostname VARCHAR2(256);
l_categories_new VARCHAR2(1000);
BEGIN
-- Save Problem categories
l_categories := s.problem_payload.problem_attrs.categories;
IF l_categories IS NOT NULL
THEN
FOR c IN 1..l_categories.COUNT
LOOP
l_categories_new := (l_categories_new|| c || ' - ' || l_categories(c)||',');
END LOOP;
END IF;
-- GET target info
l_src_info_array := s.problem_payload.problem_attrs.source_info_arr;
IF l_src_info_array IS NOT NULL
THEN
FOR I IN 1..l_src_info_array.COUNT
LOOP
IF l_src_info_array(I).TARGET IS NOT NULL

3-27

Chapter 3

Sending Notifications Using PL/SQL Procedures

THEN
l_target_name := l_src_info_array(I).TARGET.TARGET_NAME;
l_target_type := l_src_info_array(I).TARGET.TARGET_TYPE;
l_target_timezone := l_src_info_array(I).TARGET.TARGET_TIMEZONE;
l_hostname := l_src_info_array(I).TARGET.HOST_NAME;
END IF;
END LOOP;
END IF;
-- save Problem notification message
INSERT INTO problem_log(notification_type, repeat_count, ruleset_name,
rule_owner, rule_name, message, message_url, problem_key, assoc_incident_cnt,
problem_id, owner, severity, severity_code, priority, priority_code, status,
categories, target_name, target_type, host_name, timezone, occured)
VALUES (s.msg_info.notification_type, s.msg_info.repeat_count,
s.msg_info.ruleset_name, s.msg_info.rule_owner, s.msg_info.rule_name,
s.msg_info.message, s.msg_info.message_url,
s.problem_payload.problem_key,
s.problem_payload.ASSOC_INCIDENT_COUNT,
s.problem_payload.problem_attrs.id,
s.problem_payload.problem_attrs.owner,
s.problem_payload.problem_attrs.severity,
s.problem_payload.problem_attrs.severity_code,
s.problem_payload.problem_attrs.PRIORITY,
s.problem_payload.problem_attrs.PRIORITY_CODE,
s.problem_payload.problem_attrs.status, l_categories_new, l_target_name,
l_target_type, l_hostname,l_target_timezone,
s.problem_payload.problem_attrs.CREATION_DATE);
COMMIT;
END log_problem;
/

Step 1: Define the PL/SQL Procedure
The procedure must have one of the following signatures depending on the type of
notification that will be received.
For Events:
PROCEDURE event_proc(event_msg IN gc$notif_event_msg)
For Incidents:
PROCEDURE incident_proc(incident_msg IN gc$notif_incident_msg)
For Problems:
PROCEDURE problem_proc(problem_msg IN gc$notif_problem_msg)

Note:
The notification method based on a PL/SQL procedure must be configured by
an administrator with Super Administrator privileges before a user can select it
while creating/editing a incident rule.

For more information on passing specific types of information to scripts or PL/SQL
procedures, see the following sections:
"Passing Information to a PL/SQL Procedure"

3-28

Chapter 3

Sending Notifications Using PL/SQL Procedures

"Passing Corrective Action Status Change Information"
" Passing Job Execution Status Information"
Step 2: Create the PL/SQL procedure on the Management Repository.
Create the PL/SQL procedure on the repository database using one of the following
procedure specifications:
PROCEDURE event_proc(event_msg IN gc$notif_event_msg)
PROCEDURE incident_proc(incident_msg IN gc$notif_incident_msg)
PROCEDURE problem_proc(problem_msg IN gc$notif_problem_msg)
The PL/SQL procedure must be created on the repository database using the
database account of the repository owner (such as SYSMAN)
If an error is encountered during the running of the procedure, the Notification System
can be instructed to retry the sending of the notification to the procedure by raising a
user-defined exception that uses the error code -20000. The procedure initially retried
after one minute, then two minutes, then three minutes and so on, until the notification
is a day old, at which point it will be purged.
Step 3: Register your PL/SQL procedure as a new notification method.
Log in as a Super Administrator. From the Setup menu, choose Notifications and
then Notification Methods to access the Notification Methods page. From this page,
you can define a new notification based on 'PL/SQL Procedure'. See Sending
Notifications Using PL/SQL Procedures.
Make sure to use a fully qualified name that includes the schema owner, package
name and procedure name. The procedure will be executed by the repository owner
and so the repository owner must have execute permission on the procedure.
Create a notification method based on your PL/SQL procedure. The following
information is required when defining the method:
•

Name

•

Description

•

PL/SQL Procedure

You must enter a fully qualified procedure name (for example,
OWNER.PKGNAME.PROCNAME) and ensure that the owner of the Management
Repository has execute privilege on the procedure.
An example of the required information is shown in Example 3-9.
Figure 3-1 illustrates how to add a PL/SQL-based notification method from the
Enterprise Manager UI.

3-29

Chapter 3

Sending Notifications Using PL/SQL Procedures

Figure 3-1

Adding a PL/SQL Procedure

Step 4: Assign the notification method to an incident rule.
You can edit an existing rule (or create a new incident rule). From the Setup menu,
select Incidents and then select Incident Rules. The Incident Rules page displays.
From here, you can add an action to a rule specifying the new PL/SQL procedure
found under Advanced Notification Method.
There can be more than one PL/SQL-based method configured for your Enterprise
Manager environment.
See "Passing Information to a PL/SQL Procedure" for more information about how
incident, event, and problem information is passed to the PLSQL procedure.

3.4.2 Migrating Pre-12c PL/SQL Advanced Notification Methods
Pre-12c notifications map to event notifications in Enterprise Manager 12c. The event
types metric_alert, target_availability and job_status_alert correspond to the pre-12c
notification functionality.

Note:
Policy Violations are no longer available beginning with Enterprise Manager
12c.

This section describes the mapping between Enterprise Manager 13c PL/SQL
notification payload to the pre-12c PL/SQL notification payload. You can use this
information for updating the existing pre-12c PL/SQL user callback procedures to use
the 13c PL/SQL notification payload.Please note that Policy Violations are no longer
supported in the 13c release.

3.4.2.1 Mapping for MGMT_NOTIFY_SEVERITY
When event type is metric_alert
Use the following map when gc$notif_event_payload .event_type='metric_alert'.

3-30

Chapter 3

Sending Notifications Using PL/SQL Procedures

Table 3-8

Metric Alert Mapping

MGMT_NOTIFY_SEVERITY

13c Notification Payload

TARGET_NAME

gc$notif_target.target_name

TARGET_TYPE

gc$notif_target.target_type

TIMEZONE

gc$notif_target.target_timezone

HOST_NAME

gc$notif_target.host_name

MERTIC_NAME

gc$notif_event_attr.value where its name=' metric_group'
in gc$notif_event_attr_array.

METRIC_DESCRIPTION

gc$notif_event_attr.value where its name='
metric_description' in gc$notif_event_attr_array.

METRIC_COLUMN

gc$notif_event_attr.value where its name='
metric_column' in gc$notif_event_attr_array.

METRIC_VALUE

gc$notif_event_attr.value where its name=' value' in
gc$notif_event_attr_array.

KEY_VALUE

It is applied for multiple keys based metric when value of
gc$notif_event_attr.name='num_keys' is not null and is
greater than 0 in gc$notif_event_attr_array.
See detail descriptions below.

KEY_VALUE_NAME

It is applied for multiple keys based metric when value of
gc$notif_event_attr.name='num_keys' is not null and is
greater than 0 in gc$notif_event_attr_array.
See detail descriptions below.

KEY_VALUE_GUID

gc$notif_event_attr.value where its name='key_ value' in
gc$notif_event_attr_array.

CTXT_LIST

gc$notif_event_context_array

COLLECTION_TIMESTAMP

gc$notif_event_payload. reported_date

SEVERITY_CODE

Derive from gc$notif_event_payload.severity_code, see
Table 3-9.

MESSAGE

gc$notif_msg_info.message

SEVERITY_GUID

gc$notif_event_attr.value where its name='
severity_guid' in gc$notif_event_attr_array.

METRIC_GUID

gc$notif_event_attr.value where its name=' metric_guid'
in gc$notif_event_attr_array.

TARGET_GUID

gc$notif_target.target_guid

RULE_OWNER

gc$notif_msg_info.rule_owner

RULE_NAME

gc$notif_msg_info.ruleset_name

The following example illustrates how to obtain similar pre-12c KEY_VALUE and
KEY_VALUE_NAME from an Enterprise Manager 13c notification payload.
Example 3-14

Extracting KEY_VALUE and KEY_VALUE_NAME

-- Get the pre-12c KEY_VALUE and KEY_VALUE_NAME from an Enterprise Manager 13c
-- notification payload
-- parameters
-- IN Parameters:
-event_msg : The event notification payload
-- OUT Parameters

3-31

Chapter 3

Sending Notifications Using PL/SQL Procedures

-key_value_name_out : the KEY_VALUE_NAME backward compitable to pre-12c
-notification payload
-key_value_out
: the KEY_VALUE backward compitable to pre-12c
-notification payload
-CREATE OR REPLACE PROCEDURE get_pre_12c_key_value(
event_msg IN GC$NOTIF_EVENT_MSG,
key_value_name_out OUT VARCHAR2,
key_value_out OUT VARCHAR2)
IS
l_key_columns MGMT_SHORT_STRING_ARRAY := MGMT_SHORT_STRING_ARRAY();
l_key_column_values MGMT_MEDIUM_STRING_ARRAY := MGMT_MEDIUM_STRING_ARRAY();
l_key_value VARCHAR2(1790) := NULL;
l_num_keys NUMBER := 0;
l_attrs gc$notif_event_attr_array;
l_key_value_name VARCHAR2(512);
BEGIN
l_attrs := event_msg.event_payload.event_attrs;
key_value_name_out := NULL;
key_value_out := NULL;
IF l_attrs IS NOT NULL AND
l_attrs.COUNT > 0
THEN
l_key_columns.extend(7);
l_key_column_values.extend(7);
FOR c IN 1..l_attrs.COUNT
LOOP
CASE l_attrs(c).name
WHEN 'num_keys' THEN
BEGIN
l_num_keys := to_number(l_attrs(c).value);
EXCEPTION
WHEN OTHERS THEN
-- should never happen, but guard against it l_num_keys := 0;
END;
WHEN 'key_value' THEN
l_key_value := substr(l_attrs(c).nls_value,1,1290);
WHEN 'key_column_1' THEN
l_key_columns(1) := substr(l_attrs(c).nls_value,1,64);
WHEN 'key_column_2' THEN
l_key_columns(2) := substr(l_attrs(c).nls_value,1,64);
WHEN 'key_column_3' THEN
l_key_columns(3) := substr(l_attrs(c).nls_value,1,64);
WHEN 'key_column_4' THEN
l_key_columns(4) := substr(l_attrs(c).nls_value,1,64);
WHEN 'key_column_5' THEN
l_key_columns(5) := substr(l_attrs(c).nls_value,1,64);
WHEN 'key_column_6' THEN
l_key_columns(6) := substr(l_attrs(c).nls_value,1,64);
WHEN 'key_column_7' THEN
l_key_columns(7) := substr(l_attrs(c).nls_value,1,64);
WHEN 'key_column_1_value' THEN
l_key_column_values(1) := substr(l_attrs(c).nls_value,1,256);
WHEN 'key_column_2_value' THEN
l_key_column_values(2) := substr(l_attrs(c).nls_value,1,256);
WHEN 'key_column_3_value' THEN
l_key_column_values(3) := substr(l_attrs(c).nls_value,1,256);
WHEN 'key_column_4_value' THEN
l_key_column_values(4) := substr(l_attrs(c).nls_value,1,256);

3-32

Chapter 3

Sending Notifications Using PL/SQL Procedures

WHEN 'key_column_5_value' THEN
l_key_column_values(5) := substr(l_attrs(c).nls_value,1,256);
WHEN 'key_column_6_value' THEN
l_key_column_values(6) := substr(l_attrs(c).nls_value,1,256);
WHEN 'key_column_7_value' THEN
l_key_column_values(7) := substr(l_attrs(c).nls_value,1,256);
ELSE
NULL;
END CASE;
END LOOP;
-- get key_value and key_value_name when l_num_keys > 0
IF l_num_keys > 0
THEN
-- get key value name
IF l_key_columns IS NULL OR l_key_columns.COUNT = 0
THEN
key_value_name_out := NULL;
ELSE
l_key_value_name := NULL;
FOR i in l_key_columns.FIRST..l_num_keys
LOOP
IF i > 1
THEN
l_key_value_name := l_key_value_name || ';';
END IF;
l_key_value_name := l_key_value_name || l_key_columns(i);
END LOOP;
key_value_name_out := l_key_value_name;
END IF;
-- get key_value
IF l_num_keys = 1
THEN
key_value_out := l_key_value;
ELSE
l_key_value := NULL;
IF l_key_column_values IS NULL OR l_key_column_values.COUNT = 0
THEN
key_value_out := NULL;
ELSE
FOR i in l_key_column_values.FIRST..l_num_keys
LOOP
IF i > 1
THEN
l_key_value := l_key_value || ';';
END IF;
l_key_value := l_key_value || l_key_column_values(i);
END LOOP;
-- max length for key value in pre-12c = 1290
key_value_out := substr(l_key_value,1,1290);
END IF;
END IF;
END IF; -- l_num_keys > 0
END IF; -- l_attrs IS NOT NULL
END get_pre_12c_key_value;
/

When the event type is metric_alert:

3-33

Chapter 3

Sending Notifications Using PL/SQL Procedures

Use the following severity code mapping from 13c to pre-12c when the event type is
metric_alert.
Table 3-9

Severity Code Mapping

13c Severity Code

Pre-12c Severity Code

GC_EVENT_RECEIVER.FATAL 32

MGMT_GLOBAL.G_SEVERITY_CRITICAL 25

GC_EVENT_RECEIVER.CRITICAL 16

MGMT_GLOBAL.G_SEVERITY_CRITICAL 25

GC_EVENT_RECEIVER.WARNING 8

MGMT_GLOBAL.G_SEVERITY_WARNING 20

GC_EVENT_RECEIVER.CLEAR 0

MGMT_GLOBAL.G_SEVERITY_CLEAR 15

When event type is target_availability:
Use the following map when gc$notif_event_payload .event_type='target_availability'.
Table 3-10

Target Availability Mapping

MGMT_NOTIFY_SEVERITY

13c Notification Payload

TARGET_NAME

gc$notif_target.target_name

TARGET_TYPE

gc$notif_target.target_type

TIMEZONE

gc$notif_target.target_timezone

HOST_NAME

gc$notif_target.host_name

MERTIC_NAME

Use fixed value "Response".

METRIC_DESCRIPTION

NULL

METRIC_COLUMN

Use fixed value "Status".

METRIC_VALUE

gc$notif_event_attr.value where its
name='target_status' in gc$notif_event_attr_array.

KEY_VALUE

NULL

KEY_VALUE_NAME

NULL

KEY_VALUE_GUID

NULL

CTXT_LIST

gc$notif_event_context_array

COLLECTION_TIMESTAMP

gc$notif_event_payload. reported_date

SEVERITY_CODE

gc$notif_event_attr.value where its name='
avail_severity' in gc$notif_event_attr_array.

MESSAGE

gc$notif_msg_info.message

SEVERITY_GUID

gc$notif_event_attr.value where its name='
severity_guid' in gc$notif_event_attr_array.

METRIC_GUID

gc$notif_event_attr.value where its name='
metric_guid_id' in gc$notif_event_attr_array.

TARGET_GUID

gc$notif_target.target_guid

RULE_OWNER

gc$notif_msg_info.rule_owner

RULE_NAME

gc$notif_msg_info.ruleset_name

3.4.2.2 Mapping for MGMT_NOTIFY_JOB
Use the following map when gc$notif_event_payload .event_type=job_status_change'.

3-34

Chapter 3

Sending Notifications Using PL/SQL Procedures

Table 3-11

Job Status Change Mapping

MGMT_NOTIFY_JOB

13c Notification Payload

JOB_NAME

gc$notif_source.source_name

JOB_OWNER

gc$notif_source.source_owner

JOB_TYPE

gc$notif_source.source_sub_type

JOB_STATUS

gc$notif_event_attr.value where its name='
execution_status_code' in
gc$notif_event_attr_array.

STATE_CHANGE_GUID

gc$notif_event_attr.value where its name='
state_change_guid' in gc$notif_event_attr_array.

JOB_GUID

gc$notif_source.source_guid

EXECUTION_ID

gc$notif_event_attr.value where its name='
execution_id' in gc$notif_event_attr_array.

TARGETS

gc$notif_target.target_name,
gc$notif_target.target_type

RULE_OWNER

gc$notif_msg_info.rule_owner

RULE_NAME

gc$notif_msg_info.ruleset_name

OCCURRED_DATE

gc$notif_event_payload. reported_date

3.4.2.3 Mapping for MGMT_NOTIFY_CORRECTIVE_ACTION
Note that corrective action related payload is populated when
gc$notif_msg_info.notification_type is set to NOTIF_CA.
For mapping the following attributes, use the mapping information provided for
MGMT_NOTIFY_SEVERITY object Table 3-8
MERTIC_NAME
METRIC_COLUMN
METRIC_VALUE
KEY_VALUE
KEY_VALUE_NAME
KEY_VALUE_GUID
CTXT_LIST
RULE_OWNER
RULE_NAME
OCCURRED_DATE
For mapping the job related attributes in MGMT_NOTIFY_CORRECTIVE_ACTION
object, use the following map.

3-35

Chapter 3

Sending SNMP Traps to Third Party Systems

Table 3-12

Corrective Action Mapping

MGMT_NOTIFY_CORRECTIVE_ACTION

13c Notification Payload

JOB_NAME

gc$ notif_corrective_action_job.job_name

JOB_OWNER

gc$ notif_corrective_action_job.job_owner

JOB_TYPE

gc$ notif_corrective_action_job.job_type

JOB_STATUS

gc$ notif_corrective_action_job.status_code

STATE_CHANGE_GUID

gc$ notif_corrective_action_job.
job_state_change_guid

JOB_GUID

gc$ notif_corrective_action_job. job _guid

EXECUTION_ID

gc$ notif_corrective_action_job.
job_execution_guid

OCCURRED_DATE

gc$ notif_corrective_action_job.occurred_date

TARGETS

There can be at most one target. Use the values
from gc$notif_target.target_name,
gc$notif_target.target_type for the associated
target.

3.5 Sending SNMP Traps to Third Party Systems
Enterprise Manager supports integration with third-party management tools through
the Simple Network Management Protocol (SNMP). For example, you can use SNMP
to notify a third-party application that a selected metric has exceeded its threshold.

Note:
In order for a third-party system to interpret traps sent by the OMS, the
omstrap.v1 file must first be loaded into the third-party SNMP console. For
more information about this file and its location, see "MIB Definition".
The Enterprise Manager 13c version of the MIB file incorporates the 10g and
11g MIB content, thus ensuring backward compatibility with earlier Enterprise
Manager releases.

Enterprise Manager supports both SNMP Version 1 and Version 3 traps. The traps are
described by the MIB definition shown in Enterprise Manager MIB Definition. See
"Management Information Base (MIB)" for an explanation of how the MIB works. If you
are using Enterprise Manager 13c, see Interpreting Variables of the Enterprise
Manager MIB and Enterprise Manager MIB Definition. If you are upgrading from a
pre-12c version of Enterprise Manager, see SNMP Trap Mappings for specific version
mappings.
For Enterprise Manager 13c, SNMP traps are delivered for event notifications only.
SNMP trap notifications are not supported for incidents or problems.

3-36

Chapter 3

Sending SNMP Traps to Third Party Systems

Note:
Notification methods based on SNMP traps must be configured by an
administrator with Super Administrator privileges before any user can then
choose to select one or more of these SNMP trap methods while creating/
editing a incident rule.

3.5.1 SNMP Version 1 Versus SNMP Version 3
SNMP Version 3 shares the same basic architecture of Version 1, but adds numerous
enhancements to SNMP administration and security. The primary enhancement
relevant to Enterprise Manager involves additional security levels that provide both
authentication and privacy as well as authorization and access control.
User-based Security Model (USM)
USM defines the security-related procedures followed by an SNMP engine when
processing SNMP messages. Enterprise Manager SNMP V3 support takes advantage
of this added SNMP message-level security enhancement to provide a secure
messaging environment.
USM protects against two primary security threats:
•

Modification of information: The modification threat is the danger that some
unauthorized entity may alter in-transit SNMP messages generated on behalf of
an authorized principal in such a way as to effect unauthorized management
operations, including falsifying the value of an object.

•

Masquerade: The masquerade threat is the danger that management operations
not authorized for some user may be attempted by assuming the identity of
another user that has the appropriate authorizations.

For both SNMP versions, the basic methodology for setting up Enterprise Manager
advanced notifications using SNMP traps remains the same:
1.

Define the notification method based on an SNMP trap.

2.

Assign the notification method to an incident rule.

3.5.2 Working with SNMP V3 Trap Notification Methods
The procedure for defining an SNMP V3 trap notification method differs slightly from
that of V1. Beginning with Enterprise Manager Release 12.1.0.4, a separate interface
consolidates key information and configuration functionality pertaining to SNMP V3
trap notification methods. The SNMP V3 Trap interface helps guide you through the
process of creating SNMP notification methods, enabling the OMS to send SNMP
traps, and defining user security settings for SNMP trap notifications.

3.5.2.1 Configuring the OMS to Send SNMP Trap Notifications
Before creating an SNMP Trap notification method, you must enable at least one OMS
is your environment to handle SNMP Trap notifications. For SNMP V3, the OMS
serves as an SNMP Agent which sends traps to the SNMP Manager that is monitoring
all SNMP Agents deployed in the network.

3-37

Chapter 3

Sending SNMP Traps to Third Party Systems

1.

From the Setup menu, select Notifications and then SNMP V3 Traps. The
Getting Started page displays. This page documents the high-level workflow for
configuring Enterprise Manager to send traps to third-party SNMP Managers.

2.

Click the Configuration tab. The Configuration page displays.

3.

In the OMS Configuration region, select the OMS you wish to enable.

4.

Check the following for each OMS and make changes, if necessary:

5.

•

OMS requires a port for SNMPv3 traps. Check if the default port can be used
by OMS.

•

OMS requires a unique Engine ID for sending traps. By default, it is being
generated from the host name and port.

Click Enable.

3.5.2.2 Creating/Editing an SNMP V3 Trap Notification Method
Once an OMS has been enabled to send SNMP traps notifications, the next step is to
create a notification method than can be used by an incident rule.
1.

From the Setup menu, select Notifications and then SNMP V3 Traps. The
Getting Started page displays.

Note:
If want to edit an existing Notification Method, select the desired method from
the Notification Methods region and click Edit.
2.

Click the Configuration tab. The Configuration page displays.

3.

From the Notification Methods region, click Create. The SNMPv3 Traps: Create
Notification Method page displays.

4.

Enter the requisite Notification Method definition parameters. Note: You can
enable Repeat Notifications at this point.

5.

If you choose to create a new User Security Model entry, from the User Security
Model region, ensure the Create New option is chosen.
a.

Specify a Username that uniquely identifies the credential. SNMP V3 allows
multiple usernames to be set in an SNMP Agent as well as SNMP Manager
applications.

b.

Select a Security Level from the drop-down menu. Available parameters
become available depending on the security level. There are three levels from
which to choose:

3-38

Chapter 3

Sending SNMP Traps to Third Party Systems

AuthPriv (Authentication + Privacy:) The sender's identity must be confirmed
by the receiver (authentication). SNMP V3 messages are encrypted by the
sender and must be decrypted by the receiver (privacy).
AuthNoPriv (Authentication only): The receiver must authenticate the
sender's identity before accepting the message.
NoAuthNoPriv (no security): Neither sender identity confirmation nor
message encryption is used.
c.

For AuthPriv and AuthNoPriv security levels, choose a the desired
Authentication Protocol. Two authentication protocols are available:
Secure Hash Algorithm (SHA)
Message Digest algorithm (MD5)
The authentication protocols are used to build the message digest when the
message is authenticated.
Privacy Protocol (used for the AuthPriv security level) is used to encrypt/
decrypt messages. USM uses the Data Encryption Standard (DES). The
Privacy Password is used in conjunction with the Privacy Protocol. the
privacy password on both the SNMP Agent and SNMP Manager must match
in order for encryption/decryption to succeed.

If you have already have predefined User Security Model entries, choose the Use
Existing option and select one of the USM entries from the drop-down menu.
USM entries are listed by username.

Note:
Ensure that the USM credentials are identical in OMS and the external trap
receiver. If they do not match, Enterprise Manager will still send the SNMP
trap, but the trap will not be received. If the USM credentials are invalid,
Enterprise Manager will still send the SNMP trap, however, the trap will not be
received as the incorrect credentials will result in an authentication error at the
SNMP receiver. This type of authentication error will not be apparent from the
Enterprise Manager console.
6.

Once you have entered the requisite Notification Method and USM parameters,
click Save. The newly created notification method appears in the Notification
Method region of the Configuration page.

Note:
Once you have defined the SNMP V3 Trap notification method, you must add
it to a rule. See "Creating a Rule to Send SNMP Traps to Third Party Systems"
for instructions.

3.5.2.3 Editing a User Security Model Entry
You can add USM entries at any time.
1.

From the Setup menu, select Notifications, and then SNMP V3 Traps.

3-39

Chapter 3

Sending SNMP Traps to Third Party Systems

2.

Click on the Configurations tab.

3.

From the User Security Model Entries region, click Create. The User Security
Model Entries dialog displays.

4.

Specify a Username that uniquely identifies the credential. SNMP V3 allows
multiple usernames to be set in an SNMP Agent as well as SNMP Manager
applications.

5.

Select a Security Level from the drop-down menu. Available parameters become
available depending on the security level. There are three levels from which to
choose:
AuthPriv (Authentication + Privacy:) The sender's identity must be confirmed by
the receiver (authentication). SNMP V3 messages are encrypted by the sender
and must be decrypted by the receiver (privacy).
AuthNoPriv (Authentication only): The receiver must authenticate the sender's
identity before accepting the message.
NoAuthNoPriv (no security): Neither sender identity confirmation nor message
encryption is used.

6.

For AuthPriv and AuthNoPriv security levels, choose a the desired Authentication
Protocol. Two authentication protocols are available:
Secure Hash Algorithm (SHA)
Message Digest algorithm (MD5)
The authentication protocols are used to build the message digest when the
message is authenticated.
Privacy Protocol (used for the AuthPriv security level) is used to encrypt/decrypt
messages. USM uses the Data Encryption Standard (DES). The Privacy
Password is used in conjunction with the Privacy Protocol. the privacy password
on both the SNMP Agent and SNMP Manager must match in order for encryption/
decryption to succeed.

3-40

Chapter 3

Sending SNMP Traps to Third Party Systems

7.

Click OK.
The new USM username will appear in the User Security Model Entries table.
When creating new SNMP V3 Trap notification methods, the USM username will
appear as a selectable option from the Existing Entries drop-down menu.
After editing the USM, you should verify the change via the notification methods
that use it.

3.5.2.4 Viewing Available SNMP V3 Trap Notification Methods
To view available SNMP V3 Trap notification methods:
1.

From the Setup menu, select Notifications, and then SNMP V3 Traps.

2.

Click on the Configurations tab.

3.

The Notification Methods region displays existing SNMP V3 Trap notification
methods.

3.5.2.5 Deleting an SNMP V3 Trap Notification Method
To delete available SNMP V3 Trap notification methods:
1.

From the Setup menu, select Notifications, and then SNMP V3 Traps.

2.

Click on the Configurations tab.

3.

From the Notification Methods region, select an existing SNMP V3 Trap
notification method.

4.

Click Delete.

3.5.3 Creating an SNMP V1 Trap
Step 1: Define a new notification method based on an SNMP trap.
Log in to Enterprise Manager as a Super Administrator. From the Setup menu, select
Notifications and then select Scripts and SNMPv1 Traps.
You must provide the name of the host (machine) on which the SNMP master agent is
running and other details as shown in the following example. As shown in, the SNMP
host will receive your SNMP traps.
Figure 3-2

SNMP Trap Required Information

3-41

Chapter 3

Sending SNMP Traps to Third Party Systems

Note:
A Test SNMP Trap button exists for you to test your setup.

Metric severity information will be passed as a series of variables in the SNMP trap.
Step 2: Assign the notification method to a rule.
You can edit an existing rule (or create a new incident rule), then add an action to the
rule that subscribes to the advanced notification method. For instructions on setting up
incident rules using SNMP traps, see "Creating a Rule to Send SNMP Traps to Third
Party Systems".
Example SNMP Trap Implementation
In this scenario, you want to identify the unique issues from the SNMP traps that are
sent. Keep in mind that all events that are related to the same issue are part of the
same event sequence. Each event sequence has a unique identification number.
An event sequence is a sequence of related events that represent the life of a specific
issue from the time it is detected and an event is raised to the time it is fixed and a
corresponding clear event is generated. For example, a warning metric alert event is
raised when the CPU utilization of a host crosses 80%. This starts the event sequence
representing the issue CPU Utilization of the host is beyond normal level. Another
critical event is raised for the same issue when the CPU utilization goes above 90%
and the event is added to the same event sequence. After a period of time, the CPU
utilization returns to a normal level and a clear event is raised. At this point, the issue
is resolved and the event sequence is closed.
The SNMP trap sent for this scenario is shown in Example 3-15. Each piece of
information is sent as a variable embedded in the SNMP Trap.
This following example illustrates how OIDs are used during the lifecycle of an event.
Here, for one event (while the event is open), the event sequence OID remains the
same even though the event severity changes.
The OID for the event sequence is:
1.3.6.1.4.1.111.15.3.1.1.42.1: C77AE9E578F00773E040F00A6D242F90

The OID for the event severity code is:
1.3.6.1.4.1.111.15.3.1.1.6.1: CRITICAL

When the event clears, these OIDs show the same event sequence with a different
severity code:
The OID for the event sequence is:
1.3.6.1.4.1.111.15.3.1.1.42.1: C77AE9E578F00773E040F00A6D242F90

The OID for the event severity code is:
1.3.6.1.4.1.111.15.3.1.1.6.1: CLEAR

The length of the SNMP OID value is limited to 2560 bytes by default. Configure the
emoms property oracle.sysman.core.notification.snmp.max_oid_length to change the
default limit.

3-42

Chapter 3

Sending SNMP Traps to Third Party Systems

Example 3-15

SNMP Trap

**************V1 TRAP***[1]*****************
Community : public
Enterprise :1.3.6.1.4.1.111.15.2
Generic :6
Specific :3
TimeStamp :67809
Agent adress :10.240.36.109
1.3.6.1.4.1.111.15.3.1.1.2.1: NOTIF_NORMAL
1.3.6.1.4.1.111.15.3.1.1.3.1: CPU Utilization is 92.658%, crossed warning (80) or
critical (90) threshold.
1.3.6.1.4.1.111.15.3.1.1.4.1: https://sampleserver.oracle.com:5416/em/redirect?
pageType=sdk-core-event-console-detailEvent&issueID=C77AE9E578F00773E040F00A6D242F90
1.3.6.1.4.1.111.15.3.1.1.5.1: Critical
1.3.6.1.4.1.111.15.3.1.1.6.1: CRITICAL
1.3.6.1.4.1.111.15.3.1.1.7.1: 0
1.3.6.1.4.1.111.15.3.1.1.8.1:
1.3.6.1.4.1.111.15.3.1.1.9.1:
1.3.6.1.4.1.111.15.3.1.1.10.1: Aug 17, 2012 3:26:36 PM PDT
1.3.6.1.4.1.111.15.3.1.1.11.1: Capacity
1.3.6.1.4.1.111.15.3.1.1.12.1: Capacity
1.3.6.1.4.1.111.15.3.1.1.13.1: Metric Alert
1.3.6.1.4.1.111.15.3.1.1.14.1: Load:cpuUtil
1.3.6.1.4.1.111.15.3.1.1.15.1: 281
1.3.6.1.4.1.111.15.3.1.1.16.1:
1.3.6.1.4.1.111.15.3.1.1.17.1: No
1.3.6.1.4.1.111.15.3.1.1.18.1: New
1.3.6.1.4.1.111.15.3.1.1.19.1: None
1.3.6.1.4.1.111.15.3.1.1.20.1: 0
1.3.6.1.4.1.111.15.3.1.1.21.1: sampleserver.oracle.com
1.3.6.1.4.1.111.15.3.1.1.22.1: https://sampleserver.oracle.com:5416/em/redirect?
pageType=TARGET_HOMEPAGE&targetName=sampleserver.oracle.com&targetType=host
1.3.6.1.4.1.111.15.3.1.1.23.1: Host
1.3.6.1.4.1.111.15.3.1.1.24.1: sampleserver.oracle.com
1.3.6.1.4.1.111.15.3.1.1.25.1: SYSMAN
1.3.6.1.4.1.111.15.3.1.1.26.1:
1.3.6.1.4.1.111.15.3.1.1.27.1: 5.8.0.0.0
1.3.6.1.4.1.111.15.3.1.1.28.1: Operating System=Linux, Platform=x86_64,
1.3.6.1.4.1.111.15.3.1.1.29.1:
1.3.6.1.4.1.111.15.3.1.1.30.1:
1.3.6.1.4.1.111.15.3.1.1.31.1:
1.3.6.1.4.1.111.15.3.1.1.32.1:
1.3.6.1.4.1.111.15.3.1.1.33.1:
1.3.6.1.4.1.111.15.3.1.1.34.1:
1.3.6.1.4.1.111.15.3.1.1.35.1:
1.3.6.1.4.1.111.15.3.1.1.36.1:
1.3.6.1.4.1.111.15.3.1.1.37.1:
1.3.6.1.4.1.111.15.3.1.1.38.1:
1.3.6.1.4.1.111.15.3.1.1.39.1: SnmpNotifRuleset
1.3.6.1.4.1.111.15.3.1.1.40.1: SnmpNotifRuleset,SnmpNotifEvent
1.3.6.1.4.1.111.15.3.1.1.41.1: SYSMAN
1.3.6.1.4.1.111.15.3.1.1.42.1: C77AE9E578F00773E040F00A6D242F90
1.3.6.1.4.1.111.15.3.1.1.43.1:
1.3.6.1.4.1.111.15.3.1.1.44.1:
1.3.6.1.4.1.111.15.3.1.1.45.1:
1.3.6.1.4.1.111.15.3.1.1.46.1: CPU Utilization is 92.658%, crossed warning (80) or
critical (90) threshold., Incident created by rule (Name = Incident management
Ruleset for all targets, Incident creation Rule for metric alerts.; Owner =
).
1.3.6.1.4.1.111.15.3.1.1.61.1: Metric GUID=0C71A1AFAC2D7199013837DA35522C08

3-43

Chapter 3

Sending SNMP Traps to Third Party Systems

1.3.6.1.4.1.111.15.3.1.1.62.1: Severity GUID=C77AE9E578EC0773E040F00A6D242F90
1.3.6.1.4.1.111.15.3.1.1.63.1: Cycle GUID=C77AE9E578EC0773E040F00A6D242F90
1.3.6.1.4.1.111.15.3.1.1.64.1: Collection Name=LoadLinux
1.3.6.1.4.1.111.15.3.1.1.65.1: Metric Group=Load
1.3.6.1.4.1.111.15.3.1.1.66.1: Metric=CPU Utilization (%)
1.3.6.1.4.1.111.15.3.1.1.67.1: Metric Description=
1.3.6.1.4.1.111.15.3.1.1.68.1: Metric value=92.658
1.3.6.1.4.1.111.15.3.1.1.69.1: Key Value=
1.3.6.1.4.1.111.15.3.1.1.70.1:
1.3.6.1.4.1.111.15.3.1.1.71.1:
1.3.6.1.4.1.111.15.3.1.1.72.1:
1.3.6.1.4.1.111.15.3.1.1.73.1:
1.3.6.1.4.1.111.15.3.1.1.74.1:
1.3.6.1.4.1.111.15.3.1.1.75.1:
1.3.6.1.4.1.111.15.3.1.1.76.1:
1.3.6.1.4.1.111.15.3.1.1.77.1:
1.3.6.1.4.1.111.15.3.1.1.78.1:
1.3.6.1.4.1.111.15.3.1.1.79.1:
1.3.6.1.4.1.111.15.3.1.1.80.1:
1.3.6.1.4.1.111.15.3.1.1.81.1:
1.3.6.1.4.1.111.15.3.1.1.82.1:
1.3.6.1.4.1.111.15.3.1.1.83.1:
1.3.6.1.4.1.111.15.3.1.1.84.1: Number of keys=0
1.3.6.1.4.1.111.15.3.1.1.85.1:
**************END V1 TRAP******************

3.5.4 SNMP Traps: Moving from Previous Enterprise Manager
Releases to 12c and Greater
Note:
When you upgrade from a pre-Enterprise Manager 12c release to 12c and
greater, SNMP advanced notification methods defined using previous versions
of Enterprise Manager (pre-12c) will continue to function without modification.

For Enterprise Manager 11g and earlier, there were two types of SNMP traps:
•

Alerts

•

Job Status

Beginning with Enterprise Manager 12c there is now a single, comprehensive SNMP
trap type that covers all available event types such as metric alerts, target availability,
compliance standard violations, or job status changes. For more information about
pre-12c to 12c SNMP trap mappings, see SNMP Trap Mappings . Traps will conform
to the older Enterprise Manager MIB definition. Hence, pre-Enterprise Manager 12c
traps will continue to be sent. See SNMP Trap Mappings for more information.
Also, for Enterprise Manager 12c, size of SNMP trap has increased in order to
accommodate all event types and provide more comprehensive information. By
default, the maximum SNMP packet size is 5120 bytes. If the third party system has a
limit in the size of SNMP trap it can receive, you can change the default size of SNMP
trap that Enterprise Manager sends. To change the default packet size, set this
emoms oracle.sysman.core.notification.snmp_packet_length parameter, and then
bounce the OMS.

3-44

Chapter 3

Management Information Base (MIB)

Note:
When limiting the SNMP trap packet size, Oracle recommends not setting the
oracle.sysman.core.notification.snmp_packet_length parameter any lower
than 3072 bytes (3K).

The Enterprise Manager 12c MIB includes all pre-Enterprise Manager 12c MIB
definitions. Hence, if you have an Enterprise Manager 12c MIB in your third party
system, you can receive SNMP traps from both pre-Enterprise Manager 12c as well as
Enterprise Manager 12c sites. For detailed information on version mapping, see
SNMP Trap Mappings .

3.6 Management Information Base (MIB)
Enterprise Manager Cloud Control can send SNMP Traps to third-party, SNMPenabled applications. Details of the trap contents can be obtained from the
management information base (MIB) variables. The following sections discuss
Enterprise Manager MIB variables in detail.

3.6.1 About MIBs
A MIB is a text file, written in ASN.1 notation, which describes the variables containing
the information that SNMP can access. The variables described in a MIB, which are
also called MIB objects, are the items that can be monitored using SNMP. There is
one MIB for each element being monitored. Each monolithic or subagent consults its
respective MIB in order to learn the variables it can retrieve and their characteristics.
The encapsulation of this information in the MIB is what enables master agents to
register new subagents dynamically — everything the master agent needs to know
about the subagent is contained in its MIB. The management framework and
management applications also consult these MIBs for the same purpose. MIBs can be
either standard (also called public) or proprietary (also called private or vendor).
The actual values of the variables are not part of the MIB, but are retrieved through a
platform-dependent process called "instrumentation". The concept of the MIB is very
important because all SNMP communications refer to one or more MIB objects. What
is transmitted to the framework is, essentially, MIB variables and their current values.

3.6.2 MIB Definition
You can find the SNMP MIB file at the following location:
OMS_HOME/network/doc/omstrap.v1

Note:
The omstrap.v1 file is compatible with both SNMP V1 and SNMP V3.

The file omstrap.v1 is the OMS MIB.

3-45

Chapter 3

Management Information Base (MIB)

For more information, see Interpreting Variables of the Enterprise Manager MIB.
A hardcopy version of omstrap.v1 can be found in Enterprise Manager MIB Definition.
The length of the SNMP OID value is limited to 2560 bytes by default. Configure
emoms property oracle.sysman.core.notification.snmp.max_oid_length to change the
default limit.
For Enterprise Manager 12c, SNMP traps are delivered for event notifications only.
SNMP trap notifications are not supported for incidents or problems.

Note:
SNMP advanced notification methods defined using previous versions of
Enterprise Manager (pre-12c) will continue to function without modification.
Traps will conform to the older Enterprise Manager MIB definition.

3.6.3 Reading the MIB Variable Descriptions
This section covers the format used to describe MIB variables. Note that the STATUS
element of SNMP MIB definition, Version 1, is not included in these MIB variable
descriptions. Since Oracle has implemented all MIB variables as CURRENT, this
value does not vary.

3.6.3.1 Variable Name
Syntax
Maps to the SYNTAX element of SNMP MIB definition, Version 1.
Max-Access
Maps to the MAX-ACCESS element of SNMP MIB definition, Version 1.
Status
Maps to the STATUS element of SNMP MIB definition, Version 1.
Explanation
Describes the function, use and precise derivation of the variable. (For example, a
variable might be derived from a particular configuration file parameter or
performance table field.) When appropriate, incorporates the DESCRIPTION part of
the MIB definition, Version 1.
Typical Range
Describes the typical, rather than theoretical, range of the variable. For example,
while integer values for many MIB variables can theoretically range up to
4294967295, a typical range in an actual installation will vary to a lesser extent. On
the other hand, some variable values for a large database can actually exceed this
"theoretical" limit (a "wraparound"). Specifying that a variable value typically ranges
from 0 to 1,000 or 1,000 to 3 billion will help the third-party developer to develop the
most useful graphical display for the variable.

3-46

Chapter 3

Passing Corrective Action Status Change Information

Significance
Describes the significance of the variable when monitoring a typical installation.
Alternative ratings are Very Important, Important, Less Important, or Not Normally
Used. Clearly, the DBA will want to monitor some variables more closely than others.
However, which variables fall into this category can vary from installation to
installation, depending on the application, the size of the database, and on the DBA's
objectives. Nevertheless, assessing a variable's significance relative to the other
variables in the MIB can help third-party developers focus their efforts on those
variables of most interest to the most DBAs.
Related Variables
Lists other variables in this MIB, or other MIBs implemented by Oracle, that relate in
some way to this variable. For example, the value of this variable might derive from
that of another MIB variable. Or perhaps the value of this variable varies inversely to
that of another variable. Knowing this information, third-party developers can develop
useful graphic displays of related MIB variables.
Suggested Presentation
Suggests how this variable can be presented most usefully to the DBA using the
management application: as a simple value, as a gauge, or as an alarm, for example.

3.7 Passing Corrective Action Status Change Information
Passing corrective action status change attributes (such as new status, job name, job
type, or rule owner) to PL/SQL procedures or OS commands/scripts allows you to
customize automated responses to status changes. For example, you many want to
call an OS script to open a trouble ticket for an in-house support trouble ticket system
if a critical corrective action fails to run. In this case, you will want to pass status (for
example, Problems or Aborted) to the script to open a trouble ticket and escalate the
problem.

3.7.1 Passing Corrective Action Execution Status to an OS Command
or Script
The notification system passes information to an OS script or executable via system
environment variables. Conventions used to access environmental variables vary
depending on the operating system:
•

UNIX: $ENV_VARIABLE

•

MS Windows: %ENV_VARIABLE%

The notification system sets the following environment variables before calling the
script. The notification system will set the environment variable $NOTIF_TYPE =
NOTIF_CA for Corrective Action Execution. The script can then use any or all of these
variables within the logic of the script.
Following table lists the environment variables for corrective action, they are populated
when a corrective action is completed for an event.
Table 3-13

Corrective Action Environment Variables

Environment Variable

Description

CA_JOB_STATUS

Corrective action job execution status.

3-47

Chapter 3

Passing Corrective Action Status Change Information

Table 3-13

(Cont.) Corrective Action Environment Variables

Environment Variable

Description

CA_JOB_NAME

Name of the corrective action.

CA_JOB_OWNER

Owner of corrective action.

CA_JOB_STEP_OUTPUT The value will be the text output from the corrective action
execution.
CA_JOB_TYPE

Corrective action job type

3.7.2 Passing Corrective Action Execution Status to a PLSQL
Procedure
The notification system passes corrective action status change information to PL/SQL
procedure - PROCEDURE p(event_msg IN gc$notif_event_msg). The instance
gc$notif_corrective_action_job object is defined in event_msg.event_payload.
corrective_action if event_msg. msg_info. notification_type is equal to
GC$NOTIFICATIONNOTIF_CA. When a corrective action executes, the notification
system calls the PL/SQL procedure associated with the incident rule and passes the
populated object to the procedure. The procedure is then able to access the fields of
the object that has been passed to it. See Table 3-44 for details.
The following status codes are possible values for the job_status field of the
MGMT_NOTIFY_CORRECTIVE_ACTION object.
Table 3-14

Corrective Action Status Codes

Name

Datatype

Value

SCHEDULED_STATUS

NUMBER(2)

1

EXECUTING_STATUS

NUMBER(2)

2

ABORTED_STATUS

NUMBER(2)

3

FAILED_STATUS

NUMBER(2)

4

COMPLETED_STATUS

NUMBER(2)

5

SUSPENDED_STATUS

NUMBER(2)

6

AGENTDOWN_STATUS

NUMBER(2)

7

STOPPED_STATUS

NUMBER(2)

8

SUSPENDED_LOCK_STATUS

NUMBER(2)

9

SUSPENDED_EVENT_STATUS

NUMBER(2)

10

SUSPENDED_BLACKOUT_STATUS

NUMBER(2)

11

STOP_PENDING_STATUS

NUMBER(2)

12

SUSPEND_PENDING_STATUS

NUMBER(2)

13

INACTIVE_STATUS

NUMBER(2)

14

QUEUED_STATUS

NUMBER(2)

15

FAILED_RETRIED_STATUS

NUMBER(2)

16

WAITING_STATUS

NUMBER(2)

17

3-48

Chapter 3

Passing Job Execution Status Information

Table 3-14

(Cont.) Corrective Action Status Codes

Name

Datatype

Value

SKIPPED_STATUS

NUMBER(2)

18

REASSIGNED_STATUS

NUMBER(2)

20

3.8 Passing Job Execution Status Information
Passing job status change attributes (such as new status, job name, job type, or rule
owner) to PL/SQL procedures or OS commands/scripts allows you to customize
automated responses to status changes. For example, you many want to call an OS
script to open a trouble ticket for an in-house support trouble ticket system if a critical
job fails to run. In this case you will want to pass status (for example, Problems or
Aborted) to the script to open a trouble ticket and escalate the problem. The job
execution status information is one of event type - job_status_change event, and its
content is in OS command and PL/SQL payload as described in Sending Notifications
Using OS Commands and Scripts and Sending Notifications Using PL/SQL
Procedures.

3.8.1 Passing Job Execution Status to a PL/SQL Procedure
The notification system passes job status change information to a PL/SQL procedure
via the event_msg.event_payload object where event_type is equal to
job_status_change. An instance of this object is created for every status change.
When a job changes status, the notification system calls the PL/SQL p(event_msg IN
gc$notif_event_msg) procedure associated with the incident rule and passes the
populated object to the procedure. The procedure is then able to access the fields of
the event_msg.event_payload object that has been passed to it.
Table 3-15 lists all corrective action status change attributes that can be passed:
Table 3-15
Attribute

Job Status Attributes
Datatype

Additional Information

event_msg.event_paylo VARCHAR2(128)
ad.source.source_name

The job name.

event_msg.event_paylo VARCHAR2(256)
ad.source.source_owner

The owner of the job.

event_msg.event_paylo VARCHAR2(32)
ad.source.source_sub_t
ype

The type of the job.

event_msg.event_paylo NUMBER
ad. event_attrs(i).value
where
event_attrs(i).name='
execution_status'

The new status of the job.

3-49

Chapter 3

Passing Job Execution Status Information

Table 3-15

(Cont.) Job Status Attributes

Attribute

Datatype

Additional Information

event_msg.event_paylo RAW(16)
ad. event_attrs(i).value
where
event_attrs(i).name='sta
te_change_guid'

The GUID of the state change record.

event_msg.event_paylo RAW(16)
ad.source.source_guid

The unique id of the job.

event_msg
target.event_payload.
event_attrs(i).value
where
event_attrs(i).name='
execution_id'

The unique id of the execution.

RAW(16)

event_msg.event_paylo gc$notif_target
ad.target

Target Information object..

event_msg.msg_info.rul VARCHAR2(64)
e_owner

The name of the notification rule that cause
the notification to be sent.

event_msg.msg_info.rul VARCHAR2(132)
e_name

The owner of the notification rule that cause
the notification to be sent.

event_msg.event_paylo DATE
ad. reported_date

The time and date when the status change
happened.

When a job status change occurs for the job, the notification system creates an
instance of the event_msg.event_payload. event_attrs(i).value where
event_attrs(i).name=' execution_status' object and populates it with values from the
status change. The following status codes have been defined as constants in the
MGMT_JOBS package and can be used to determine the type of status in the
job_status field of the event_msg.event_payload. event_attrs(i).value where
event_attrs(i).name=' execution_status' object.
Table 3-16

Job Status Codes

Name

Datatype

Value

SCHEDULED_STATUS

NUMBER(2)

1

EXECUTING_STATUS

NUMBER(2)

2

ABORTED_STATUS

NUMBER(2)

3

FAILED_STATUS

NUMBER(2)

4

COMPLETED_STATUS

NUMBER(2)

5

SUSPENDED_STATUS

NUMBER(2)

6

AGENTDOWN_STATUS

NUMBER(2)

7

STOPPED_STATUS

NUMBER(2)

8

SUSPENDED_LOCK_STATUS

NUMBER(2)

9

SUSPENDED_EVENT_STATUS

NUMBER(2)

10

SUSPENDED_BLACKOUT_STATUS

NUMBER(2)

11

STOP_PENDING_STATUS

NUMBER(2)

12

3-50

Chapter 3

Passing Job Execution Status Information

Table 3-16

(Cont.) Job Status Codes

Name

Datatype

Value

SUSPEND_PENDING_STATUS

NUMBER(2)

13

INACTIVE_STATUS

NUMBER(2)

14

QUEUED_STATUS

NUMBER(2)

15

FAILED_RETRIED_STATUS

NUMBER(2)

16

WAITING_STATUS

NUMBER(2)

17

SKIPPED_STATUS

NUMBER(2)

18

REASSIGNED_STATUS

NUMBER(2)

20

Example 3-16

PL/SQL Procedure Using a Status Code (Job)

CREATE TABLE job_log (jobid RAW(16), status_code NUMBER(2), occured DATE);
CREATE OR REPLACE PROCEDURE LOG_JOB_STATUS_CHANGE(event_msg IN GC$NOTIF_EVENT_MSG)
IS
l_attrs gc$notif_event_attr_array;
exec_status_code NUMBER(2) := NULL;
occured_date DATE := NULL;
job_guid RAW(16) := NULL;
BEGIN
IF event_msg.event_payload.event_type = 'job_status_change'
THEN
l_attrs := event_msg.event_payload.event_attrs;
IF l_attrs IS NOT NULL
THEN
FOR i IN 1..l_attrs.COUNT
LOOP
IF l_attrs(i).name = 'exec_status_code'
THEN
exec_status_code := TO_NUMBER(l_attrs(i).value);
END IF;
END LOOP;
END IF;
occured_date := event_msg.event_payload.reported_date;
job_guid := event_msg.event_payload.source.source_guid;
-- Log all jobs' status
BEGIN
INSERT INTO job_log (jobid, status_code, occured)
VALUES (job_guid, exec_status_code, occured_date);
EXCEPTION
WHEN OTHERS
THEN
-- If there are any problems then get the notification retried
RAISE_APPLICATION_ERROR(-20000, 'Please retry');
END;
COMMIT;
ELSE
null; -- it is not a job_status_change event, ignore
END IF;
END LOG_JOB_STATUS_CHANGE;
/

3-51

Chapter 3

Passing User-Defined Target Properties to Notification Methods

3.8.2 Passing Job Execution Status to an OS Command or Script
The notification system passes job execution status information to an OS script or
executable via system environment variables. Conventions used to access
environmental variables vary depending on the operating system:
•

UNIX: $ENV_VARIABLE

•

MS Windows: %ENV_VARIABLE%

The notification system sets the following environment variables before calling the
script. The script can then use any or all of these variables within the logic of the script.
Table 3-17

Environment Variables

Environment Variable

Description

SOURCE_OBJ_NAME

The name of the job.

SOURCE_OBJ_OWNE

The owner of the job.

SOURCE_OBJ_SUB_TYP The type of job.
E
EXEC_STATUS_CODE

The job status.

EVENT_REPORTED_TIM Time when the severity occurred.
E
TARGET_NAME

The name of the target.

TARGET_TYPE

The type of the target.

RULE_NAME

Name of the notification rule that resulted in the severity.

RULE_OWNER

Name of the Enterprise Manager administrator who owns the
notification rule.

3.9 Passing User-Defined Target Properties to Notification
Methods
Enterprise Manager allows you to define target properties (accessed from the target
home page) that can be used to store environmental or usage context information
specific to that target. Target property values are passed to custom notification
methods where they can be processed using conditional logic or simply passed as
additional alert information to third-party devices, such as ticketing systems. By
default, Enterprise Manager passes all defined target properties to notification
methods.

Note:
Target properties are not passed to notification methods when short email
format is used.

3-52

Chapter 3

Notification Reference

Figure 3-3

Host Target Properties

3.10 Notification Reference
This section contains the following reference material:
•

EMOMS Properties

•

Passing Event, Incident, Problem Information to an OS Command or Script

•

Passing Information to a PL/SQL Procedure

•
•

Troubleshooting Notifications

3.10.1 EMOMS Properties
EMOMS properties can be used for controlling the size and format of the short email.
The following table lists emoms properties for Notification System.
Table 3-18

emoms Properties for Notifications

Property Name

Default Description
Value

oracle.sysman.core.notification.email 250
s_per_minute

Email delivery limits per minute. The
Notification system uses this value to throttle
number of Email delivery per minutes.
Customer should set the value lower if doesn't
want to over flow the Email server, or set the
value higher if the Email server can handle
high volume of Emails.

oracle.sysman.core.notification.cmds 100
_per_minute

OS Command delivery limits per minute. The
Notification system uses this value to throttle
number of OS Command delivery per minutes.

3-53

Chapter 3

Notification Reference

Table 3-18

(Cont.) emoms Properties for Notifications

Property Name

Default Description
Value

oracle.sysman.core.notification.os_c 30
md_timeout

OS Command delivery timeout in seconds.
This value indicates how long to allow OS
process to execute the OS Command delivery.
Set this value higher if the OS command script
requires longer time to complete execution.

oracle.sysman.core.notification.plsql
_per_minute

250

PL/SQL delivery limits per minute. The
Notification system uses this value to throttle
number of PL/SQL delivery per minutes.

em.notification.java_per_minute

500

JAVA delivery limits per minute. The
Notification system uses this value to throttle
number of Java delivery per minutes.

em.notification.ticket_per_minute

250

Ticket delivery limits per minute. The
Notification system uses this value to throttle
number of Ticket delivery per minutes.

oracle.sysman.core.notification.traps 250
_per_minute

SNMP delivery limits per minute. The
Notification system uses this value to control
the number of SNMP trap per minutes.

oracle.sysman.core.notification.local
e.plsql

This property specifies the Locale delivered by
advanced PL/SQL notification. The customer
can define this property to overwrite the
default Locale where the OMS is installed.

OMS
Locale

Valid Locales:
•
•
•
•
•
•
•
•
•
•
oracle.sysman.core.notification.local
e.email

OMS
Locale

en (English)
de (German)
es (Spanish)
fr (French)
it (Italian)
ja (Japanese)
ko (Korean)
pt_br (Portuguese, Brazilian)
zh_cn (Chinese, simplified)
zh_tw (Chinese, traditional)

This property specifies the Locale delivered by
Email. Customer can define this property to
overwrite the default Locale where the OMS is
installed.
Valid Locales:
•
•
•
•
•
•
•
•
•
•

en (English)
de (German)
es (Spanish)
fr (French)
it (Italian)
ja (Japanese)
ko (Korean)
pt_br (Portuguese, Brazilian)
zh_cn (Chinese, simplified)
zh_tw (Chinese, traditional)

3-54

Chapter 3

Notification Reference

Table 3-18

(Cont.) emoms Properties for Notifications

Property Name

Default Description
Value

oracle.sysman.core.notification.local
e.oscmd

OMS
Locale

This property specifies the Locale delivered by
OS Command. Customer can define this
property to overwrite the default Locale where
the OMS is installed.
Valid Locales:
•
•
•
•
•
•
•
•
•
•

oracle.sysman.core.notification.local
e.snmp

OMS
Locale

en (English)
de (German)
es (Spanish)
fr (French)
it (Italian)
ja (Japanese)
ko (Korean)
pt_br (Portuguese, Brazilian)
zh_cn (Chinese, simplified)
zh_tw (Chinese, traditional)

This property specifies the Locale delivered by
SNMP trap. Customer can define this property
to overwrite the default Locale where the OMS
is installed.
Valid Locales:
•
•
•
•
•
•
•
•
•
•

en (English)
de (German)
es (Spanish)
fr (French)
it (Italian)
ja (Japanese)
ko (Korean)
pt_br (Portuguese, Brazilian)
zh_cn (Chinese, simplified)
zh_tw (Chinese, traditional)

oracle.sysman.core.notification.oscm 512
d.max_env_var_length

The maximum length of OS Common
environment variable value.

oracle.sysman.core.notification.snmp 2560
.max_oid_length

The maximum length of SNMP OID value.

oracle.sysman.core.notification.min_ 6
delivery_threads

The minimum number of active threads in the
thread pool initially and number of active
threads are running when system is in low
activities. Setting the value higher will use
more system resources, but will deliver more
notifications.

oracle.sysman.core.notification.max_ 24
delivery_threads

The maximum number of active threads in the
thread pool when the system is in the high
activities. This value should greater than
em.notification.min_delivery_threads. Setting
the value higher will use more system
resources and deliver more notifications.

3-55

Chapter 3

Notification Reference

Table 3-18

(Cont.) emoms Properties for Notifications

Property Name

Default Description
Value

oracle.sysman.core.notification.short >=1
_format_length
(155)

The size limit of the total number of characters
in short email format. The customer should
modify this property value to fit their email or
pager limit content size. The email subject is
restricted to a maximum of 80 characters for
short email format notifications.

oracle.sysman.core.notification.snmp <=1
_packet_length
(5120)

The maximum size of SNMP Protocol Data
unit.

oracle.sysman.core.notification.email 8-bit, 7- The character set that can encode the Email.
_content_transfer_encoding
bit(QP), Oracle supports three character sets : 8-bit, 77bit(QP), and7-bit(BASE64).
bit(BAS
E64) (8bit)
oracle.sysman.core.notification.email >=1
s_per_connection
(20)

The maximum number of emails delivered to
same email gateway before switching to the
next available email gateway (assumes
customers have configured multiple email
gateways). This property is used for email
gateway load balance.

oracle.sysman.core.notification.short both,
Use short format on both subject and body,
_format
subject, subject only, or body only..
body
(both)
oracle.sysman.core.notification.send True
_prior_status_after_agent_unreacha
ble_clears

By default , a notification is sent indicating a
target's status whenever the monitoring Agent
comes out of unreachable status, even if the
target's status has not changed. Use this
emoms property to enable (True)/disable
(False) the duplicate target status notification.
To disable duplicate target status notifications,
set this property to False:
1.

emctl set property
oracle.sysman.core.notification.send_prior
_status_after_agent_unreachable_clears value false

2.

Restart the OMS.

To enable duplicate target status notifications,
set the property to True.
1.

emctl set property
oracle.sysman.core.notification.send_prior
_status_after_agent_unreachable_clears value true

2.

Restart the OMS.

You must establish the maximum size your device can support and whether the
message is sent in subject, body or both.

3-56

Chapter 3

Notification Reference

You can modify the emoms properties by using the Enterprise Manager command line
control emctl get/set/delete/list property command.

Note:
The following commands require an OMS restart in order for the changes to
take place.

Get Property Command
emctl get [-sysman_pwd "sysman password"]-name
oracle.sysman.core.notification.short_format_length

Set Property Command
emctl set property -name oracle.sysman.core.notification.short_format_length -value
155

Emoms Properties Entries for a Short Email Format
emctl set property -name oracle.sysman.core.notification.short_format_length -value
155
emctl set property -name oracle.sysman.core.notification.short_format -value both

3.10.2 Passing Event, Incident, Problem Information to an OS
Command or Script
The notification system passes information to an OS script or executable using system
environment variables.
Conventions used to access environmental variables vary depending on the operating
system:
•

UNIX: $ENV_VARIABLE

•

Windows:%ENV_VARIABLE%

The notification system sets the following environment variables before calling the
script. The script can then use any or all of these variables within the logic of the script.

3.10.2.1 Environment Variables Common to Event, Incident and Problem
Table 3-19

Generic Environment Variables

Environment Variable

Description

NOTIF_TYPE

Type of notification and possible values
NOTIF_NORMAL,
NOTIF_RETRY,
NOTIF_DURATION,
NOTIF_REPEAT,
NOTIF_CA,
NOTIF_RCA

3-57

Chapter 3

Notification Reference

Table 3-19

(Cont.) Generic Environment Variables

Environment Variable

Description

REPEAT_COUNT

How many times the notification has been sent out
before this notification.

RULESET_NAME

The name of the ruleset that triggered this notification.

RULE_NAME

The name of the rule that triggered this notification.

RULE_OWNER

The owner of the ruleset that triggered this notification.

MESSAGE

The message of the event, incident, or problem.

MESSAGE_URL

EM console URL for this message.

Table 3-20

Category-Related Environment Variables

Environment Variable

Description

CATEGORIES_COUNT

Number of categories in this notification. This value is equal to1 if
one category is associated with event, incident or problem. It is
equal to 0 if no category associated with event, incident or
problem.

CATEGORY_CODES_CO Number of category codes in this notification.
UNT
CATEGORY_n

Category is translated based on locale defined in OMS server.
Valid values for the suffix "_n" are between
1.. $CATEGORIES_COUNT

CATEGORY_CODE_n

Codes for the categories. Valid values for the suffix "_n" are
between 1..$CATEGORY_CODES_COUNT

Table 3-21 lists the common environment variables for User Defined Target
Properties. They will be populated under the following cases: (a) When an event has a
related target, (b) When an incident or a problem have single event source and have a
related target.
Table 3-21

User-Defined Target Property Environment Variables

Environment Variable

Description

ORCL_GTP_COMMENT

Comment

ORCL_GTP_CONTACT

Contact

ORCL_GTP_COST_CENT Cost Center
ER
ORCL_GTP_DEPARTME
NT

Department

ORCL_GTP_DEPLOYME
NT_TYPE

Deployment type

ORCL_GTP_LINE_OF_BU Line of Business
S
ORCL_GTP_LOCATION

Location

3-58

Chapter 3

Notification Reference

3.10.2.2 Event Notification-Specific Environment Variables
Table 3-22

Event Notification-Specific Environment Variables

Environment Variable

Description

EVENT_NAME

Event Name.

EVENT_REPORTED_TIM Event reported date.
E
EVENT_SOURCE_COUN
T

Number of Sources associated with this event.

EVENT_TYPE

Event type.

EVENT_OCCURRENCE_
TIME

Event occurrence time.

EVENT_TYPE_ATTRS

The list of event type specific attributes.

EVENT_CONTEXT_ATTR Event context data.
S
LAST_UPDATED_TIME

Last updated time

SEQUENCE_ID

The unique event sequence identifier. An event sequence may
consist of one or more events. All events in this sequence have
the same event sequence ID.

SEVERITY

Severity of event, it is translated.

SEVERITY_CODE

Code for event severity. Possible values are the following.
FATAL, CRITICAL, WARNING, MINOR_WARNING,
INFORMATIONAL, and CLEAR

ACTION_MSG

Message describing the action to take for resolving the event.

TOTAL_OCCURRENCE_
COUNT

Total number of duplicate occurrences

RCA_DETAILS

If RCA is associated with this events.

CURRENT_OCCURRENC Total number of occurrences of the event in the current collection
E_COUNT
period. This attribute only applies to de-duplicated events.
CURRENT_FIRST_OCCU Time stamp when the event first occurred in the current collection
R_DATE
period. This attribute only applies to de-duplicated events.
CURRENT_LAST_OCCU
R_DATE_DESC

Time stamp when the e vent last occurred in the current collection
period. This attribute only applies to de-duplicated events.

Table 3-23 lists the environment variables for the incident associated with an event.
They are populated when the event is associated with an incident.
Table 3-23

Associated Incident Environment Variables

Environment Variable

Description

ASSOC_INCIDENT_ACKN Set to yes, if associated incident was acknowledged by owner
OWLEDGED_BY_OWNER
ASSOC_INCIDENT_ACKN The details of associated incident acknowledgement. For
OWLEDGED_DETAILS
example:No - if not acknowledged Yes By userName - if
acknowledged

3-59

Chapter 3

Notification Reference

Table 3-23

(Cont.) Associated Incident Environment Variables

Environment Variable

Description

ASSOC_INCIDENT_STAT Associated Incident Status
US
ASSOC_INCIDENT_ID

Associated Incident ID

ASSOC_INCIDENT_PRIO Associated Incident priority. Supported value are Urgent, Very
RITY
High, High, Medium,Low, None.
ASSOC_INCIDENT_OWN Associated Incident Owner if it is existed.
ER
ASSOC_INCIDENT_ESCA Escalation level of the associated incident has a value between 0
LATION_LEVEL
to 5.

Table 3-24 lists the common environment variables related to the Source Object. They
are populated when $SOURCE_OBJ_TYPE is not TARGET.
Table 3-24

Source Object-Related Environment Variables

Environment Variable

Description

SOURCE_OBJ_TYPE

Type of the Source object. For example, JOB, TEMPLATE.

SOURCE_OBJ_NAME

Source Object Name.

SOURCE_OBJ_NAME_U
RL

Source's event console URL.

SOURCE_OBJ_SUB_TYP Sub-type of the Source object. For example, it provides the
E
underlying job type for job status change events.
SOURCE_OBJ_OWNER

Owner of the Source object.

Table 3-25 lists the common environment variables for the target, associated with the
given issue. They are populated when the issue is related to a target.
Table 3-25

Target-Related Environment Variables

Environment Variable

Description

TARGET_NAME

Name of Target

TARGET_TYPE

Type of Target

TARGET_OWNER

Owner of Target

HOST_NAME

The name of the host on which the target is deployed upon.

TARGET_URL

Target's Enterprise Manager Console URL.

TARGET_LIFECYCLE_ST Life Cycle Status of the target.
ATUS
Possible values: Production, Mission Critical, Stage, Test, and
Development.
It is null if not defined.
TARGET_VERSION

Target Version of the target

3-60

Chapter 3

Notification Reference

3.10.2.3 Environment Variables Specific to Event Types
Events are classified into multiple types. For example, the mertc_alert event type is
used for modeling metric alerts. You can use SQL queries to list the event types in
your deployment as well as their event-specific payload. The following SQL example
can be used to list all internal event type names that are registered in Enterprise
Manager.
Select event_class as event_type, upper(name) as env_var_name
from em_event_class_attrs
where notif_order != 0
and event_class is not null
union
select event_class as event_type, upper(name) || '_NLS' as env_var_name
from em_event_class_attrs
where notif_order != 0
and event_class is not null
and is_translated = 1
order by event_type, env_var_name;

The environment variable payload specific to each event type can be accessed via the
OS scripts. The following tables list notification attributes for the most critical event
types.
Table 3-26

Environment Variables Specific to Metric Alert Event Type

Environment Variable

Description

COLL_NAME

The name of the collection collecting the metric.

COLL_NAME_NLS

The translated name of the collection collecting the metric

KEY_COLUMN_X

Internal name of Key Column X where X is a number between 1
and 7.

KEY_COLUMN_X_NLS

Translated name of Key Column X where X is a number between
1 and 7.

KEY_COLUMN_X_VALUE Value of Key Column X where X is a number between 1 and 7.
KEY_VALUE

Monitored object for the metric corresponding to the Metric Alert
event.

METRIC_COLUMN

The name of the metric column

METRIC_COLUMN_NLS

The translated name of the metric column.

METRIC_DESCRIPTION

Brief description of the metric.

METRIC_DESCRIPTION_ Translated brief description of the metric.
NLS
METRIC_GROUP

The name of the metric.

METRIC_GROUP_NLS

The translated name of the metric

NUM_KEYS

The number of key metric columns in the metric.

SEVERITY_GUID

The GUID of the severity record associated with this metric alert.

CYCLE_GUID

A unique identifier for a metric alert cycle, which starts from the
time the metric alert is initially generated until the time it is clear.

VALUE

Value of the metric when the event triggered.

3-61

Chapter 3

Notification Reference

Table 3-27

Environment variables specific to Target Availability Event Type

Environment Variable

Description

AVAIL_SEVERITY

The transition severity that resulted in the status of the target to
change to the current availability status.
Possible Values for AVAIL_SEVERITY
•
•
•
•
•
•
•
•
•
•

15 (Target Up)
25 (Target Down)
115 (Agent Unreachable, Cleared)
125 (Agent Unreachable)
215 (Blackout Ended)
225 (Blackout Started)
315 (Collection Error Cleared)
325 (Collection Error)
425 (No Beacons Available)
515 (Status Unknown)

AVAIL_SUB_STATE

The substatus of a target for the current status.

CYCLE_GUID

A unique identifier for a metric alert cycle, which starts from the
time the metric alert is initially generated until the time it is clear.

METRIC_GUID

Metric GUID of response metric.

SEVERITY_GUID

The GUID of the severity record associated with this availability
status.

TARGET_STATUS

The current availability status of the target.

TARGET_STATUS_NLS

The translated current availability status of the target.

Table 3-28

Environment variables specific to Job Status Change event type

Environment Variable

Description

EXECUTION_ID

Unique ID of the job execution..

EXECUTION_LOG

The job output of the last step executed.

EXECUTION_STATUS

The internal status of the job execution.

EXECUTION_STATUS_N
LS

The translated status of the job execution.

EXEC_STATUS_CODE

Execution status code of job execution. For possible values, see
Table 3-16.

STATE_CHANGE_GUID

Unique ID of last status change

You can use SQL queries to list the deployed event types in your deployment and the
payload specific to each one of them. The following SQL can be used to list all internal
event type names which are registered in the Enterprise Manager.
select class_name as event_type_name from em_event_class;

Following SQL lists environment variables specific to metric_alert event type.
select env_var_name
from
( Select event_class as event_type, upper(name) as env_var_name
from em_event_class_attrs

3-62

Chapter 3

Notification Reference

where notif_order != 0
and event_class is not null
union
select event_class as event_type, upper(name) || '_NLS' as env_var_name
from em_event_class_attrs
where notif_order != 0
and event_class is not null
and is_translated = 1)
where event_type = 'metric_alert';

You can also obtain the description of notification attributes specific to an event type
directly from the Enterprise Manager console:
1.

From the Setup menu, select Notifications, then select Customize Email
Formats.

2.

Select the event type.

3.

Click Customize.

4.

Click Show Predefined Attributes.

Environment variables, ending with the suffix _NLS, provide the translated value for
given attribute. For example, METRIC_COLUMN_NLS environment variable will
provide the translated value for the metric column attribute. Translated values will be in
the locale of the OMS.

3.10.2.4 Environment Variables Specific to Incident Notifications
Table 3-29

Incident-Specific Environment Variables

Environment Variable

Description

SEVERITY

Incident Severity, it is translated. Possible Values: Fatal, Critical,
Warning, Informational, Clear

SEVERITY_CODE

Code for Severity.
Possible values are the
FATAL, CRITICAL, WARNING, MINOR_WARNING,
INFORMATIONAL, and CLEAR

INCIDENT_REPORTED_T Incident reported time
IME
INCIDENT_ACKNOWLED Set yes, if incident is acknowledged by owner.
GED_BY_OWNER
INCIDENT_ID

Incident ID

INCIDENT_OWNER

Incident Owner

ASSOC_EVENT_COUNT

The number events associated with this incident.

INCIDENT_STATUS

Incident status. There are two internal fixed resolution status.
NEW
CLOSED
Users can define additional statuses.

ESCALATED

Is Incident escalated

ESCALATED_LEVEL

The escalated level of incident.

PRIORITY

Incident priority. It is the translated priority name. Possible Values:
Urgent, Very High, High, Medium, Low, None

3-63

Chapter 3

Notification Reference

Table 3-29

(Cont.) Incident-Specific Environment Variables

Environment Variable

Description

PRIOTITY_CODE

Incident priority code
It is the internal value defined in EM.
PRIORITY_URGENT
PRIORITY_VERY_HIGH
PRIORITY_HIGH
PRIORITY_MEDIUM
PRIORITY_LOW
PRIORITY_NONE

TICKET_STATUS

Status of external ticket, if it exists.

TICKET_ID

ID of external ticket, if it exists.

LAST_UPDATED_TIME

Incident last update time.

ADR_INCIDENT_ID

Automatic Diagnostic Reposito ry (ADR) Incident ID: A unique
numeric identifier for the ADR Incident. An ADR I ncident is an
occurrence of a Problem.

ADR_IMPACT

Impact of the Automatic Diagnostic Repository (ADR) Incident.

ADR_ECID

Execution Context ID (ECID) associated with the associated
Automatic Diagnostic Repository (ADR) incident. An ECID i s a
globally unique identifier used to tag and track a single call
through the Oracle software stack. It is used to correlate problems
that could occur across multiple tiers of the stack.

ASSOC_PROBLEM_KEY

Problem key associated with the Automatic Diagnostic Repository
(ADR) incident. Problems are critical error s in an Oracle product.
The Problem key is a text string that describes the prob lem. It
includes an error code and in some cases, other error-specific
values.

Table 3-30 lists the associated problem's environment variables, when the incident is
associated with a problem.
Table 3-30

Associated Problem Environment Variables for Incidents

Environment Variable

Description

ASSOC_PROBLEM_ACK Set to yes, if this problem was acknowledged by owner
NOWLEDGED_BY_OWNE
R
ASSOC_PROBLEM_STAT Associated Problem Status
US
ASSOC_PROBLEM_ID

Associated Problem ID

ASSOC_PROBLEM_PRIO Associated Problem priority
RITY
ASSOC_PROBLEM_OWN Associated Problem Owner if it is existed.
ER
ASSOC_PROBLEM_ESC
ALATION_LEVEL

Escalation level of the associated Problem has a value between 0
to 5.

3-64

Chapter 3

Notification Reference

3.10.2.5 Environment Variables Specific to Problem Notifications
Table 3-31

Problem-Specific Environment Variables

Environment Variable

Description

SEVERITY

Problem Severity, it is translated.

SEVERITY_CODE

Code for Severity.
Possible values are :
FATAL, CRITICAL, WARNING, MINOR_WARNING,
INFORMATIONAL, and CLEAR

PROBLEM_REPORTED_
TIME

Problem reported time.

PROBLEM_ACKNOWLED Set yes, if problem is acknowledged by owner.
GED_BY_OWNER
PROBLEM_ID

Problem ID

PROBLEM_KEY

Problem Key

PROBLEM_OWNER

Problem Owner

ASSOC_INCIDENT_COU
NT

The number incident associated with this problem..

PROBLEM_STATUS

Incident status. They are
STATUS_NEW
STATUS_CLOSED
Any other user defined status.

ESCALATED

Is Incident escalated. Yes if it is escalated, otherwise No.

ESCALATED_LEVEL

The escalated level of incident.

PRIORITY

Incident priority. It is the translated priority name..

PRIOTITY_CODE

Incident priority code
It is the internal value defined in Enterprise Manager.
PRIORITY_URGENT
PRIORITY_VERY_HIGH
PRIORITY_HIGH
PRIORITY_MEDIUM
PRIORITY_LOW
PRIORITY_NONE

LAST_UPDATED_TIME

Last updated time

SR_ID

Oracle Service Request Id, if it exists.

BUG_ID

Oracle Bug ID, if an associated bug exists.

3.10.2.6 Environment Variables Common to Incident and Problem Notifications
An incident or problem may be associated with multiple event sources. An event
source can be a Target, a Source Object, or both.

3-65

Chapter 3

Notification Reference

3.10.2.6.1 Environment Variables Related to Event Sources
The number of event sources is set by the EVENT_SOURCE_COUNT environment
variable. Using the EVENT_SOURCE_COUNT information, a script can be written to
loop through the relevant environment variables to fetch the information about multiple
event sources. Environment variables for all event sources are prefixed with
EVENT_SOURCE_. Environment variables for source objects are suffixed with
SOURCE_ . For example, EVENT_SOURCE_1_SOURCE_TYPE
provides the source object type of first event source. Environment variables for a
target are suffixed with TARGET_. For example,
EVENT_SOURCE_1_TARGET_NAME provides the target name of first event source.
The following table lists the environment variables for source object of x-th Event
Source.
Table 3-32

Source Object of the x-th Event Source

Environment Variable

Description

EVENT_SOURCE_x_SOU Source Object GUID.
RCE_GUID
EVENT_SOURCE_x_SOU Source Object Type
RCE_TYPE
EVENT_SOURCE_x_SOU Source Object Name.
RCE_NAME
EVENT_SOURCE_x_SOU Source Object Owner.
RCE_OWNER
EVENT_SOURCE_x_SOU Source Object Sub-Type.
RCE_SUB_TYPE
EVENT_SOURCE_x_SOU Source Object URL to EM console.
RCE_URL

Table 3-33 lists the environment variables for a target of xth Event Source.
Table 3-33

Target of x-th Event Source

Environment Variable

Description

EVENT_SOURCE_x_TAR Target GUID
GET_GUID
EVENT_SOURCE_x_TAR Target name
GET_NAME
EVENT_SOURCE_x_TAR Target Owner
GET_OWNER
EVENT_SOURCE_x_TAR Target version
GET_VERSION
EVENT_SOURCE_x_TAR Target life cycle status
GET_LIFE_CYCLE_STAT
US
EVENT_SOURCE_x_TAR Target Type
GET_TYPE

3-66

Chapter 3

Notification Reference

Table 3-33

(Cont.) Target of x-th Event Source

Environment Variable

Description

EVENT_SOURCE_x_HOS Target Host Name
T_NAME
EVENT_SOURCE_x_TAR Target URL to EM Console.
GET_URL

3.10.3 Passing Information to a PL/SQL Procedure
Passing event, incident, and problem information (payload) to PL/SQL procedures
allows you to customize automated responses to these conditions. All three types of
notification payloads have a common element: gc$notif_msg_info. It provides generic
information that applies to all types of notifications. In addition, each of the three
payloads have one specific element that provides the payload specific to the given
issue type.
gc$notif_event_msg (payload for event notifications)
gc$notif_event_msg contains two objects - event payload object and message
information object.
Table 3-34

Event Notification Payload

Attribute

Datatype

Additional Information

EVENT_PAYLOAD

gc$notif_event_paylo Event notification payload. See
ad
gc$notif_event_payload type definition for
detail.

MSG_INFO

gc$notif_msg_info

Notification message. See gc$notif_msg_info
definition for detail.

gc$notif_incident_msg (payload for incident notifications)
gc$notif_incident_msg type contains two objects - incident payload and message
information. This object represents the delivery payload for Incident notification
message, contains all data associated with Incident notification, and can be accessed
by user's custom PL/SQL procedures.
Table 3-35

Incident Notification Payload

Attribute

Datatype

Additional Information

INCIDENT_PAYLOAD

gc$notif_incident_pay Incident notification payload. See
load
gc$notif_incident_payload type definition for
detail.

MSG_INFO

gc$notif_msg_info

Envelope level notification information. See
gc$notif_msg_info type definition for detail.

gc$notif_problem_msg (payload for problem notifications)

3-67

Chapter 3

Notification Reference

This object represents the delivery payload for Problem notification message, contains
all data associated with problem notification, and can be accessed by a user's custom
PL/SQL procedures.
Table 3-36

Problem Notification Payload

Attribute

Datatype

Additional Information

PROBLEM_PAYLOAD

gc$notif_problem_pa
yload

Problem notification payload. See
gc$notif_problem_payload type definition for
detail.

MSG_INFO

gc$notif_msg_info

Notification message. See gc$notif_msg_info
type definition for detail.

gc$notif_msg_info (common for event/incident/problem payloads)
This object contains the generic notification information including notification_type, rule
set and rule name, etc. for Event, Incident or Problem delivery payload.
Table 3-37

Event, Incident, Problem Common Payload

Attribute

Datatype

NOTIFICATION_TYPE VARCHAR2(32)

Description
Type of notification, can be one of the
following values.
GC$NOTIFICATION.NOTIF_NORMAL
GC$NOTIFICATION.NOTIF_RETRY
GC$NOTIFICATION.NOTIF_REPEAT
GC$NOTIFICATION.NOTIF_DURATION
GC$NOTIFICATION.NOTIF_CA
GC$NOTIFICATION.NOTIF_RCA

REPEAT_COUNT

NUMBER

Repeat notification count

RULESET_NAME

VARCHAR2(256)

Name of the rule set that triggered the
notification

RULE_NAME

VARCHAR2(256)

Name of the rule that triggered the
notification

RULE_OWNER

VARCAH2(256)

EM User who owns the rule set

MESSAGE

VARCHAR2(4000)

Message about event/incident/problem.

MESSAGE_URL

VARCHAR2(4000)

Link to the Enterprise Manager console
page that provides the details of the event/
incident/problem.

gc$notif_event_payload (payload specific to event notifications)
This object represents the payload specific to event notifications.
Table 3-38

Common Payloads for Events, Incidents, and Problems

Attribute

Datatype

Additional Information

EVENT_INSTANCE_G
UID

RAW(16)

Event instance global unique identifier.

3-68

Chapter 3

Notification Reference

Table 3-38

(Cont.) Common Payloads for Events, Incidents, and Problems

Attribute

Datatype

Additional Information

EVENT_SEQUENCE_G RAW(16)
UID

Event sequence global unique identifier.

TARGET

gc$notif_target

Related Target Information object. See
gc$notif_target type definition for detail.

SOURCE

gc$notif_source

Related Source Information object, that is not
a target. See gc$notif_source type definition
for detail.

EVENT_ATTRS

gc$notif_event_attr_a The list of event specified attributes. See
rray
gc$notif_event_attr type definition for detail.

CORRECTIVE_ACTION gc$notif_corrective_a Corrective action information, optionally
ction_job
populated when corrective action job
execution has completed.
EVENT_TYPE

VARCHAR2(20)

Event type - example: Metric Alert.

EVENT_NAME

VARCHAR2(512)

Event name.

EVENT_MSG

VARCHAR2(4000)

Event message.

REPORTED_DATE

DATE

Event reported date.

OCCURRENCE_DATE

DATE

Event occurrence date.

SEVERITY

VARCHAR2(128)

Event Severity. It is the translated severity
name.

SEVERITY_CODE

VARCHAR2(32)

Event Severity code. It is the internal severity
name used in Enterprise Manager.

ASSOC_INCIDENT

gc$notif_issue_summ Summary of associated incident. It is
ary
populated if the event is associated with an
incident. See gc$notif_issue_summary type
definition for detail

ACTION_MSG

VARCHAR2(4000)

Message describing the action to take for
resolving the event.

RCA_DETAIL

VARCHAR2(4000)

Root cause analysis detail. The size of RCA
details output is limited to 4000 characters
long.

EVENT_CONTEXT_DA gc$notif_event_conte Event context data. See
TA
xt_array
gc$notif_event_context type definition for
detail.
CATEGORIES

gc$category_string_a List of categories that the event belongs to.
rray
Category is translated based on locale
defined in OMS server. Notification system
sends up to 10 categories.

CATEGORY_CODES

gc$category_string_a Codes for the categories. The size of array is
rray
up to 10.

gc$notif_incident_payload (payload specific to incident notifications)
Contains the incident specific attributes, associated problem and ticket information.

3-69

Chapter 3

Notification Reference

Table 3-39

Incident Notification Payloads

Attribute

Datatype

Additional Information

INCIDENT_ATTRS

gc$notif_issue_attrs

Incident specific attributes. See
gc$notif_issue_attrs type definition for detail.

ASSOC_EVENT_COUN NUMBER
T

The total number of events associated with
this incident.

TICKET_STATUS

VARCHAR2(64)

The status of external Ticket, if it exists.

TICKET_ID

VARCHAR2(128)

The ID of external Ticket, if it exists.

TICKET_URL

VARCHAR2(4000)

The URL for external Ticket, if it exists.

ASSOC_PROBLEM

gc$notif_issue_summ Summary of the problem, if it has an
ary
associated problem. See
gc$notif_issue_summary type definition for
detail.

gc$notif_problem_payload (payload specific to problems)
Contains problem specific attributes, key, Service Request(SR) and Bug information.
Table 3-40

Problem Payload

Attribute

Datatype

Additional Information

PROBLEM_ATTRS

gc$notif_issue_attrs

Problem specific attributes. See
gc$notif_issue_attrs type definition for detail.

PROBLEM_KEY

VARCHAR2(850)

Problem key if it is generated.

ASSOC_INCIDENT_CO NUMBER
UNT

Number of incidents associated with this
problem.

SR_ID

VARCHAR2(64)

Oracle Service Request Id, if it exists.

SR_URL

VARCHAR2(4000)

URL for Oracle Service Request, if it exists.

BUG_ID

VARCHAR2(64)

Oracle Bug ID, if an associated bug exists.

gc$notif_issue_attrs (payload common to incidents and problems)
Provides common details for incident and problem. It contains details such as id,
severity, priority, status, categories, acknowledged by owner, and source information
with which it is associated.
Table 3-41

Payload Common to Incidents and Problems

Attribute

Datatype

Additional Information

ID

NUMBER(16)

ID of the incident or problem.

SEVERITY

VARCHAR2(128)

Issue Severity. It is the translated.

3-70

Chapter 3

Notification Reference

Table 3-41

(Cont.) Payload Common to Incidents and Problems

Attribute

Datatype

Additional Information

SEVERITY_CODE

VARCHAR2(32)

Issue Severity Code.The possible values are
defined in descending order of severity:
GC$EVENT.FATAL
GC$EVENT.CRITICAL
GC$EVENT.WARNING
GC$EVENT.MINOR_WARNING
GC$EVENT.INFORMATIONAL
GC$EVENT.CLEAR

PRIORITY

VARCHAR2(128)

Issue Priority. It is the translated priority
name.

PRIORITY_CODE

VARCHAR2(32)

Issue Priority. It is the internal value defined
in EM. The possible values are defined in
descending order of priority:
GC$EVENT.PRIORITY_URGENT
GC$EVENT.PRIORITY_VERY_HIGH
GC$EVENT.PRIORITY_HIGH
GC$EVENT.PRIORITY_MEDIUM
GC$EVENT.PRIORITY_LOW
GC$EVENT.PRIORITY_NONE

STATUS

VARCHAR2(32)

Status of Issue. The possible values are
GC$EVENT.STATUS_NEW
GC$EVENT.STATUS_CLOSED
Any other user defined status.

ESCALATION_LEVEL

NUMBER(1)

Escalation level of the issue, has a value
between 0 to 5.

OWNER

VARCHAR(256)

Issue Owner. Set to NULL if no owner exists.

ACKNOWLEDGED_BY
_OWNER

NUMBER(1)

Set to 1, if this issue was acknowledged by
owner.

CREATION_DATE

DATE

Issue creation date.

CLOSED_DATE

DATE

Issue closed date, null if not closed.

CATEGORIES

gc$category_string_a List of categories that the event belongs to.
rray
Category is translated based on locale
defined in OMS server. Notification system
sends up to 10 categories.

CATEGORY_CODES

gc$category_string_a Codes for the categories. Notification system
rray
sends up to 10 category codes.

SOURCE_INFO_ARR

gc$notif_source_info_ Array of source information associated with
array
this issue. See $gcnotif_source_info type
definition for detail.

LAST_MODIFIED_BY

VARCHAR2(256)

Last modified by user.

LAST_UPDATED_DAT
E

DATE

Last updated date.

gc$notif_issue_summary (common to incident and problem payloads)

3-71

Chapter 3

Notification Reference

Represents the associated incident summary in the event payload, or associated
problem summary in the incident payload, respectively.
Table 3-42

Payload

Attribute

Datatype

Additional Information

ID

NUMBER

Issue Id, either Incident Id or Problem Id.

SEVERITY

VARCHAR(128)

The severity level of an issue. It is translated
severity name.

SEVERITY_CODE

VARCHAR2(32)

Issue Severity Code, has one of the following
values.
GC$EVENT.FATAL
GC$EVENT.CRITICAL
GC$EVENT.WARNING
GC$EVENT.MINOR_WARNING
GC$EVENT.INFORMATIONAL
GC$EVENT.CLEAR

PRIORITY

VARCHAR2(128)

Current priority. It is the translated priority
name.

PRIORITY_CODE

VARCHAR2(32)

Issue priority code, has one of the following
values. GC$EVENT.PRIORITY_URGENT
GC$EVENT.PRIORITY_VERY_HIGH
GC$EVENT.PRIORITY_HIGH
GC$EVENT.PRIORITY_MEDIUM
GC$EVENT.PRIORITY_LOW
GC$EVENT.PRIORITY_NONE

STATUS

VARCHAR2(64)

Status of issue. The possible values are
GC$EVENT.STATUS_NEW
GC$EVENT.STATUS_CLOSED
GC$EVENT.WIP (work in progress)
GC$EVENT.RESOLVED
any other user defined status

ESCALATION_LEVEL

VARCHAR2(2)

Issue escalation level range from 0 to 5,
default 0.

OWNER

VARCHAR2(256)

Issue Owner. Set to NULL if no owner exists.

ACKNOWLEDGED_BY
_OWNER

NUMBER(1)

Set to 1, if this issue was acknowledged by
owner.

gc$category_string_array
gc$category_string_array is an array of string containing the categories which event,
incident or problem is associated with. The notification system delivers up to 10
categories.
gc$notif_event_context_array
gc$notif_event_context_array provides information about the additional diagnostic
data that was captured at event detection time. Note that notification system delivers
up to 200 elements from the captured event context. Each element of this array is of
the type gc$notif_event_context.

3-72

Chapter 3

Notification Reference

gc$notif_event_context: This object represents the detail of event context data which
is additional contextual information captured by the source system at the time of event
generation that may have diagnostic value. The context for an event should consist of
a set of keys and values along with data type (Number or String only).
Table 3-43

Event Context Type

Attribute

Datatype

Additional Information

NAME

VARCHAR2(256)

The event context name.

TYPE

NUMBER(1)

The data type of the value, which is stored
(0) - for numeric data
(1) - for string data.

VALUE

NUMBER

The numerical value.

STRING_VALUE

VARCHAR2(4000)

The string value.

gc$notif_corrective_action_job
Provides information about the execution of a corrective action job. Note that the
corrective actions are supported for metric alert and target availability events only.
Table 3-44

Corrective Action Job-Specific Attributes

Attribute

Datatype

Additional Information

JOB_GUID

RAW(16)

Corrective action job global unique identifier.

JOB_NAME

VARCHAR2(128)

The value will be the name of the corrective
action. It applies to Metric Alert and Target
Availability Events.

JOB_OWNER

VARCHAR2(256)

Corrective action job owner.

JOB_TYPE

VARCHAR2(256)

Corrective action job type.

JOB_STATUS

VARCHAR2(64)

Corrective action job execution status.

JOB_STATUS_CODE

NUMBER

Corrective action job execution status code. It
is the internal value defined in Enterprise
Manager. For more information on status
codes, see Table 3-14.

JOB_STEP_OUTPUT

VARCHAR2(4000)

The value will be the text output from the
corrective action execution. This will be
truncated to last 4000 characters.

JOB_EXECUTION_GUI RAW(16)
D

Corrective action job execution global unique
identifier.

JOB_STATE_CHANGE RAW(16)
_GUID

Corrective action job change global unique
identifier.

OCCURRED_DATE

Corrective action job occurred date.

DATE

gc$notif_source_info_array
Provides access to the multiple sources to which an incident or a problem could be
related. NOTE: The notification system delivers up to 200 sources associated with an
incident or a problem.
CREATE OR REPLACE TYPE gc$notif_source_info_array AS VARRAY(200) OF
gc$notif_source_info;

3-73

Chapter 3

Notification Reference

gc$notif_source_info
Notification source information which is used for referencing source information
containing either target or source, or both.
Table 3-45

Source Information Type

Attribute

Datatype

Additional Information

TARGET

gc$notif_target

It is populated when the event is related to a
target. See gc$notif_target type definition for
detail.

SOURCE

gc$notif_source

It is populated when the event is related to a
(non-target) source. See gc$notif_source
type definition for detail.

gc$notif_source
Used for referencing source objects other than a job target.
Table 3-46

Payload

Attribute

Datatype

Additional Information

SOURCE_GUID

RAW(16)

Source's global unique identifier.

SOURCE_TYPE

VARCHAR2(120)

Type of the Source object, e.g., TARGET,
JOB, TEMPLATE, etc.

SOURCE_NAME

VARCHAR2(256)

Source Object Name.

SOURCE_OWNER

VARCHAR2(256)

Owner of the Source object.

SOURCE_SUB_TYPE

VARCHAR2(256)

Sub-type of the Source object, for example,
within the TARGET these would be the target
types like Host, Database etc.

SOURCE_URL

VARCHAR2(4000)

Source's event console URL.

gc$notif_target
Target information object is used for providing target information.
Table 3-47

Target Information

Attribute

Datatype

Additional Information

TARGET_GUID

RAW(16)

Target's global unique identifier.

TARGET_NAME

VARCHAR2(256)

Name of target.

TARGET_OWNER

VARCHAR2(256)

Owner of target.

TARGET_LIFECYCLE_ VARCHAR2(1024)
STATUS

Life Cycle Status of the target.

TARGET_VERSION

VARCHAR2(64)

Target Version of the target.

TARGET_TYPE

VARCHAR2(128)

Type of a target.

TARGET_TIMEZONE

VARCHAR2(64)

Target's regional time zone.

HOST_NAME

VARCHAR2(256)

The name of the host on which the target is
deployed upon.

3-74

Chapter 3

Notification Reference

Table 3-47

(Cont.) Target Information

Attribute

Datatype

Additional Information

TARGET_URL

VARCHAR2(4000)

Target's EM Console URL.

UDTP_ARRAY

gc$notif_udtp_array

The list of user defined target properties. It is
populated for events that are associated with
a target. It is populated for incidents and
problems, when they are associated with a
single source (gc$notif_source_info).

gc$notif_udtp_array
Array of gc$notif_udtp type with a maximum size of 20.
CREATE OR REPLACE TYPE gc$notif_udtp_array AS VARRAY(20) OF gc$notif_udtp;

gc$notif_udtp
Used for referencing User-defined target properties. UDTP should consist of a set of
property key names and property values.
Table 3-48

Payload

Attribute

Datatype

Additional Information

NAME

VARCHAR2(64),

The name of property.

VALUE

VARCHAR2(1024)

Property value.

LABEL

VARCHAR(256)

Property label.

NLS_ID

VARCHAR(64)

Property nls id

3.10.3.1 Notification Payload Elements Specific to Event Types
gc$notif_event_attr_array
Array of gc$notif_event_attr is used for referencing event-specific attributes. The array
has a maximum size of 25. Each element of the array is of type gc$notif_event_attr
(used for referencing event type-specific attributes).
Table 3-49

Event Attribute Type

Attribute

Datatype

Additional Information

NAME

VARCHAR2(64)

The internal name of event type specific
attribute.

VALUE

VARCHAR2(4000)

value.

NLS_VALUE

VARCHAR2(4000)

Translated value for the attribute.

You can use SQL queries to list the deployed event types in your deployment and the
payload specific to each. The following SQL can be used to list all internal event type
names which are registered in the Enterprise Manager.
Select event_class as event_type, upper(name) as env_var_name
from em_event_class_attrs

3-75

Chapter 3

Notification Reference

where notif_order != 0
and event_class is not null
order by event_type, env_var_name;

You should convert the attribute name to upper case before using the name for
comparison.
There is an attribute variable payload specific to each event type that can be accessed
from a gc$notif_event_attr_array database type. The following tables list notification
attributes for the most critical event types. You should convert the attribute name to
uppercase before using the name for comparison.
Table 3-50

Environment variables specific to Metric Alert Event Type

Environment Variable

Description

COLL_NAME

The name of the collection collecting the metric.

KEY_COLUMN_X

Internal name of Key Column X where X is a number between 1
and 7.

KEY_COLUMN_X_VALUE Value of Key Column X where X is a number between 1 and 7.
KEY_VALUE

Monitored object for the metric corresponding to the Metric Alert
event.

METRIC_COLUMN

The name of the metric column

METRIC_DESCRIPTION

Brief description of the metric.

METRIC_GROUP

The name of the metric.

NUM_KEYS

The number of key metric columns in the metric.

SEVERITY_GUID

The GUID of the severity record associated with this metric alert.

VALUE

Value of the metric when the event triggered.

Table 3-51

Environment variables specific to Target Availability Event Type

Environment Variable

Description

AVAIL_SEVERITY

The transition severity (0-6) that resulted in the status of the target
to change to the current availability status.
Possible Values for AVAIL_SEVERITY
•
•
•
•
•
•
•

0 (Target Down)
1 (Target Up)
2 (Target Status Error)
3 (Agent Down)
4 (Target Unreachable)
5 (Target Blackout)
6 (Target Status Unknown)

AVAIL_SUB_STATE

The substatus of a target for the current status.

CYCLE_GUID

A unique identifier for a metric alert cycle, which starts from the
time the metric alert is initially generated until the time it is clear.

METRIC_GUID

Metric GUID of response metric.

SEVERITY_GUID

The GUID of the severity record associated with this availability
status.

TARGET_STATUS

The current availability status of the target.

3-76

Chapter 3

Notification Reference

Table 3-52

Environment variables specific to Job Status Change event type

Environment Variable

Description

EXECUTION_ID

Unique ID of the job execution..

EXECUTION_LOG

The job output of the last step executed.

EXECUTION_STATUS

The internal status of the job execution.

EXEC_STATUS_CODE

Execution status code of job execution. For possible values, see
Table 3-16.

STATE_CHANGE_GUID

Unique ID of last status change

Example 3-17

PL/SQL Script: Event Type Payload Elements

-- log_table table is created by following DDL to demostrate how to access
-- event notification payload GC$NOTIF_EVENT_MSG.
CREATE TABLE log_table (message VARCHAR2(4000)) ;
-- Define PL/SQL notification method for Events
CREATE OR REPLACE PROCEDURE log_table_notif_proc(s IN GC$NOTIF_EVENT_MSG)
IS
l_categories gc$category_string_array;
l_category_codes gc$category_string_array;
l_attrs gc$notif_event_attr_array;
l_ca_obj gc$notif_corrective_action_job;
BEGIN
INSERT INTO log_table VALUES ('notification_type: ' ||
s.msg_info.notification_type);
INSERT INTO log_table VALUES ('repeat_count: ' || s.msg_info.repeat_count);
INSERT INTO log_table VALUES ('ruleset_name: ' || s.msg_info.ruleset_name);
INSERT INTO log_table VALUES ('rule_name: ' || s.msg_info.rule_name);
INSERT INTO log_table VALUES ('rule_owner: ' || s.msg_info.rule_owner);
INSERT INTO log_table VALUES ('message: ' || s.msg_info.message);
INSERT INTO log_table VALUES ('message_url: ' || s.msg_info.message_url);
INSERT INTO log_table VALUES ('event_instance_guid: ' ||
s.event_payload.event_instance_guid);
INSERT INTO log_table VALUES ('event_type: ' || s.event_payload.event_type);
INSERT INTO log_table VALUES ('event_name: ' || s.event_payload.event_name);
INSERT INTO log_table VALUES ('event_msg: ' || s.event_payload.event_msg);
INSERT INTO log_table VALUES ('source_obj_type: ' ||
s.event_payload.source.source_type);
INSERT INTO log_table VALUES ('source_obj_name: ' ||
s.event_payload.source.source_name);
INSERT INTO log_table VALUES ('source_obj_url: ' ||
s.event_payload.source.source_url);
INSERT INTO log_table VALUES ('target_name: ' ||
s.event_payload.target.target_name);
INSERT INTO log_table VALUES ('target_url: ' || s.event_payload.target.target_url);
INSERT INTO log_table VALUES ('severity: ' || s.event_payload.severity);
INSERT INTO log_table VALUES ('severity_code: ' || s.event_payload.severity_code);
INSERT INTO log_table VALUES ('event_reported_date: ' ||
to_char(s.event_payload.reported_date, 'D MON DD HH24:MI:SS'));
IF s.event_payload.target.TARGET_LIFECYCLE_STATUS IS NOT NULL
THEN
INSERT INTO log_table VALUES ('target lifecycle_status: ' ||
s.event_payload.target.TARGET_LIFECYCLE_STATUS);
END IF;

3-77

Chapter 3

Notification Reference

-- Following block illustrates the list of category codes to which the event
-- belongs.
l_category_codes := s.event_payload.category_codes;
IF l_categories IS NOT NULL
THEN
FOR c IN 1..l_category_codes.COUNT
LOOP
INSERT INTO log_table VALUES ('category_code ' || c || ' - ' ||
l_category_codes(c));
END LOOP;
END IF;
--- Each event type has a specific set of attributes modeled. Examples of
-- event types include metric_alert, target_availability, job_status_change.
-- Following block illustrates how to access the attributes for job_status change
-- event type
-IF s.event_payload.event_type = 'job_staus_chage'
THEN
l_attrs := s.event_payload.event_attrs;
IF l_attrs IS NOT NULL
THEN
FOR c IN 1..l_attrs.COUNT
LOOP
INSERT INTO log_table VALUES ('EV.ATTR name=' || l_attrs(c).name || '
value=' || l_attrs(c).value || ' nls_value=' || l_attrs(c).nls_value);
END LOOP;
END IF;
END IF;
-- Following block illustrates how to access corrective action job's attributes
IF s.msg_info.notification_type = GC$NOTIFICATION.NOTIF_CA AND
s.event_payload.corrective_action IS NOT NULL
THEN
l_ca_obj := s.event_payload.corrective_action;
INSERT INTO log_table VALUES ('CA JOB_GUID: ' || l_ca_obj.JOB_GUID);
INSERT INTO log_table VALUES ('CA JOB_NAME: ' || l_ca_obj.JOB_NAME);
INSERT INTO log_table VALUES ('CA JOB_OWNER: ' || l_ca_obj.JOB_OWNER);
INSERT INTO log_table VALUES ('CA JOB_TYPE: ' || l_ca_obj.JOB_TYPE);
INSERT INTO log_table VALUES ('CA JOB_STATUS: ' || l_ca_obj.JOB_STATUS);
INSERT INTO log_table VALUES ('CA JOB_STATUS_CODE: ' ||
l_ca_obj.JOB_STATUS_CODE);
INSERT INTO log_table VALUES ('CA JOB_STEP_OUTPUT: ' ||
l_ca_obj.JOB_STEP_OUTPUT);
INSERT INTO log_table VALUES ('CA JOB_EXECUTION_GUID: ' ||
l_ca_obj.JOB_EXECUTION_GUID);
INSERT INTO log_table VALUES ('CA JOB_STATE_CHANGE_GUID: ' ||
l_ca_obj.JOB_STATE_CHANGE_GUID);
INSERT INTO log_table VALUES ('CA OCCURRED_DATE: ' || l_ca_obj.OCCURRED_DATE);
END IF;
COMMIT ;
END ;
/

3-78

Chapter 3

Notification Reference

3.10.4 Troubleshooting Notifications
To function properly, the notification system relies on various components of
Enterprise Manager and your IT infrastructure. For this reason, there can be many
causes of notification failure. The following guidelines and suggestions can help you
isolate potential problems with the notification system.

3.10.4.1 General Setup
The first step in diagnosing notification issues is to ensure that you have properly
configured and defined your notification environment.
OS Command, PL/SQL and SNMP Trap Notifications
Make sure all OS Command, PLSQL and SNMP Trap Notification Methods are valid
by clicking the Test button. This will send a test notification and show any problems
the OMS has in contacting the method. Make sure that your method was called, for
example, if the OS Command notification is supposed to write information to a log file,
check that it has written information to its log file.
Email Notifications
•

Make sure an email gateway is set up under the Notification Methods page of
Setup. The Sender's email address should be valid. Clicking the Test button will
send an email to the Sender's email address. Make sure this email is received.
Note that the Test button ignores any Notification Schedule.

•

Make sure an email address is set up. Clicking the Test button will send an email
to specified address and you should make sure this email is received. Note that
the Test button ignores any Notification Schedule.

•

Make sure an email schedule is defined. No emails will be sent unless a
Notification Schedule has been defined.

•

Make sure a incident rule is defined that matches the states you are interested and
make sure email and notification methods are assigned to the rule.

3.10.4.2 Notification System Errors
For any alerts involving problems with notifications, check the following for notification
errors.
•

Any serious errors in the Notification System are logged as system errors in the
MGMT_SYSTEM_ERROR_LOG table. From the Setup menu, select
Management Services and Repository to view these errors.

•

Check for any delivery errors. You can view them from Incident Manager. From
the Enterprise menu, select Monitoring, then select Incident Manager. The
details will give the reason why the notification was not delivered.

3.10.4.3 Notification System Trace Messages
The Notification System can produce trace messages in sysman/log/emoms.trc file.
Tracing is configured by setting the log4j.category.oracle.sysman.em.notification
property flag using the emctl set property command. You can set the trace level to
INFO, WARN, DEBUG. For example,

3-79

Chapter 3

Notification Reference

emctl set property -name log4j.category.oracle.sysman.em.notification -value
DEBUG -module logging

Note: The system will prompt you for the SYSMAN password.
Trace messages contain the string "em.notification". If you are working in a UNIX
environment, you can search for messages in the emoms.trc and emoms_pbs.trc files
using the grep command. For example,
grep em.notification emoms.trc emoms_pbs.trc

What to look for in the trace file.
The following entries in the emoms.trc file are relevant to notifications.
Normal Startup Messages
When the OMS starts, you should see these types of messages.
2011-08-17 13:50:29,458 [EventInitializer] INFO em.notification init.167 - Short
format maximum length is 155
2011-08-17 13:50:29,460 [EventInitializer] INFO em.notification init.185 - Short
format is set to both subject and body
2011-08-17 13:50:29,460 [EventInitializer] INFO em.notification init.194 - ContentTransfer-Encoding is 8-bit
2011-08-17 13:50:29,460 [EventInitializer] DEBUG em.notification
registerAdminMsgCallBack.272 - Registering notification system message call back
2011-08-17 13:50:29,461 [EventInitializer] DEBUG em.notification
registerAdminMsgCallBack.276 - Notification system message callback is registered
successfully
2011-08-17 13:50:29,713 [EventInitializer] DEBUG em.notification
upgradeEmailTemplates.2629 - Enter upgradeEmailTemplates
2011-08-17 13:50:29,735 [EventInitializer] INFO em.notification
upgradeEmailTemplates.2687 - Email template upgrade is not required since no
customized templates exist.
2011-08-17 13:49:28,739 [EventCoordinator] INFO events.EventCoordinator logp.251 Creating event worker thread pool: min = 4 max = 15
2011-08-17 13:49:28,791 [[STANDBY] ExecuteThread: '2' for queue:
'weblogic.kernel.Default (self-tuning)'] INFO emdrep.pingHBRecorder
initReversePingThreadPool.937 - Creating thread pool for reverse ping : min = 10 max
= 50
2011-08-17 13:49:28,797 [[STANDBY] ExecuteThread: '2' for queue:
'weblogic.kernel.Default (self-tuning)'] DEBUG emdrep.HostPingCoordinator logp.251 Creating thread pool of worker thread for host ping: min = 1 max = 10
2011-08-17 13:49:28,799 [[STANDBY] ExecuteThread: '2' for queue:
'weblogic.kernel.Default (self-tuning)'] DEBUG emdrep.HostPingCoordinator logp.251 Creating thread pool for output of worker's output for host ping: min = 2 max = 20
2011-08-17 13:49:30,327 [ConnectorCoordinator] INFO connector.ConnectorPoolManager
logp.251 - Creating Event thread pool: min = 3 max = 10
2011-08-17 13:51:48,152 [NotificationMgrThread] INFO notification.pbs logp.251 Creating thread pool: min = 6 max = 24
2011-08-17 13:51:48,152 [NotificationMgrThread] INFO em.rca logp.251 - Creating RCA
thread pool: min = 3 max = 20

Notification Delivery Messages
2006-11-08 03:18:45,387 [NotificationMgrThread] INFO em.notification run.682 Notification ready on EMAIL1
2006-11-08 03:18:46,006 [DeliveryThread-EMAIL1] INFO em.notification run.114 Deliver to SYSMAN/admin@myco.com

3-80

Chapter 3

Notification Reference

2006-11-08 03:18:47,006 [DeliveryThread-EMAIL1] INFO em.notification run.227 Notification handled for SYSMAN/admin@myco.com

Notification System Error Messages
2011-08-17 14:02:23,905 [NotificationMgrThread] DEBUG notification.pbs logp.251 Notification ready on EMAIL1
2011-08-17 14:02:23,911 [NotificationMgrThread] DEBUG notification.pbs logp.251 Notification ready on PLSQL4
2011-08-17 14:02:23,915 [NotificationMgrThread] DEBUG notification.pbs logp.251 Notification ready on OSCMD14
2011-08-17 14:02:19,057 [DeliveryThread-EMAIL1] INFO notification.pbs logp.251 Deliver to To: my.admin@myco.com; issue type: 1; notification type: 1
2011-08-17 14:02:19,120 [DeliveryThread-OSCMD14] INFO notification.pbs logp.251 Deliver to SYSMAN, OSCMD, 8; issue type: 1; notification type: 1
2011-08-17 14:02:19,346 [DeliveryThread-PLSQL4] INFO notification.pbs logp.251 Deliver to SYSMAN, LOG_JOB_STATUS_CHANGE, 9; issue type: 1; notification type: 1
2011-08-17 14:02:19,977 [DeliveryThread-PLSQL4] DEBUG notification.pbs logp.251 Notification handled for SYSMAN, LOG_JOB_STATUS_CHANGE, 9
2011-08-17 14:02:20,464 [DeliveryThread-EMAIL1] DEBUG notification.pbs logp.251 Notification handled for To: my.admin@myco.com
2011-08-17 14:02:20,921 [DeliveryThread-OSCMD14] DEBUG notification.pbs logp.251 Notification handled for SYSMAN, OSCMD, 8

3.10.4.4 Email Errors
The SMTP gateway is not set up correctly:
Failed to send email to my.admin@myco.com: For email notifications to be sent, your
Super Administrator must configure an Outgoing Mail (SMTP) Server within Enterprise
Manager. (SYSMAN, myrule)

Invalid host name:
Failed to connect to gateway: badhost.oracle.com: Sending failed;
nested exception is:
javax.mail.MessagingException: Unknown SMTP
host: badhost.example.com;

Invalid email address:
Failed to connect to gateway: rgmemeasmtp.mycorp.com: Sending failed;
nested exception is:
javax.mail.MessagingException: 550 5.7.1
... Access
denied

Always use the Test button to make sure the email gateway configuration is valid.
Check that an email is received at the sender's email address

3.10.4.5 OS Command Errors
When attempting to execute an OS command or script, the following errors may occur.
Use the Test button to make sure OS Command configuration is valid. If there are any
errors, they will appear in the console.
Invalid path or no read permissions on file:
Could not find /bin/myscript (machineb10.oracle.com_Management_Service) (SYSMAN,
myrule )

3-81

Chapter 3

Notification Reference

No execute permission on executable:
Error calling /bin/myscript: java.io.IOException: /bin/myscript: cannot execute
(machineb10.oracle.com_Management_Service) (SYSMAN, myrule )

Timeout because OS Command ran too long:
Timeout occurred running /bin/myscript (machineb10.oracle.com_Management_Service)
(SYSMAN, myrule )

Any errors such as out of memory or too many processes running on OMS machine
will be logged as appropriate.
Always use the Test button to make sure OS Command configuration is valid.

3.10.4.6 SNMP Trap Errors
Use the Test button to make sure SNMP Trap configuration is valid.
The OMS will not report an error if the SNMP trap cannot reach the third party SNMP
console as this is sent via UDP. If the SNMP trap encounters problems when trying to
reach the third party SNMP console, possible SNMP trap problems include: invalid
host name, port, community for a machine running an SNMP Console or a network
issue such as a firewall problem.
Other possible SNMP trap problems include: invalid host name, port, or community for
a machine running an SNMP Console.

3.10.4.7 PL/SQL Errors
When attempting to execute an PL/SQL procedure, the following errors may occur.
Use the Test button to make sure the procedure is valid. If there are any errors, they
will appear in the console.
Procedure name is invalid or is not fully qualified. Example: SCOTT.PKG.PROC
Error calling PL/SQL procedure plsql_proc: ORA-06576: not a valid function or
procedure name (SYSMAN, myrule)

Procedure is not the correct signature. Example: PROCEDURE event_proc(s IN
GC$NOTIF_EVENT_MSG)
Error calling PL/SQL procedure plsql_proc: ORA-06553: PLS-306: wrong number or types
of arguments in call to 'PLSQL_PROC' (SYSMAN, myrule)

Procedure has bug and is raising an exception.
Error calling PL/SQL procedure plsql_proc: ORA-06531: Reference to uninitialized
collection (SYSMAN, myrule)

Care should be taken to avoid leaking cursors in your PL/SQL. Any exception due to
this condition will result in delivery failure with the message being displayed in the
Details section of the alert in the Cloud Control console.
Always use the Test button to make sure the PL/SQL configuration is valid.

3-82

Chapter 3

System Broadcasts

3.11 System Broadcasts
Enterprise Manager allows you to broadcast important instantly viewable system
messages to Enterprise Manager consoles throughout your managed environment.
These messages can be directed to specific users or all Enterprise Manager users.
This feature can be useful when notifying users that Enterprise Manager is about to go
down, when some part of your managed infrastructure has been updated, or when
there is a system emergency.

Note:
Only Super Administrators can send system broadcasts.

Setting System Broadcast Preferences
Before you can send a system broadcast, you must first set your broadcast
preferences.
1.

Log in to Enterprise Manager as a Super Administrator.

2.

From the  menu, select Preference and then System Broadcast.
The System Broadcast User Preferences UI displays.

3.

Check the desired broadcast message preferences then click Save.
Whenever you send a system broadcast message, these are the preferences that
will be used.

Note:
The Number of seconds to show the System Broadcast setting will only work
when the Do not automatically close System Broadcast sent by the super
administrator option is disabled.

3-83

Chapter 3

System Broadcasts

Creating a System Broadcast
Once your preferences are set, you use the EM CLI verb send_system_broadcast to
send a system broadcast message.
emcli send_system_broadcast
-toOption="ALL|SPECIFIC"
[-to="comma separated user names"]
[-messageType="INFO|CONF|WARN|ERROR|FATAL" (default is INFO)]
-message="message details"

Options
•

toOption
Enter the value ALL to send the broadcast message to all users logged into the
Enterprise Manager Console. Or enter SPECIFIC to send System Broadcast to
users specified by -to.

•

to
Comma-separated list of users who are to receive the broadcast message. This
option can only be used if the -toOption is set to SPECIFIC.

•

messageType
Type of System Broadcast, it can be one of following types

•

–

INFO (Information)

–

CONF (Confirmation)

–

WARN (Warning)

–

ERROR

–

FATAL

message
Message to be sent in the System Broadcast. The message has a maximum of
200 characters.

Example:
In this example, you want to broadcast an informational message indicating that you
will be bringing down Enterprise Manager within an hour in order to perform an
emergency patching operation.
emcli send_system_broadcast -messageType="INFO" -toOption="ALL" -message="Enterprise
Manager will be taken down in an hour for an emergency patch"

3-84

4
Using Blackouts and Notification Blackouts
This chapter covers the following topics:
•

Blackouts and Notification Blackouts

•

Working with Blackouts/Notification Blackouts

•

Controlling Blackouts Using the Command Line Utility

•

About Blackouts Best Effort

4.1 Blackouts and Notification Blackouts
Blackouts and Notification Blackouts (notification blackouts) help you maintain
monitoring accuracy during target maintenance windows by providing you with the
ability to suspend various Enterprise Manager monitoring functions for the duration of
the maintenance period. For example, when bringing down targets for upgrade or
patching, you may not want that downtime included as part of the collected metric data
or have it affect a Service Level Agreement (SLA).
Blackout/Notification Blackout functionality is available from both the Enterprise
Manager console as well as via the Enterprise Manager command-line interface
(EMCLI).

4.1.1 About Blackouts
Blackouts allow you to suspend monitoring on one or more targets in order to perform
maintenance operations. Blackouts, also known as patching blackouts, ensure that the
target is not changed during the period of the blackout so that a maintenance
operation on the actual target will not be affected. During this period, the Agent does
not perform metric data collection on the target and no notifications will be raised for
the target. Blackouts will allow Enterprise Manager jobs to run on the target during the
blackout period by default. Optionally, job runs can be prevented during the blackout
period.
A blackout can be defined for individual target(s), a group of multiple targets that
reside on different hosts, or for all targets on a host. The blackout can be scheduled to
run immediately or in the future, or stop after a specific duration. Blackouts can be
created on an as-needed basis, or scheduled to run at regular intervals. If, during the
maintenance period, the administrator discovers that he needs more (or less) time to
complete his maintenance tasks, he can easily extend (or stop) the blackout that is
currently in effect. Blackout functionality is available from both the Enterprise Manager
console as well as via the Enterprise Manager command-line interface (EMCLI).
EMCLI is often useful for administrators who would like to incorporate the blacking out
of a target within their maintenance scripts.
Why use blackouts?
Blackouts allow you to collect accurate monitoring data. For example, you can stop
data collections during periods where a managed target is undergoing routine

4-1

Chapter 4

Blackouts and Notification Blackouts

maintenance, such as a database backup or hardware upgrade. If you continue
monitoring during these periods, the collected data will show trends and other
monitoring information that are not the result of normal day-to-day operations. To get a
more accurate, long-term picture of a target's performance, you can use blackouts to
exclude these special-case situations from data analysis.
Blackout Access
Enterprise Manager administrators that have at least Blackout Target privileges on all
Selected Targets in a blackout will be able to create, edit, stop, or delete the blackout.
In case an administrator has at least Blackout Target privileges on all Selected Targets
(targets directly added to the blackout), but does not have Blackout Target privileges
on some or all of the Dependent Targets, then that administrator will be able to edit,
stop, or delete the blackout. For more information on Blackout access, see "About
Blackouts Best Effort".

4.1.2 About Notification Blackouts
Notification Blackouts are solely for suppressing the notifications on targets during the
Notification Blackout duration. The Agent continues to monitor the target under
Notification Blackout and the OMS will show the actual target status along with an
indication that the target is currently under Notification Blackout. Events will be
generated as usual during a Notification Blackout. Only the event notifications are
suppressed.
The period of time under which the target is in Notification Blackout is not used to
calculate the target's Service Level Agreement (SLA).
To place a target under Notification Blackout, you need to have at least Blackout
Target privilege on the target.
There are two types of Notification Blackouts:
•

Maintenance Notification Blackout: The target is under a planned maintenance
and administrators do not want to receive any notifications during this period.
Since the target is brought down deliberately for maintenance purposes, the
Notification Blackout duration should not be considered while calculating the
availability percentage and SLA. In this scenario, an administrator should create a
maintenance Notification Blackout.

•

Notification-only Notification Blackout: The target is experiencing an
unexpected down time such as a server crash. While the administrator is fixing the
server, they do not want to receive alerts as they are already aware of the issue
and are currently working to resolve it. However, the availability percentage
computation should consider the actual target status of the Notification Blackout
duration and the SLA should be computed accordingly. In this scenario, the
administrator should create a Notification-only Notification Blackout.

By default, when a Notification Blackout is created, it is a maintenance Notification
Blackout (the Under Maintenance option will be selected by default and the
administrator will need to select the Non-maintenance option in order to create a
regular Notification-only Notification Blackout.
A Notification Blackout can be defined for individual target(s), a group of multiple
targets that reside on different hosts, or for all targets on a host. The Notification
Blackout can be scheduled to run immediately or in the future, or stop after a specific
duration. Notification Blackouts can be created on an as-needed basis, or scheduled

4-2

Chapter 4

Working with Blackouts/Notification Blackouts

to run at regular intervals. If, during the maintenance period, the administrator
discovers that he needs more (or less) time to complete his maintenance tasks, he can
easily extend (or stop) the Notification Blackout that is currently in effect. Notification
Blackout functionality is available from both the Enterprise Manager console as well as
via the Enterprise Manager command-line interface (EMCLI). EMCLI is often useful for
administrators who would like to incorporate the blacking out of a target within their
maintenance scripts.
Notification Blackout Access
Enterprise Manager administrators that have at least Blackout Target privileges on all
Selected Targets in a Notification Blackout will be able to create, edit, stop, or delete
the Notification Blackout.
In case an administrator has at least Blackout Target privileges on all Selected Targets
(targets directly added to the Notification Blackout), but does not have Blackout Target
privileges on some or all of the Dependent Targets, then that administrator will be able
to edit, stop, or delete the Notification Blackout.

4.2 Working with Blackouts/Notification Blackouts
Blackouts allow you to collect accurate monitoring data. For example, you can stop
data collections during periods where a managed target is undergoing routine
maintenance, such as a database backup or hardware upgrade. If you continue
monitoring during these periods, the collected data will show trends and other
monitoring information that are not the result of normal day-to-day operations. To get a
more accurate, long-term picture of a target's performance, you can use blackouts to
exclude these special-case situations from data analysis.

4.2.1 Creating Blackouts/Notification Blackouts
Blackouts/Notification Blackouts allow you to suspend monitoring on one or more
managed targets.
To create a Blackout/Notification Blackout:
1.

From the Enterprise menu, select Monitoring and then Blackouts and
Notification Blackouts.

2.

From the table, click Create. Blackout and Notification Blackout selection dialog
displays.

3.

Choose either Blackout or Notification Blackout and click Create. The Create
Blackout/Notification Blackout page displays.
When creating a Notification Blackout, you will also be able to specify the type of
Notification Blackout via the Maintenance Window options.

4.

•

Under maintenance. Target downtime is excluded from Availability(%)
calculations.

•

Non-maintenance. Any target downtime will impact Availability(%) calculations.

Enter the requisite parameters for the new blackout/Notification Blackout and then
click Submit.

4-3

Chapter 4

Working with Blackouts/Notification Blackouts

4.2.2 Editing Blackouts/Notification Blackouts
Blackouts allow you to suspend monitoring on one or more managed targets.
To edit a Blackout:
1.

From the Enterprise menu, select Monitoring and then Blackouts and
Notification Blackouts.

2.

If necessary, use the Search and display options to show the blackouts you want
to change in the blackouts table.

3.

Select the desired Blackout/Notification Blackout. Details are displayed. click Edit.
The Edit Blackout/Notification Blackout page displays.

4.

Make the desired changes and click Submit.

Note: Enterprise Manager also allows you to edit blackouts after they have already
started.

4.2.3 Viewing Blackouts/Notification Blackouts
To view information and current status of a blackout:
1.

From the Enterprise menu, select Monitoring and then Blackouts and
Notification Blackouts.

2.

If necessary, you can use the Search and display options to show the blackouts
you want to view in the blackouts table.

3.

Select the desired Blackout/Notification Blackout. Details are displayed.

Viewing Blackouts from Target Home Pages
For most target types, you can view a Blackout/Notification Blackout information from
the target home page for any target currently under Blackout/Notification Blackout. The
Blackout/Notification Blackout Summary region provides pertinent Blackout/Notification
Blackout status information for that target.
Viewing Blackout/Notification Blackouts from Groups and Systems Target
Administration Pages
For Groups and Systems, you can view Blackout/Notification Blackout information
about the number of active/scheduled Blackouts/Notification Blackouts on a group/
system and its member targets.

4.2.4 Purging Blackouts/Notification Blackouts That Have Ended
When managing a large number of targets, the number of completed Blackouts/
Notification Blackouts, or those Blackouts/Notification Blackouts that have been ended
by an administrator can become quite large. Removing these ended Blackouts/
Notification Blackouts facilitates better search and display for current Blackouts/
Notification Blackouts.
To purge ended Blackouts/Notification Blackouts from Enterprise Manager:
1.

From the Enterprise menu, select Monitoring and then Blackouts and
Brownouts.

4-4

Chapter 4

Controlling Blackouts Using the Command Line Utility

2.

Use the search criteria to filter for the desired targets.

3.

From the Show drop-down menu, select History.

4.

In the table, select the ended Blackouts/Notification Blackouts you want to remove
and click Delete. The Delete Blackout/Brownout confirmation page appears.

5.

Click Delete to complete the purge process.

4.3 Controlling Blackouts Using the Command Line Utility
You can control blackouts from the Oracle Enterprise Manager 13c Cloud Control
Console or from the Enterprise Manager command line utility (emctl). However, if you
are controlling target blackouts from the command line, you should not attempt to
control the same blackouts from the Cloud Control console. Similarly, if you are
controlling target blackouts from the Cloud Control console, do not attempt to control
those blackouts from the command line.
From the command line, you can perform the following blackout functions:
•

Starting Immediate Blackouts

•

Stopping Immediate Blackouts

•

Checking the Status of Immediate Blackouts

Note:
When you start a blackout from the command line, any Enterprise Manager
jobs scheduled to run against the blacked out targets will still run. If you use
the Cloud Control Console to control blackouts, you can optionally prevent
jobs from running against blacked out targets.
To use the Enterprise Manager command-line utility to control blackouts:
1.

Change directory to the AGENT_HOME/bin directory (UNIX) or the AGENT_INSTANCE_HOME
\bin directory (Windows).

2.

Enter the appropriate command as described in Table 4-1.

Note:
When you start a blackout, you must identify the target or targets affected by
the blackout. To obtain the correct target name and target type for a target,
see Administering Enterprise Manager Using EMCTL Commands.

4-5

Chapter 4

Controlling Blackouts Using the Command Line Utility

Table 4-1

Summary of Blackout Commands

Blackout Action

Command

Set an immediate blackout
on a particular target or list
of targets

emctl start blackout 
[[:]].... [-d ]
Be sure to use a unique name for the blackout so you can refer
to it later when you want to stop or check the status of the
blackout.
The -d option is used to specify the duration of the blackout.
Duration is specified in [days] hh:mm where:
•
days indicates number of days, which is optional
•
hh indicates number of hours
•
mm indicates number of minutes
If you do not specify a target or list of targets, Enterprise
Manager will blackout the local host target. All monitored targets
on the host are not blacked out unless a list is specified or you
use the -nodelevel argument.
If two targets of different target types share the same name, you
must identify the target with its target type.

Stop an immediate blackout emctl stop blackout 
Set an immediate blackout
for all targets on a host

emctl start blackout  [-nodeLevel] [-d
]
The -nodeLevel option is used to specify a blackout for all the
targets on the host; in other words, all the targets that the
Management Agent is monitoring, including the Management
Agent host itself. The -nodeLevel option must follow the
blackout name. If you specify any targets after the -nodeLevel
option, the list is ignored.

Check the status of a
blackout

emctl status blackout [[:]]....

Use the following examples to learn more about controlling blackouts from the
Enterprise Manager command line:
•

To start a blackout called "bk1" for databases "db1" and "db2," and for Oracle
Listener "ldb2," enter the following command:
$PROMPT> emctl start blackout bk1 db1 db2 ldb2:oracle_listener -d 5 02:30

The blackout starts immediately and will last for 5 days 2 hours and 30 minutes.
•

To check the status of all the blackouts on a managed host:
$PROMPT> emctl status blackout

•

To stop blackout "bk2" immediately:
$PROMPT> emctl stop blackout bk2

•

To start an immediate blackout called "bk3" for all targets on the host:
$PROMPT> emctl start blackout bk3 -nodeLevel

•

To start an immediate blackout called "bk3" for database "db1" for 30 minutes:
$PROMPT> emctl start blackout bk3 db1 -d 30

•

To start an immediate blackout called "bk3" for database "db2" for five hours:

4-6

Chapter 4

About Blackouts Best Effort

$PROMPT> emctl start blackout bk db2 -d 5:00

4.4 About Blackouts Best Effort
The Blackouts Best Effort feature allows you to create blackouts on aggregate targets,
such as groups or systems, for which you do not have Blackout Target (or Higher)
privileges on all members of the aggregate target.
Here, an Enterprise Manager administrator has Blackout Target privilege on an
aggregate target but do not have OPERATOR privilege on its member/associated
targets. You should ideally create a Full Blackout on this aggregate target. When
defining the blackout, you are allowed to select any member target, even those
member targets for which you have no Blackout Target privileges.
When the blackout actually starts, Enterprise Manager checks privileges on each
member target and only blackout those on which you have Blackout Target( or Higher)
privileges. This automated privilege check and target blackout selection is Enterprise
Manager's "best effort" at blacking out the aggregate target.

4.4.1 When to Use Blackout Best Effort
The Blackout Best Effort functionality is targeted towards the creation of blackouts on
targets of any aggregate type, such as Group, Hosts, Application Servers, Web
Applications, Redundancy Groups, or Systems.
All targets the blackout creator has Blackout Target (or higher) privilege on will be
displayed in the first step of Create/Edit Blackout Wizard. Once the blackout creator
selects an aggregate type of target to be included in the Blackout Definition, this
Blackout is "Full Blackout" by default.
The creator has the option of choosing the Blackout to run on “All Current" or
“Selected" Targets, by selecting the appropriate values from the List box. Only when
the "Full Blackout" option is chosen, will Blackout Best Effort affect targets for which
the creator does not have Blackout Target (or higher) privileges.
Example Use Case
Consider 3 targets T1,T2 and T3 (all databases). A Group G1 contains all these 3
targets.
User U1 has OPERATOR privilege on T1,T2 and G1. User U1 has VIEW privilege on
T3.
User U1 creates a scheduled full blackout on target G1. Scheduled implies that the
blackout will start at a later point in time.
At the time of blackout creation, the tip text Needs Blackout Target privilege, see Tip
below the table would be shown beside target T3.
When this blackout starts, if by that time User U1 has been granted OPERATOR
privileges on target T3, then target T3 would also be under blackout. Otherwise only
targets T1, T2 and G1 will be under blackout.

4-7

5
Managing Groups
This chapter introduces the concept of group management and contains the following
sections:
•

Introduction to Groups

•

Managing Groups

•

Using Out-of-Box Reports

5.1 Introduction to Groups
Groups are an efficient way to logically organize, manage, and monitor the targets in
your global environments. Each group has its own group home page. The group home
page shows the most important information for the group and enables you to drill down
for more information. The home page shows the overall status of the group and other
information such as current availability, incidents, and patch recommendations for
members of the group.
Group Management Tasks
You can use Enterprise Manager to perform the following group management
functions:
•

Edit the configuration of a selected group, remove groups, and, in the case of an
Administration Group, associate or disassociate a Template Collection.

•

View the status and health of the group from the System Dashboard

•

Drill down from a specific group to collectively monitor and manage its member
targets.

•

View a roll-up of member statuses and open incidents for members of the group.

•

Apply blackouts to all targets in a group.

•

Run jobs against a group

•

Run a report

•

Apply monitoring templates

•

Associate compliance standards

In addition to creating groups, you can also create specific types of groups, such as
redundancy groups, privilege propagating groups, and dynamic groups. The following
sections explain the different types of groups.

5.1.1 Overview of Groups
Groups enable you to collectively monitor and administer many targets as a single
logical unit. For example, you can define a group to contain all the databases serving
an enterprise application, and define another group to contain all the hosts in a host
farm. You can then use these groups to perform administrative operations. To create a

5-1

Chapter 5

Introduction to Groups

group, you can manually select and add the members of the group. If you add an
aggregate target, such as a Cluster Database, all of its member targets are
automatically added to the group.
A group can include targets of the same type, such as all your production databases,
or it could include all the targets on a host which would be comprised of different target
types. You can nest static groups inside each other. In the target selector when you
are selecting group members, choose Group as the target type, or choose a parent
group as part of the process of creating a group.
If a system target is added to a group, it automatically pulls in its member targets. This
could be the case of a regular group where a system such as WebLogic Server is
added and also pulls in its members, or in a dynamic group where you specify a
Target type to be an Oracle WebLogic Server and it also pulls in members of the
WebLogic Server even though it does not match the dynamic group criteria. In this
scenario, the group operations (for example, runnning jobs, blackouts, and so on)
apply to all members of the group.

Note:
Because the Enterprise Manager Repository is a member of the OMS and the
Enterprise Manager Repository is a RAC database, the ASMs and listeners
are added as group members as well.
You can also check the member relationships of any target by navigating to
the target home page. From the  menu, select Members—>Topology
—>View: System Members

After you configure a group, you can perform various administrative operations, such
as:
•

View a summary status of the targets within the group.

•

View a roll-up of member statuses and open incidents for members of the group.

•

View a summary of critical patch advisories.

•

View configuration changes during the past 7 days.

•

Create jobs and view the status of job executions.

•

Create blackouts and view the status of current blackouts.

5.1.2 Overview of Privilege Propagating Groups
Privilege propagating groups enable administrators to propagate privileges to
members of a group. You can grant a privilege on a group once to an administrator or
a role and have that same privilege automatically propagate to any new member of the
group. For example, granting operator privilege on a privilege propagating group to an
Administrator grants him the operator privilege on its member targets and also to any
members that will be added in the future. Privilege propagating groups can contain
individual targets or other privilege propagating groups. Any aggregate that you add to
a privilege propagating group must also be privilege propagating as well. For example,
any group that you add to a privilege propagating group must also be privilege
propagating.

5-2

Chapter 5

Introduction to Groups

Privileges on the group can be granted to an Enterprise Manager administrator or a
role. Use a role if the privileges you want to grant are to be granted to a group of
Enterprise Manager administrators.
For example, suppose you create a privilege propagating group and grant a privilege
to a role which is then granted to administrators. If new targets are later added to the
privilege propagating group, then the administrators receive the privileges on the
target automatically. Additionally, when a new administrator is hired, you only need to
grant the role to the administrator for the administrator to receive all the privileges on
the targets automatically.

5.1.3 Overview of Dynamic Groups
The membership management for groups is typically manual or static in nature.
Manually managing memberships works well for small deployments but not
necessarily in large, dynamic environments where new targets come into the system
frequently. Groups whose members are added frequently would be easier to maintain
if they were to be defined by membership criteria instead of adding targets directly into
the group. When the membership criteria is defined once, Enterprise Manager will
automatically add targets.
A dynamic group is a group whose membership is determined by membership criteria.
The owner of a dynamic group specifies the membership criteria during dynamic group
creation (or modification) and membership in the group is determined solely by the
criteria specified. Membership in a dynamic group cannot be modified directly because
targets cannot be directly added to a dynamic group. Enterprise Manager
automatically adds targets that match membership criteria when a dynamic group is
created. It also updates group membership as new targets are added or target
properties are changed and the target matches the group's membership criteria.
It is important to note that static groups can contain dynamic groups as members but
not the other way around. You cannot include a static group as a member of a
dynamic group.
Use the Define Membership Criteria function of Dynamic Groups to define the criteria
for group membership. Once you have defined criteria, the targets selected by the
criteria will be displayed in a read-only table in the Members region of the Groups
page. Since dynamic groups are defined by criteria, you can intentionally or
unintentionally define criteria that could result in very large groups.
The following requirements apply to dynamic groups:
•

Dynamic groups cannot contain static groups, other dynamic groups, or
administration groups.

•

Administration groups cannot contain dynamic groups, however, a static group can
contain dynamic groups as a member.

•

OR-based criteria is not supported. All criteria selected on the criteria page are
AND-based.

•

Supported properties are limited to global properties plus other attributes
specifically supported for administration groups such as Version, Platform, Target
Name and Type, and so on. Specifically user-defined properties and other
instance properties, plus config data elements are not supported as criteria.

•

The View Any Target and Add Any Target privileges are required to create a
dynamic group.

5-3

Chapter 5

Introduction to Groups

•

The Full Any Target, Add Any Target, and Create Privilege Propagating Group
privileges are required to create a privilege-propagating dynamic group.

5.1.4 Overview of Administration Groups
Administration Groups greatly simplify the process of setting up targets for
management in Enterprise Manager by automating the application of management
settings such as monitoring settings or compliance standards. Typically, these settings
are manually applied to individual target, or perhaps semi-automatically using custom
scripts. However, by defining Administration Groups, Enterprise Manager uses specific
target properties to direct the target to the appropriate Administration Group and then
automatically apply the requisite monitoring and management settings. This level of
automation simplifies the target setup process and also enables a datacenter to easily
scale as new targets are added to Enterprise Manager for management.
Administration groups are a special type of group used to fully automate application of
monitoring and other management settings upon joining the group. When a target is
added to the group, Enterprise Manager applies these settings using a Template
Collection consisting of Monitoring Templates, compliance standards, and cloud
policies. This completely eliminates the need for administrator intervention.
To watch Part 1 of a video about using administrative groups and template collections,
click here.
To watch Part 2 of the video about using administrative groups and template
collections, click here.

5.1.5 Choosing Which Type of Group To Use
There are two major types of groups you can choose to manage targets: Static
Groups/ Dynamic groups, which can be one or more groups that you define, and
Administration Groups for automating monitoring setup using templates.
You should carefully consider the purpose of your group and the function it serves
before determining which type of group to use.
The following table diagrams when you should use Administration Groups or Dynamic
Groups.
Table 5-1

When To Use Administration Groups vs. Dynamic Groups

Type of Group

Main Purpose

Membership Based
on Criteria

Additional
Membership
Requirements

Privilege
Propagating

Administration Group

Auto-apply monitoring
templates

Yes, based on target
properties

Target can belong to
at most one
administration group

Yes (always)

Dynamic Group

Perform any group
operation.

Yes, based on target
properties

Target can belong to
one or more groups

User-specified
option

The main purpose of an Administration Group is to automate the application of
management settings, such as monitoring settings or compliance standards. When a
target is added to the group, Enterprise Manager automatically applies these settings
using templates to eliminate the need for administrator action.

5-4

Chapter 5

Managing Groups

Dynamic groups, on the other hand, can be used to manage many targets as a single
unit where you can define the group membership by defining the properties that
constitute the group. For example, you could use dynamic groups to manage
privileges or groups that you create containing the targets that are managed for
different support teams.

5.2 Managing Groups
By combining targets in a group, Enterprise Manager provides management features
that enable you to efficiently manage these targets as one group. Using the Group
functionality, you can:
•

View a summary status of the targets within the group.

•

Monitor incidents for the group collectively, rather than individually.

•

Monitor the overall performance of the group.

•

Perform administrative tasks, such as scheduling jobs for the entire group, or
blacking out the group for maintenance periods.

You can also customize the console to provide direct access to group management
pages.
When you choose Groups from the Targets menu in the Enterprise Manager, the
Groups page appears. You can view the currently available groups and perform the
following tasks:
•

View a list of all the defined groups.

•

Search for existing groups and save search criteria for future searches.

•

View a member status summary and rollup of incidents for members in a group.

•

Create Groups, Dynamic Groups or the Administration Group hierarchy, edit the
configuration of a selected group, remove groups, and, in the case of an
Administration Group, associate or disassociate a Template Collection.

•

Add groups or privilege propagating groups, remove groups, and change the
configuration of currently defined groups.

•

Drill down from a specific group to collectively monitor and manage its member
targets.

•

Customize the homepage of a specific group

Redundancy systems and special high availability groups are not accessed from this
Groups page. You can access them from the All Targets page or you can access
Redundancy Systems and other systems from the Systems page.

5.2.1 Creating and Editing Groups
Enterprise Manager Groups enable administrators to logically organize distributed
targets for efficient and effective management and monitoring.
To create a group, follow these steps:
1.

From the Enterprise Manager Console, choose Targets then choose Groups.
Alternately, you can choose Add Target from the Setup menu and choose the
menu option to add the specific type of group.

5-5

Chapter 5

Managing Groups

2.

Click Create and choose the type of group you want to create. The Enterprise
Manager Console displays a set of Create Group pages that function similarly to a
wizard.

3.

On the General tab of the Create Group page, enter the Name of the Group you
want to create. If you want to make this a privilege propagating group, then enable
the Privilege Propagation option by clicking Enabled. If you enable Privilege
Propagation for the group, the target privileges granted on the group to an
administrator or a role are propagated to the member targets. As with regular
groups with privilege propagation, the Create Privilege Propagating Group
privilege is required for creation of privilege propagating dynamic groups. In
addition, the Full any Target privilege is required to enable privilege propagation
because only targets on which the owner has Full Target privileges can be
members, and any target can potentially match the criteria and a system wide Full
privilege is required. To create a regular dynamic group, the View any Target
system wide privilege is required as the group owner must be able to view any
target that can potentially match the membership criteria.

4.

Configure each page, then click OK. You should configure all the pages before
clicking OK. For more information about these steps, see the online help.

After you create the group, you always have immediate access to it from the Groups
page.
You can edit a group to change the targets that comprise the group, or change the
metrics that you want to use to summarize a given target type. To edit a group, follow
these steps:
1.

From the Enterprise Manager Console, choose Targets then choose Groups.

2.

Click the group Name for the group you want to edit.

3.

Click Edit from the top of the groups table.

4.

Change the configuration for a page or pages, then click OK.

5.2.2 Creating Dynamic Groups
The owner of a dynamic group specifies the membership criteria during dynamic group
creation (or modification) and membership in the group is determined solely by the
criteria specified. Membership in a dynamic group cannot be modified directly.
Enterprise Manager automatically adds targets that match membership criteria when a
dynamic group is created. It also updates group membership as new targets are
added or target properties are changed and the targets match the group's membership
criteria.
To create a dynamic group, follow these steps:
1.

From the Groups page, click Create and then select Dynamic Group from the
drop-down list. Alternately, you can choose Add Target from the Setup menu and
then select Group.

2.

On the General tab of the Create Dynamic Group page, enter the Name of the
Dynamic Group you want to create. If you want to make this a privilege
propagating dynamic group, then enable the Privilege Propagation option by
clicking Enabled. If you enable Privilege Propagation for the group, the target
privileges granted on the group to an administrator or a role are propagated to the
member targets. As with regular groups with privilege propagation, the Create
Privilege Propagating Group privilege is required for creation of privilege

5-6

Chapter 5

Managing Groups

propagating dynamic groups. In addition, the Full any Target privilege is required
to enable privilege propagation because only targets on which the owner has Full
Target privileges can be members, and any target can potentially match the
criteria and a system wide Full privilege is required. To create a regular dynamic
group, the View any Target system wide privilege is required as the group owner
must be able to view any target that can potentially match the membership criteria.
The privilege propagating group feature contains two privileges:
•

Create Privilege Propagating Group
This privileged activity allows the administrators to create the privilege
propagating groups. Administrators with this privilege can create propagating
groups and delegate the group administration activity to other users.

•

Group Administration
Grant this privilege to an administrator or role that enables him to become
group administrator for the group. This means he can perform operations on
the group, share privileges on the group with other administrators, etc.
The Group Administration Privilege is available for both Privilege Propagating
Groups and conventional groups. If you are granted this privilege, you can
grant full privilege access to the group to other Enterprise Manager users
without having to be the SuperAdministrator to grant the privilege.

3.

In the Define Membership Criteria section, define the criteria for the dynamic group
membership by clicking Define Membership Criteria.
The Define Membership Criteria page appears where you can Add or Remove
properties of targets to be included in the group. Group members must match one
value in each of the populated target properties. Use the Member Preview section
to review a list of targets that match the criteria. Click OK to return to the General
page.
At least one of the criteria on the Define Membership Criteria page must be
specified. You cannot create a Dynamic group without at least one of the target
types, on hosts or target properties specified. Use the following criteria for dynamic
groups:
•

Target type(s)

•

Department

•

On Host

•

Target Version

•

Lifecycle Status

•

Operating System

•

Line of Business

•

Platform

•

Location

•

CSI

•

Cost Center

•

Contact

•

Comment

5-7

Chapter 5

Managing Groups

You can add or remove properties using the Add or Remove Target Properties
button on the Define Membership Criteria page.
4.

Enter the Time Zone. The time zone you select is used for scheduling operations
such as jobs and blackouts on this group. The groups statistics charts will also use
this time zone.

5.

Click the Charts tab. Specify the charts that will be shown in the Dynamic Group
Charts page. By default, the commonly used charts for the target types contained
in the Dynamic Group are added.

6.

Click the Columns tab to add columns and abbreviations that will be seen in the
Members page and also in the Dashboard.

7.

Click the Dashboard tab to specify the parameters for the System Dashboard.
The System Dashboard displays the current status and incidents and compliance
violations associated with the members of the Dynamic Group in graphical format.

8.

Click the Access tab. Use the Access page to administer access privileges for the
group. On the Access page you can grant target access to Enterprise Manager
roles and grant target access to Enterprise Manager administrators.

9.

Click OK to create the Dynamic Group.

5.2.3 Adding Members to Privilege Propagating Groups
The target privileges granted on a propagating group are propagated to member
targets. The administrator grants target objects scoped to another administrator, and
the grantee maintains the same privileges on member targets. The propagating groups
maintain the following features:
•

The administrator with a Create Privilege Propagating Group privilege will be able
to create a propagating group

•

To add a target as a member of a propagating group, the administrator must have
Full target privileges on the target

You can add any non-aggregate target as the member of a privilege propagating
group. For aggregate targets in Cloud Control version 12c, cluster and RAC databases
and other propagating groups can be added as members. Cloud Control version 12c
supports more aggregate target types, such as redundancy systems, systems and
services.
If you are not the group creator, you must have at least the Full target privilege on the
group to add a target to the group.

5.2.4 Converting Conventional Groups to Privilege Propagating
Groups
In Enterprise Manager release 12c you can convert conventional groups to privilege
propagating groups (and vice-versa) through the use of the specified EM CLI verb.
Two new parameters have been added in the modify_group EM CLI verb:
•

privilege_propagation
This parameter is used to modify the privilege propagation behavior of the group.
The possible value of this parameter is either true or false.

•

drop_existing_grants

5-8

Chapter 5

Managing Groups

This parameter indicates whether existing privilege grants on that group are to be
revoked at the time of converting a group from privilege propagation to normal (or
vice versa). The possible values of this parameter are yes or no. The default value
of this parameter is yes.
These same enhancements have been implemented on the following EM CLI verbs:
modify_system, modify_redundancy_group, and modify_aggregrate_service.
The EM CLI verb is listed below:
emcli modify_group
-name="name"
[-type=]
[-add_targets="name1:type1;name2:type2;..."]...
[-delete_targets="name1:type1;name2:type2;..."]...
[-privilege_propagation = true/false]
[-drop_existing_grants = Yes/No]

For more information about this verb and other EM CLI verbs, see the EM CLI
Reference Manual.

5.2.5 Viewing and Managing Groups
Enterprise Manager enables you to quickly view key information about members of a
group, eliminating the need to navigate to individual member targets to check on
availability and performance. You can view the entire group on a single screen and
drill down to obtain further details. The Group Home page provides the following
sections:
•

A General section that displays the general information about the group, such as
the Owner, Group Type, and whether the group is privilege propagating. You can
drill down to the Edit Group page to enable or disable privilege propagating by
clicking on the Privilege Propagating field.

•

A Status section that shows how many member targets are in Up, Down, and
Unknown states. For nested groups, this segment shows how many targets are in
up, down, and unknown states across all its sub-groups. The status roll up count is
based on the unique member targets across all sub-groups. Consequently, even if
a target appears more than once in sub-groups, it is counted only once in status
roll ups.

•

An Overview of Incidents and Problems section that displays the summary of
incidents on members of the group that have been updated in the recent period of
time. It also shows a count of open problems as well as problems updated in
recent period of time.
The rolled up information is shown for all the member targets regardless of their
status. The status roll up count is based on the unique member targets across all
sub-groups. Consequently, even if a target appears more than once in sub-groups,
its alerts are counted only once in alert roll ups.
Click the number in the Problems column to go to the Incident Manager page to
search, view, and manage exceptions and issues in your environment. By using
Incident Manager, you can track outstanding incidents and problems.

•

A Compliance Summary section that shows the compliance of members of the
group against the compliance standards defined for the group. This section also

5-9

Chapter 5

Managing Groups

shows a rollup of violations by severity (critical, warning, minor warning) as well as
the average compliance score(%).
•

A Job Activity section that displays a summary of jobs for the targets in the group
whose start date is within the last 7 days. You can click Show to see the latest run
or all runs. Click View to select and reorder the columns that appear in the table or
to adjust scrolling and expanding the table.

•

A Blackouts section that displays information about current or pending blackouts.
You can also create a blackout from this section.

•

A Patch Recommendations section that displays the Oracle patch
recommendations that are applicable to your enterprise. You can view patch
recommendations by classification or target type.
You can navigate to My Oracle Support to view all recommendations by clicking
the All Recommendations link.

•

An Inventory and Usage section where you can view inventory summaries for
deployments such as hosts, database installations, and fusion middleware
installations on an enterprise basis or for specific targets. You can also view
inventory summary information in the context of different dimensions. From here
you can click See Details to display the Inventory and Usage page.

•

A Configuration Changes section that displays the number of configuration
changes to the group in the previous 7 days. You can click the number to display a
page that displays detailed information about the changes. Enterprise Manager
automatically collects configuration information for group targets and changes to
configurations are recorded and may be viewed from that page.

Viewing a Group
To view a group, follow these steps:
1.

From the Enterprise Manager Console, choose Targets then choose Groups. A
summary table lists all defined groups.

2.

Click the desired group to go to the Home page of that group.

You can use View By filters (located in the upper right corner of the home page) to
change the view of the homepage to members of targets of a specific type. When you
do this, the Group homepage refreshes to only show information for targets of that
type. Additional regions of interest might display. For example, DBAs might switch to
the Database filter to view information specifically on Database targets in the group.
You can also personalize the home page by clicking the Actions icon in the upper right
corner of each region on the home page to move that region up or down on the page.
You can also expand or contract a region by clicking the arrow icon in the upper left
corner of each region.
You can also navigate to other management operations on the group using the Group
menu. For example, you can view all the members in a group by choosing Member
from the Group menu. Likewise you can view the Membership History of the group
by choosing Membership History from the Group menu.

5.2.6 Overview of Group Charts
Group Charts enable you to monitor the collective performance of a group. Out-of-box
performance charts are provided based on the type of members in the group. For
example, when databases are part of the group, a Wait Time (%) chart is provided that

5-10

Chapter 5

Managing Groups

shows the top databases with the highest wait time percentage values. You can view
this performance information over the last 24 hours, last 7 days, or last 31 days. You
can also add your own custom charts to the page.

5.2.7 Overview of Group Members
Enterprise Manager allows you to summarize information about the member targets in
a group. It provides information on their current availability status, roll-up of open
incidents and compliance violations, and key performance metrics based on the type
of targets in the group.
You can visually assess availability and relative performance across all member
targets. You can rank members by a certain criterion (for example, database targets in
order of decreasing wait time percentage). You can display default key performance
metrics based on the targets you select, but you can customize these to include
additional metrics that are important for managing your group.
You can view the members of a group by choosing Members from the Group menu.
Enterprise Manager displays the Members page where you can view the table of
members filtered by All Members, Direct Members, or Indirect Members. Direct
members are targets directly added to the group. Indirect members are targets that are
members of a direct member target, and are automatically included into the group
because their parent target was added to the group. The page provides the option to
Export or Edit the group.
You can also access information about membership history by choosing Membership
History from the Group menu. The Membership History page displays changes in the
group membership over time.

5.2.8 Viewing Group Status History
You can view Status History for a group to see the historical availability of a member
during a specified time period or view the current status of all group members. You
can access the Status History page by choosing Monitoring from the Group menu
and then selecting Status History.
Bar graphs provide a historical presentation of the availability of group members
during a time period you select from the View Data drop-down list. The color-coded
graphs can show statuses of Up, Down, Under Blackout, Agent Down, Metric
Collection Error, and Status Pending. You can select time periods of 24 hours, 7 days,
or 31 days.
To view the current status of a member, you can click a Status icon on the View Group
Status History page to go to the Availability page, which shows the member's current
and past availability status within the last 24 hours, 7 days, or 31 days. Click a
member Name to go to the member's Home page. You can use this page as a starting
point when evaluating the performance of the selected member.

5.2.9 About the System Dashboard
The System Dashboard enables you to proactively monitor the status, incidents and
compliance violations in the group as they occur. The color-coded interface is
designed to highlight problem areas — targets that are down are highlighted in red,
metrics in critical severity are shown as red dots, metrics in warning severity are

5-11

Chapter 5

Managing Groups

shown as yellow dots, and metrics operating within normal boundary conditions are
shown as green dots.
Using these colors, you can easily determine the problem areas for any target and drill
down for details as needed. An incident table is also included to provide a summary for
all open incidents in the group. The incidents in the table are presented in reverse
chronological order to show the most recent incidents first, but you can also click any
column in the table to change the sort order. The colors in top bar of the Member
Targets table change based on the incident's critical level. The priority progresses from
warning to critical to fatal. If the group has at least one fatal incident (irrespective of
critical or warning incidents), the top bar becomes dark red. If the group has at least
one critical incident (irrespective of warning incidents), the top bar becomes faint red. If
the group has only warning incidents, the top bar turns yellow. If the group has no
incidents, the top bar remains colorless.
The Dashboard auto-refreshes based on the Refresh Frequency you set on the
Customize Dashboard page.
The Dashboard allows you to drill down for more detailed information. You can click
the following items in the Dashboard for more information:
•

A target name to access the target home page

•

A group or system name to access the System Dashboard

•

Status icon corresponding to specific metric columns to access the metric detail
page

•

Status icon for a metric with key values to access the metric page with a list of all
key values

•

Dashboard header to access the group home page

•

Incidents and Problems table to view summary information about all incidents or
specific categories of incidents.

Click Customize to access the Customize Dashboard page. This page allows you to
change the refresh frequency and display options for the Member Targets table at the
top of the dashboard. You can either show all individual targets or show by target type.
There is also the option to expand or contract the Incidents and Problems table at the
bottom. To change the columns shown in the Member Targets table, go to the
Columns tab of the Edit Group page which you can access by choosing Target Setup
from the Group menu.
In the Group by Target Type mode, the Dashboard displays information of the targets
based on the specific target types present in the group or system. The statuses and
incidents displayed are rolled up for the targets in that specific target type.
If you minimize the dashboard window, pertinent alert information associated with the
group or system is still displayed in the Microsoft Windows toolbar.
You can use Information Publisher reports to make the System Dashboard available to
non-Enterprise Manager users. First, create a report and include the System
Monitoring Dashboard reporting element. In the report definition, choose the option,
Allow viewing without logging in to Enterprise Manager. Once this is done, you can
view it from the Enterprise Manager Information Publisher Reports website.

5-12

Chapter 5

Using Out-of-Box Reports

5.3 Using Out-of-Box Reports
Enterprise Manager provides several out-of-box reports for groups as part of the
reporting framework, called Information Publisher. These reports display important
administrative information, such as hardware and operating system summaries across
all hosts within a group, and monitoring information, such as outstanding alerts and
incidents for a group.
You can access these reports from the Information Publisher Reports menu item on
the Groups menu.

See Also:
Using Information Publisher

5-13

6
Using Administration Groups
Administration groups greatly simplify the process of setting up targets for
management in Enterprise Manager by automating the application of management
settings such as monitoring settings or compliance standards. Typically, these settings
are manually applied to individual target, or perhaps semi-automatically using custom
scripts. However, by defining administration groups, Enterprise Manager uses specific
target properties to direct the target to the appropriate administration group and then
automatically apply the requisite monitoring and management settings. Any change to
the monitoring setting will be automatically applied to the appropriate targets in the
administration group. This level of automation simplifies the target setup process and
also enables a datacenter to easily scale as new targets are added to Enterprise
Manager for management.
This chapter covers the following topics:
•

What is an Administration Group?

•

Planning an Administrative Group

•

Implementing Administration Groups and Template Collections

•

Removing Administration Groups

Note:
For a video tutorials on using administration groups and template collections,
see:
Use Administration Groups and Template Collections - Part 1
https://apex.oracle.com/pls/apex/f?
p=44785:24:6424795248965:::24:P24_CONTENT_ID%2CP24_PREV_PAGE:5732%2C24

Use Administration Groups and Template Collections - Part 2
https://apex.oracle.com/pls/apex/f?
p=44785:24:15101831740469:::24:P24_CONTENT_ID%2CP24_PREV_PAGE:5733%2C24

6.1 What is an Administration Group?
Administration groups are a special type of group used to fully automate application of
monitoring and other management settings targets upon joining the group. When a
target is added to the group, Enterprise Manager applies these settings using a
template collection consisting of monitoring templates, compliance standards, and
cloud policies. This completely eliminates the need for administrator intervention. The
following illustration demonstrates the typical administration group workflow:

6-1

Chapter 6

What is an Administration Group?

The first step involves setting a target's Lifecycle Status property when a target is first
added to Enterprise Manager for monitoring. At that time, you determine where in the
prioritization hierarchy that target belongs; the highest level being "mission critical" and
the lowest being "development."Target Lifecycle Status prioritization consists of the
following levels:
•

Mission Critical (highest priority)

•

Production

•

Stage

•

Test

•

Development (lowest priority)

As shown in step two of the illustration, once Lifecycle Status is set, Enterprise Manger
uses it to determine which administration group the target belongs.
In order to prevent different monitoring settings to be applied to the same target,
administration groups were designed to be mutually exclusive with other administration
groups in terms of group membership. Administration groups can also be used for
hierarchically classifying targets in an organization, meaning a target can belong to at
most one administration group. This also means you can only have one administration
group hierarchy in your Enterprise Manager deployment.
For example, in the previous illustration, you have an administration group hierarchy
consisting of two subgroups: Production targets and Test targets, with each subgroup
having its own template collections. In this example, the Production group inherits

6-2

Chapter 6

Planning an Administrative Group

monitoring settings from monitoring template A while targets in the Test subgroup
inherit monitoring settings from monitoring template B.

6.1.1 Developing an Administration Group
In order to create an administration group, you must have both Full Any Target and
Create Privilege Propagating Group target privileges.
Developing an administration group is performed in two phases:
•

•

Planning
–

Plan your administration group hierarchy by creating a group hierarchy in a
way reflects how you monitor your targets.

–

Plan the management settings associated with the administration groups in
the hierarchy.
*

Management settings: Monitoring settings, Compliance standard settings,
Cloud policy settings

*

For Monitoring settings, you can have additional metric settings or
override metric settings lower in your hierarchy

*

For Compliance standards or Cloud policies, additional rules/policies lower
in the hierarchy are additive

Implementation
–

Enter the group hierarchy definition and management settings in Enterprise
Manager.
*

Create the administration group hierarchy.

*

Create the monitoring templates, compliance standards, cloud policies
and add these to template collections.

*

Associate template collections with administration groups.

*

Add targets to the administration group by assigning the appropriate
values to the target properties such that Enterprise Manager automatically
adds them to the appropriate administration group.

6.2 Planning an Administrative Group
As with any management decision, the key to effective implementation is planning and
preparation. The same holds true for administration groups.
Step 1: Plan Your Group Hierarchy
You can only have one administration group hierarchy in your Enterprise Manager
deployment, thus ensuring that administration group member targets can only directly
belong to one administration group. This prevents monitoring conflicts from occurring
as a result of having a target join multiple administration groups with different
associated monitoring settings.
To define the hierarchy, you want to think about the highest (root) level as consisting
of all targets that have been added to Enterprise Manager. Next, think about how you
want to divide your targets along the lines of how they are monitored, where targets
that are monitored in one way are in one group, and targets that are monitored in
another way are part of another group. For example, Production targets might be

6-3

Chapter 6

Planning an Administrative Group

monitored one way and Test targets might be monitored in another way. You can
further divide individual groups if there are further differences in monitoring. For
example, your Production targets might be further divided based on the line of
business they support because they might have additional metrics that need to be
monitored for that line of business. Eventually, you will end up with a hierarchy of
groups under a root node.

The attributes used to define each level of grouping and thus the administration group
membership criteria are based on global target properties as well as user-defined
target properties. These target properties are attributes of every target and specify
operational information within the organization. For example, location, line of business
to which it belongs, and lifecycle status. The global target properties that can be used
in the definition of administration groups are:
•

Lifecycle Status

Note:
Lifecycle Status target property is of particular importance because it denotes
a target's operational status. Lifecycle Status can be any of the following:
Mission Critical, Production, Staging, Test, or Development.
•

Location

•

Line of Business

•

Department

•

Cost Center

•

Contact

•

Platform

•

Operating System

•

Target Version

•

Customer Support Identifier

•

Target Type (Allowed but not a global target property.)

6-4

Chapter 6

Planning an Administrative Group

You can create custom user-defined target properties using the EM CLI verbs
add_target_property and set_target_property_value. See the Oracle Enterprise
Manager Command Line Interface Guide for more information.
You cannot manually add targets to an administration group. Instead, you set the
target properties of the target (prospective group member) to match the membership
criteria defined for the administration group. Once the target properties are set,
Enterprise Manager automatically adds the target to the appropriate administration
group.
Target Properties Master List
To be used with administration group (and dynamic groups), target properties must be
specified in a uniformly consistent way by all users in your managed environment. In
addition, you may want to limit the list of target property values that can be defined for
a given target property value. To accomplish this, Enterprise Manager lets you define
a target properties master list. When a master list is defined for a specific target type, a
drop-down menu containing the predefined property values appears in place of a text
entry field on a target's target properties page. You use the following EM CLI verbs to
manage the master properties list:
•

use_master_list: Enable or disable a master list used for a specified target a
property.

•

add_to_property_master_list: Add target property values to the master list for a
specified property.

•

delete_from_property_master_list: Delete values from the master list for
specified property.

•

list_property_values: List the values for a property's master list

•

list_targets_having_property_value: Lists all targets with the specified property
value for this specified property name.

•

rename_targets_property_value: Changes the value of a property for all targets.

For more information about the master list verbs, see the Oracle Enterprise Manager
Command Line Interface Guide. Note: You must have Super Administrator privileges
in order to define/maintain the target properties master list.
Enterprise Manager Administrators and Target Properties
When creating an Enterprise Manager administrator, you can associate properties
such as Contact, Location, and Description. However, there are additional resource
allocation properties that can be associated with their profile. These properties are:
•

Department

•

Cost Center

•

Line of Business

It is important to note that these properties are persistent--when associated with an
administrator, the properties (which mirror, in part, the target properties listed above)
are automatically passed to any targets that are discovered or created by the
administrator.
Example
In the following administration group hierarchy, two administration groups are created
under the node Root Administration Group, Production and Test, because monitoring
settings for production targets will differ from the monitoring settings for test targets.

6-5

Chapter 6

Planning an Administrative Group

In this example, the group membership criteria are based on the Lifecycle Status
target property. Targets whose Lifecycle Status is 'Production' join the Production
group and targets whose Lifecycle Status is 'Test' join the Test group. For this reason,
Lifecycle Status is the target property that determines the first level in the
administration group hierarchy. The values of Lifecycle Status property determine the
membership criteria of the administration groups in the first level: Production group
has membership criteria of "Lifecycle Status = Production" and Test group has
membership criteria of "Lifecycle Status = Test' membership criteria.
Additional levels in the administration group hierarchy can be added based on other
target properties. Typically, additional levels are added if there are additional
monitoring (or management) settings that need to be applied and these could be
different for different subsets of targets in the administration group. For example, in the
Production group, there could be additional monitoring settings for targets in Finance
line of business that are different from targets in Sales line of business. In this case, an
additional level based on Line of Business target property level would be added.
The end result of this hierarchy planning exercise is summarized in the following table.
Root Level (First Row)

Level 1 target property
(second row)
Lifecycle Status

Level 2 target property
(third row)
Line of Business

Root Administration Group

Production or Mission Critical

Finance

_

_

Sales

_

Staging or Test or
Development

Finance

_

_

Sales

Each cell of the table represents a group. The values in each cell represent the values
of the target property that define membership criteria for the group.
It is possible to have the group membership criteria be based on more than one target
property value. In that case, any target whose target property matches any of the
values will be added to the group. For example, in the case of the Production group, if
the Lifecycle Status of a target is either Production or Mission Critical, then it will be
added to the Production group.
It is also important to remember that group membership criteria is cumulative. For
example, for the Finance group under Production or Mission Critical group, a target
must have its Lifecycle Status set to Production or Mission Critical AND its Line of
Business set to Finance before it can join the group. If the target has its Lifecycle

6-6

Chapter 6

Planning an Administrative Group

Status set to Production but does not have its Line of Business set to Finance or
Sales, then it does not join any administration group.
For this planning example, the resulting administration group hierarchy would appear
as shown in the following graphic.

It is important to note that a target can become part of hierarchy if and only if its
property values match criteria at both the levels. A target possessing matching values
for lifecycle status cannot become member of the administration group at the first
level. Also, all targets in the administration group hierarchy will belong to the lowest
level groups.
Step 2: Assign Target Properties
After establishing the desired administration group hierarchy, you must make sure
properties are set correctly for each target to ensure they join the correct
administration group. Using target properties, Enterprise Manager automatically places
targets into the appropriate administration group without user intervention. For targets
that have already been added to Enterprise Manager, you can also set the target
properties via the console or using the EM CLI verb set_target_property_value, See
the Oracle Enterprise Manager Command Line Interface Guide for more information.
Note that when running set_target_property_value, any prior values of the target
property are overwritten. If you set target properties before hierarchy creation, it will
join the group after it is created. The targets whose properties are set using EM CLI
will automatically join their appropriate administration groups. Target properties can,
however, be set after the administration group hierarchy is created.
For small numbers of targets, you can change target properties directly from the
Enterprise Manager console.
1.

From an Enterprise Manager target's option menu, select Target Setup, then
select Properties.

6-7

Chapter 6

Planning an Administrative Group

2.

On the Target Properties page, click Edit to change the property values.

6-8

Chapter 6

Planning an Administrative Group

To help you specify the appropriate target property values used as administration
group criteria, pay attention to the instructional verbiage at the top of the page.
3.

Once you have set the target properties, click OK.

For large numbers of targets, it is best to use the Enterprise Manager Command Line
Interface (EM CLI) set_target_property_value verb to perform a mass update. For
more information about this EM CLI verb, see the Enterprise Manager Command Line
Interface guide.
Administration groups are privilege-propagating: Any privilege that you grant on the
administration group to a user (or role) automatically applies to all members of the
administration group. For example, if you grant Operator privilege on the Production
administration group to a user or role, then the user or role automatically has Operator
privileges on all targets in the administration group. Because administration groups are
always privilege propagating, any aggregate target that is added to an administration
group must also be privilege propagating.

Note:
An aggregate target is a target containing other member targets. For example,
a Cluster Database (RAC) is an aggregate target has RAC instances.

A good example of aggregate target is the Privilege Propagating Group. See
"Managing Groups" for more information.
At any time, you can use the All Targets page to view properties across all targets. To
view target properties:
1.

From the Targets menu, select All Targets to display the All Targets page.

2.

From the View menu, select Columns, then select Show All.

3.

Alternatively, if you are interested in specific target properties, choose Columns
and then select Show More Columns.

Step 3: Prepare for Creating Template Collections
Template collections contain the monitoring settings and other management settings
that are meant to be applied to targets as they join the administration group.
Monitoring settings for targets are defined in monitoring templates. Monitoring
templates are defined on a per target type basis, so you will need to create monitoring
templates for each of the different target types in your administration group. You will
most likely create multiple monitoring templates to define the appropriate monitoring
settings for an administration group. For example, you might create a database
Monitoring template containing the metric settings for your production databases and a
separate monitoring template containing the settings for your non-production
databases. Other management settings that can be added to a template collection
include Compliance Standards and Cloud Policies. Ensure all of these entities that you
want to add to your template collection are correctly defined in Enterprise Manager
before adding them to template collections.
If you have an administration group hierarchy defined with more than two levels, such
as the hierarchy shown in the following figure, it is important to understand how
management settings are applied to the targets in the administration group.

6-9

Chapter 6

Implementing Administration Groups and Template Collections

Each group in the administration group hierarchy can be associated with a template
collection (containing monitoring templates, compliance standards, and cloud policies).
If you associate a template collection containing monitoring settings with the
Production group, then the monitoring settings will apply to the Finance and Sales
subgroup under Production. If the Finance group under Production has additional
monitoring settings, then you can create a monitoring template with only those
additional monitoring settings. (Later, this monitoring template should be added to
another template collection and associated with the Finance group). The monitoring
settings from the Finance Template Collection will be logically combined with the
monitoring settings from the Production Template Collection. In case there are
duplicate metric settings in both template collections, then the metric settings from the
Finance Template Collection takes precedence and will be applied to the targets in the
Finance group. This precedence rule only applies to the case of metric settings. In the
case of compliance standard rules and cloud policies, even if there are duplicate
compliance standard rules and cloud policies in both template collections, they will be
all applied to the targets in the Finance group.
Once you have completed all the planning and preparation steps, you are ready to
begin creating an administration group.

6.3 Implementing Administration Groups and Template
Collections
With the preparatory work complete, you are ready to begin the four step process of
creating an administration group hierarchy and template collections. The
administration group user interface is organized to guide you through the creation
process, with each tab containing the requisite operations to perform each step.
This process involves:
1.

Creating the administration group hierarchy.

2.

Create monitoring templates.

3.

Creating template collections.

4.

Associating template collections to administration group.

5.

Synchronizing the targets with the selected items.

6-10

Chapter 6

Implementing Administration Groups and Template Collections

The following graphic shows a completed administration group hierarchy with
associated template collections. It illustrates how Enterprise Manager uses this to
automate the application of target monitoring settings.

6.3.1 Creating the Administration Group Hierarchy
The following four primary tasks summarize the administration group creation process.
These tasks are conveniently arranged in sequence via tabbed pages.

Note:
In order to create the administration group hierarchy, you must have both Full
Any Target and Create Privilege Propagating Group target privileges.

Task 1: Access the Administration Group and Template Collections page.
Task 2: Define the hierarchy.
From the Hierarchy tab, you define the administration group hierarchy that matches
the way you manage your targets. See Defining the Hierarchy.
Task 3: Define the Template Collections.

6-11

Chapter 6

Implementing Administration Groups and Template Collections

From the Template Collections tab, you define the monitoring and management
settings you want applied to targets. See Defining Template Collections.
Task 4: Associate the Template Collections with the Administration Group.
From the Associations tab, you tie the monitoring and management settings to the
appropriate administration group. See Associating Template Collections with
Administration Groups.

6.3.2 Accessing the Administration Group Home Page
All administration group operations are performed from the Administration Groups
home page.
From the Setup menu, select Add Target and then select Administration Groups.
The Administration Groups home page displays.

Read the relevant information on the Getting Started page. The information contained
in this page summarizes the steps outlined in this chapter. For your convenience, links
are provided that take you to appropriate administration group functions, as well as the
Enterprise Manager All Targets page where you can view target properties.

6.3.3 Defining the Hierarchy
On this page you define the administration group hierarchy that reflects the
organizational hierarchy you planned earlier and which target properties are
associated with a particular hierarchy level.
On the left side of the page are two tables: Hierarchy Levels and Hierarchy Nodes.

6-12

Chapter 6

Implementing Administration Groups and Template Collections

The Hierarchy Levels table allows you to add the target properties that define
administration group hierarchy. The Hierarchy Nodes table allows you to define the
values associated with the target properties in the Hierarchy Levels table. When you
select a target property, the related property values are made available in the
Hierarchy Nodes table, where you can add/remove/merge/split the values. In the
Hierarchy Nodes table, each row corresponds to a single administration group. The
Short Value column displays abbreviated value names that are used to auto-generate
group names.
The Hierarchy Levels table allows you to add the target properties that define each
level in the administration group hierarchy. The Hierarchy Nodes table allows you to
define the values associated with the target properties in the Hierarchy Levels table.
Each row in the Hierarchy Nodes table will correspond to a node or group in the
administration group hierarchy for that level. When you select a target property in the
Hierarchy Levels table, the related property values are made available in the
Hierarchy Nodes table, where you can add/remove/merge/split the values. Merge two
or more values if either value should be used as membership criteria for the
corresponding administration group. The Short Value column displays abbreviated
value names that are used to auto-generate group names.
Adding a Hierarchy Level
1.

On the Administration Group page, click the Hierarchy tab.

2.

From the Hierarchy Levels table, click Add and choose one of the available
target properties. You should add one property/level at a time instead of all
properties at once.

3.

With the target property selected in the Hierarchy Levels table, review the list of
values shown in the Hierarchy Nodes table. The values of the target property in
the Hierarchy Nodes table.
Enterprise Manager finds all existing values of the target property across all
targets and displays them in the Hierarchy Nodes table. For some target

6-13

Chapter 6

Implementing Administration Groups and Template Collections

properties, such as Lifecycle Status, predefined property values already exist and
are automatically displayed in the Hierarchy Nodes table. You can select and
remove target property values that will not be used as membership criteria in any
administration group. However, property values that are not yet available but will
be used as administration group membership criteria, will need to be added.
The next step shows you how to add property values.
4.

From the Hierarchy Nodes table, click Add. The associated property value add
dialog containing existing values from various targets displays. Add the requisite
value(s). Multiple values can be specified using a comma separated list. For
example, to add multiple locations such as San Francisco and Zurich, add the
Location target property to the Hierarchy Level table. Select Location and then
click Add in the Hierarchy Nodes table. The Values for Hierarchy Nodes dialog
displays. Enter "San Francisco,Zurich" as shown in the following graphic.

Extending Administration Group Hierarchy Maximum Limits
There is a default maximum for the number of values that can be supported for a
target property as administration group criteria. If you see a warning message
indicating that you have reached this maximum value, you can extend it using the
OMS property admin_groups_width_limit. Specify the maximum number of values
that should be supported for a target property. For example, to support up to 30
values for a target property that will be used in administration group criteria, set
the admin_groups_width_limit as follows (using the OMS emctl utility):
emctl set property -name admin_groups_width_limit -value 30 -module emoms

You can also add up to four levels after the root node of an administration group
hierarchy. If there is a need to add additional level, you will first need to change
the OMS admin_groups_height_limit property to the maximum height limit. For
example, if you want to create to administration group hierarchy consisting of five
levels after the root node, set the admin_groups_height_limit property as follows
(using the OMS emctl utility):
emctl set property -name admin_groups_height_limit -value 5 -module emoms

This is a global property and only needs to be set once using the emctl utility of
any OMS. This is also a dynamic property and does not require a stop/restart of
the OMS in order to take effect.
Click OK. The two locations "San Francisco" and "Zurich" appear as nodes in the
Preview pane as shown in the following graphic.

6-14

Chapter 6

Implementing Administration Groups and Template Collections

Under certain circumstances, it may be useful to treat multiple property values as
one: Targets may have different target property values, but should belong to the
same administration group because they have same monitoring profile/settings.
For example, if a combination of values is needed, such as Production or Mission
Critical for the Lifecycle Status property, they need to be merged (combined into a
single node).
To merge property values:
a.

Select a target property from the list of chosen properties in the Hierarchy
Levels table. The associated property values are displayed.

b.

Select two or more property values by holding down the Shift key and clicking
on the desired values.

c.

Click Merge.

5.

Continue adding hierarchy levels until the group hierarchy is complete. The
Preview pane dynamically displays any changes you make to your administration
group hierarchy.

6.

Set the time zone for the group.

6-15

Chapter 6

Implementing Administration Groups and Template Collections

a.

Click on the group name. The Administration Group Details dialog displays
allowing you to select the appropriate time zone.

The administration group time zone is used for displaying group charts and
also for scheduling operations on the group. Because this is also the default
time zone for all subgroups that may be created under this group, you should
specify the time zone at the highest level group in the administration group
hierarchy before the subgroups are created. Note that the parent group time
zone will be used when creating any child subgroups, but user can always
select a child subgroup and change its time zone.
The auto-generated name can also be changed.
7.

Click Create to define the hierarchy.

Note:
Review and define the complete hierarchy before clicking Create.

Even after your administration group hierarchy has been created, you can always
make future updates if organizational needs change. For example, adding/
removing group membership criteria property values, which equates to creating/
deleting additional administration groups for a given level. Using the previous
example, if in addition to San Francisco and Zurich you add more locations, say
New York and Bangalore, you can click Add in the Hierarchy Node table to add
additional locations, as shown in the following graphic. For more information about
changing the administration group hierarchy, see "Changing the Administration
Group Hierarchy".

6-16

Chapter 6

Implementing Administration Groups and Template Collections

Click Update to save your changes.

6.3.4 Defining Template Collections
A template collection is an assemblage of monitoring/management settings to be
applied to targets in the administration group. Multiple monitoring templates can be
added to a template collection that in turn is associated with an administration group.
However, you can only have one monitoring template of a particular target type in the
template collection. The monitoring template should contain the complete set of metric
settings for the target in the administration group. You should create one monitoring
template for each type of target in the administration group. For example, you can
have a template collection containing a template for database and a template for
listener, but you cannot have a template collection containing two templates for
databases. When members targets are added to an administration group, the template
monitoring and management settings are automatically applied. A template will
completely replace all metric settings in the target. This means applying the template
copies over metric settings (thresholds, corrective actions, collection schedule) to the
target, removes the thresholds of the metrics that are present in the target, but not
included in the template. Removing of thresholds disables alert functionality for these
metrics. Metric data will continue to be collected.
Template collections may consist of three types of monitoring/management setting
categories:
•

Monitoring Templates (monitoring settings)

•

Compliance Standards (compliance policy rules)

•

Cloud Policies (cloud policies such as determining when to start virtual machines
or scale out clusters).

When creating a template collection, you can use the default monitoring templates,
compliance standards, or cloud templates supplied with Enterprise Manager or you
can create your own. For more information, see Using Monitoring Templates .
To create a template collection:
1.

Click the Template Collections tab. The Template Collection page displays.

6-17

Chapter 6

Implementing Administration Groups and Template Collections

2.

Click Create.

3.

In the Name field, specify the template collection name.

4.

Click the template collection member type you want to add (Monitoring Template,
Compliance Standard, Cloud Polices). The requisite definition page appears.

5.

Click Add. A list of available template entities appears.

6.

Select the desired template entities you want added to the template collection.

7.

Click OK.

8.

Continue adding template entities (Monitoring Template, Compliance Standard,
Cloud Policies) as required.

9.

Click Save. The newly defined collection appears in the Template Collections
Library.

10. To create another template collection, click Create and create and repeat steps

two through eight. Repeat this process until you have created all required template
collections.

Note:
When editing existing template collections, you can back out of any changes
made during the editing session by clicking Cancel. This restores the template
collection to its state when it was last saved.

6.3.4.1 Required Privileges
To create a template collection, you must have the Create Template Collection
resource privilege. To include a monitoring template into a template collection, you

6-18

Chapter 6

Implementing Administration Groups and Template Collections

need at least View privilege on the specific monitoring template or View Any
Monitoring Template privilege, which allows you to view any monitoring template and
add it to the template collection. The following table summarizes privilege
requirements for all Enterprise Manager operations related to template collection
creation.
Enterprise Manager Operation

Minimum Privilege Requirement

Create administration group hierarchy.

Full Any Target
Create Privilege Propagating Group

Create monitoring templates.

Create Monitoring Template

Create template collection.

Create template collection (resource
privilege).
VIEW on the monitoring template to be
added to the template collection
or
View any monitoring template
(resource privilege).

Create compliance standards.

Create Compliance Entity
No privileges are required to view
compliance standards.

Create cloud policies.

Create Any Policy
View Cloud Policy

Associate template collection with administration
group.

VIEW on the specific template
collection.
Manage Target Metrics on the group.

Perform on-demand synchronization.

OPERATOR on the group or Manage
Target Metrics.

Define global synchronization schedule.

Enterprise Manager Super
Administrator privileges.

Set the value of target properties for a target (allows
the target to "join" an administration group).

Configure Target on the specific target

Delete an administration group hierarchy.

Full Any Target

6.3.4.2 Corrective Action Credentials
A corrective action is an automated task that is executed in response to a metric alert.
When a corrective action is part of a monitoring template/template collection, the
credentials required to execute the corrective action will vary depending on how the
template is applied.
The two situations below illustrate the different credential requirements.
•

The corrective action is part of a monitoring template that is manually applied to a
target.
When the corrective action runs, it can use one of the following:
–

The preferred credentials of the user who is applying the template
or

–

The user-specified named credentials.

The user selects the desired credential option during the template apply operation.

6-19

Chapter 6

Implementing Administration Groups and Template Collections

•

The corrective action is part of a monitoring template within a template collection
that is associated with an administration group.
When the corrective action runs, the preferred credentials of the user who is
associating the template collection with the administration group is used.

6.3.5 Associating Template Collections with Administration Groups
Once you have defined one or more template collections, you need to associate them
to administration groups in the hierarchy. You can associate a template collection with
one or more administration groups. As a rule, you should associate the template
collection with the applicable administration group residing at the highest level in the
hierarchy as the template collection will also be applied to targets joining any
subgroup.
The Associations page displays the current administration group hierarchy diagram.
Each administration group in the hierarchy can only be associated with one template
collection.

6.3.5.1 Associating a Template Collection with an Administration Group
Note:
For users that do not have View privilege on all administration groups, you can
also perform the association/disassociation operation from the Groups page
(from the Targets menu, select Groups).

1.

Click the Associations tab. The Associations page displays.

2.

Select the desired administration group in the hierarchy.

3.

Click Associate Template Collection. The Choose a Template Collection
dialog displays.

6-20

Chapter 6

Implementing Administration Groups and Template Collections

4.

Choose the desired template collection and click Select. The list of targets
affected by this operation is displayed. Confirm or discard the operation.

Note:
All sub-nodes in the hierarchy will inherit the selected template collection.
5.

Repeat steps 1-3 until template collections have been associated with the desired
groups.

Note:
The target privileges of the administrator who performs the association will be
used when Enterprise Manager applies the template to the group. The
administrator needs at least Manage Target Metrics privileges on the group.

Note:
Settings from monitoring templates applied at lower levels in the hierarchy
override settings inherited from higher levels. This does not apply to
compliance standards or cloud policies.

6.3.5.2 Searching for Administration Groups
While the administration group UI is easy to navigate, there may be cases where the
administration group hierarchy is inordinately large, thus making it difficult to find
individual groups. At the upper right corner of the Associations page is a search
function that greatly simplifies finding groups in a large hierarchy.

Figure 6-1

Administration Group Search Dialog

To search for a specific administration group:
1.

If not already displayed, expand the Search interface.

6-21

Chapter 6

Implementing Administration Groups and Template Collections

2.

Enter either a full or partial group name and click Search.

As shown in the graphic, the search results display a list of administration groups that
match the search criteria. You can then choose an administration group from the list
by double-clicking on the entry. The administration group hierarchy will then display a
vertical slice (subset) of the administration group hierarchy from the root node to the
group you selected.

Figure 6-2

Administration Group Search: Graphical Display

To restore the full administration group hierarchy, click Clear.
Group Names and Searches
In order to perform effective searches for specific administration groups, it is helpful to
know how Enterprise Manager constructs an administration group name: Enterprise
Manger uses the administration group criteria to generate names. For example, you
have an administration group with the following criteria:

6-22

Chapter 6

Implementing Administration Groups and Template Collections

•

Lifecycle Status: Development or Mission Critical

•

Department: DEV

•

Line of Business: Finance or HR

•

Location: Bangalore

Enterprise Manager assembles a group name based on truncated abbreviations. In
this example, the generated administration group name is DC-DEV-FH-Bang-Grp
As you are building the hierarchy, you can change the abbreviation associated with
each value (this is the Short Value column next to the property value in the Hierarchy
Nodes table. Hence, you can specify a short value and Enterprise Manager will use
that value when constructing new names for any subgroups created.
During the design phase of an administration group, you have the option of specifying
a custom name. However, if there is large number of groups, it is easier to allow
Enterprise Manager to generate unique names.

6.3.5.3 Setting the Global Synchronization Schedule
In order to apply the template collection/administration group association, you must set
up a global synchronization schedule. This schedule is used to perform
synchronization operations, such as applying templates to targets in administration
groups. If no synchronization schedule is set up, when a target joins an administration
group, Enterprise Manager will auto-apply the associated template. However, if there
are changes to the template later on, then Enterprise Manager will only apply these
based on synchronization schedule, otherwise these operations are pending.When
there are any pending synchronization operations, they will be scheduled on the next
available date based on the synchronization schedule.

Note:
You must set the synchronization schedule as there is no default setting. You
can specify a non-peak time such as weekends.

To set up the synchronization schedule:
1.

Click Synchronization Schedule. The Synchronization Schedule dialog displays.

6-23

Chapter 6

Implementing Administration Groups and Template Collections

2.

Click Edit and then choose a date and time you want any pending sync operations
(For example, template apply operations) to occur. By default, the current date and
time is shown.

Note:
You can specify a start date for synchronization operations and interval in
days. Whenever there are any pending sync operations, then they will be
scheduled on the next available date based on this schedule.
3.

Click Save.

6.3.5.4 When Template Collection Synchronization Occurs
The following table summarizes when Template Collection Synchronization operations
(such as apply operations) occur on targets in administration groups.
Action

When Synchronization Occurs

Target is added to an administration group (by Immediate upon joining the administration
setting its target properties)
group.
Template collection is associated with the
administration group.

Targets in an administration group will be
synchronized based on next scheduled date in
global Synchronization Schedule.

Changes are made to any of the templates in
the template collection.

Targets in an administration group will be
synchronized based on the next scheduled
date in global Synchronization Schedule.

Target is removed from an administration
group (by changing its target properties).

No change in target's monitoring settings.
Compliance Standards and Cloud Policies will
be disassociated with the target.
Immediate synchronization operation occurs.

6-24

Chapter 6

Implementing Administration Groups and Template Collections

Action

When Synchronization Occurs

Template collection is disassociated with
administration group.

No change in target's monitoring settings for
all the targets in the administration
group.Compliance Standards and Cloud
Policies will be disassociated with the target.
Targets under the administration group will be
synchronized based on next schedule date in
Global Synchronization Schedule.

User performs an on-demand synchronization
by clicking on the Start Synchronization
button in the Synchronization Status region
in the administration group's homepage.

Immediate synchronization operation occurs.

6.3.5.5 Viewing Synchronization Status
You can check the current synchronization status for a specific administration group
directly from the group's homepage.
1.

Select an administration group in the hierarchy.

2.

Click Goto Group Homepage.

3.

From the Synchronization Status region, you can view the status of the
monitoring template, compliance standard, and/or cloud policies synchronization
(In Sync, Pending, or Failed).
You can initiate an immediate synchronization by clicking Start Synchronization.

6.3.5.6 Group Member Type and Synchronization
There are two types of administration group member targets: Direct and Indirect
•

Direct Members: Group members whose target properties match the
administration group criteria. Monitoring settings, compliance standards, cloud
policies from the associated template collection are applied to direct members.

•

Indirect Members: Indirect members are targets whose target properties DO NOT
match administration group criteria. However, they have been added to the
administration group because their parent target are direct members of the
administration group. These targets are categorized as aggregate targets because
they have other member targets. When such targets are added to a group
(administration group or other types of groups), all members of the aggregate
target are also added to the group. An example of an aggregate target is Oracle
WebLogic Server. If that is added to a group, then all Application Deployment
targets on it are also pulled into the group. Indirect group members will NOT be
part of any template apply/sync operations.

Only direct members are represented in the targets count in the Synchronization
Status region.
1.

From the hierarchy diagram, click on a group name to access the group's home
page. You can also access this information from All Targets groups page.

2.

From the Group menu, select Members. The Members page displays.

6-25

Chapter 6

Implementing Administration Groups and Template Collections

6.3.5.7 System Targets and Administration Groups
If a system target gets added to an administration group because it matches group
criteria, then the system target and its constituent members are also added. However,
for template apply purposes, it will only operate on the direct members that also match
the administration group criteria. Template apply operations will not occur on member
targets whose target properties do not match administration group criteria. All other
group operations, such as jobs and blackouts, will apply on all members, both direct
and indirect.

6.3.5.8 Disassociating a Template Collection from a Group
To disassociate a template collection from an administration group.
1.

From the Setup menu, select Add Target and then Administration Groups. The
Administration Group home page displays.

2.

Click on the Associations tab to view the administration group hierarchy diagram.

3.

From the hierarchy diagram, select the administration group with the template
collection you wish to remove. If necessary, use the Search option to locate the
administration group.

4.

Click Disassociate Template Collection. The number of targets affected by this
operation is displayed. Click Continue or Cancel.

The template collection is immediately removed. See "When Template Collection
Synchronization Occurs" in Defining the Hierarchy for more information.

6.3.5.9 Viewing Aggregate (Group Management) Settings
For any administration group, you can easily view what template collection
components (monitoring templates, compliance standards, and/or cloud policies) are
associated with individual group members.

Note:
For monitoring templates, the settings for a target could be a union of two or
more monitoring templates from different template collections.

1.

From the Setup menu, select Add Target and then Administration Groups. The
Administration Group home page displays.

2.

Click on the Associations tab to view the administration group hierarchy diagram.

3.

From the hierarchy diagram, select the desired administration group.

4.

Click Show Group Management Settings.
The Administration Group Details page displays.
This page displays all aggregate settings for monitoring templates, compliance
standards and cloud policies that will be applied to members of the selected
administration group (listed by target type). The page also displays the
synchronization status of group members.

6-26

Chapter 6

Implementing Administration Groups and Template Collections

To can change the display to show a different branch of the administration group
hierarchy, click Select Branch at the upper-right area of the page. This function
lets you display hierarchy branches by choosing different target property values

6.3.5.10 Viewing the Administration Group Homepage
Like regular groups, each administration group has an associated group homepage
providing a comprehensive overview of group member status and/or activity such as
synchronization status, details of the Associated Template Collection for the group
selected in hierarchy viewer, job activity, or critical patch advisories. To view
administration group home pages:
1.

From the hierarchy diagram, select an administration group.

2.

Click Goto Group Homepage. The homepage for that particular administration
group displays.

Alternatively, from the Enterprise Manger Targets menu, choose Groups. From the
table, you can expand the group hierarchy.

6.3.5.11 Identifying Targets Not Part of Any Administration Group
From the Associations page, you can determine which targets do not belong to any
administration group by generating an Unassigned Targets Report.
1.

From the Actions menu, select Unassigned Targets Report. The report lists all
the targets that are not part of any administration group. The values for the target
properties defining the administration groups hierarchy are shown.

2.

From the View menu, choose the customization options to display only the desired
information.

6-27

Chapter 6

Changing the Administration Group Hierarchy

Note:
The Non-Privilege Propagating Aggregate column indicates whether a
target is a non-privilege propagating aggregate. This type of target cannot be
added to an administration group, which are by design privilege propagating.
For this reason, any aggregate target added to administration group must also
be privilege propagating. To make an aggregate target privilege propagating,
use the EM CLI verb modify_system with -privilege_propagation=true option.

On this page, you can review the list to see if there any targets that need to be
added to the administration group. Click on the target names shown in this page to
access the target's Edit Target Properties page where you can change the target
property values. After making the requisite changes and clicking OK, you are
returned to the Unassigned Targets page.
For information on changing target properties, see "Planning an Administrative
Group".
3.

Click your browser back button to return to the Administration Groups and
Template Collections homepage.

6.4 Changing the Administration Group Hierarchy
Organizations are rarely static--new lines of business may be added or perhaps
groups are reorganized due to organizational expansion. To accommodate these
changes, you may need to make changes to the existing administration group
hierarchy.
Beginning with Enterprise Manager 12c Release 12.1.0.3, you can change the
administration group hierarchy without having to rebuild the entire hierarchy. You can
easily perform administration group alterations such as adding more groups to each
hierarchy level, merging two or more groups, or adding/deleting entire hierarchy levels.
All of these operations can be performed from the Hierarchy page.

6-28

Chapter 6

Changing the Administration Group Hierarchy

Note:
After making any change to the administration group hierarchy, click Update
to save your changes.

6.4.1 Adding a New Hierarchy Level
Adding a new hierarchy level equates to adding a new target property to the
administration group criteria. For this reason, you must set the value of this target
property for all your targets in order for them to continue to be part of the
administration group hierarchy. Any new target property added/hierarchy level added
will always be added as the bottom-most level of the hierarchy. You cannot insert a
new level between levels.
To insert a hierarchy level, you must remove a hierarchy level, then add the levels you
want. Think carefully before removing a hierarchy level as removing a level will result
in the deletion of groups corresponding to that hierarchy level.
See "Adding a Hierarchy Level" in Defining the Hierarchy for step-by-step instructions
on adding a new level.

6.4.2 Removing a Hierarchy Level
Removing a hierarchy level equates to deleting a target property, which in turn causes
groups at that level to be deleted. For this reason, think carefully about the groups that
will be removed when you remove the hierarchy level, especially if those groups are
used in other functional areas of Enterprise Manager.
To remove a hierarchy level:
1.

On the Administration Group page, click the Hierarchy tab.

2.

From the Hierarchy Levels table, select a hierarchy level and click Remove

3.

Click Update to save your changes.

If any of those groups have an associated template collection, then the monitoring
settings of the subgroups of the deleted group will be impacted since the subgroups
obtained monitoring settings from the associated template collection. You may need to
review the remaining template collections and re-associate the template collection with
the appropriate administration group.

6.4.3 Merging Administration Groups
If you want to merge two or more administration groups, you merge their
corresponding target property criteria in the administration group hierarchy definition.
The group merge operation consists of retaining one of the groups to be merged and
then moving over the targets from the other groups into the group that is retained.
Once the targets have been moved, the other groups will be deleted.
You choose which group is retained by choosing its corresponding target property
value. The group(s) containing the selected target property value as part of its criteria
is retained. If the retained target property criteria corresponds to multiple groups, i.e.
group containing subgroups, the movement of targets will actually occur at the lowest

6-29

Chapter 6

Changing the Administration Group Hierarchy

level administration groups since the targets only reside in the lowest level
administration groups. The upper-level administration groups' criteria will be updated
to include the criteria of the other groups that have been merged into it.
To merge groups:
1.

Select a target property from the list of chosen properties in the Hierarchy Levels
table. You choose the target property corresponding to the groups you want to
merge.

For example, let us assume you want to merge  with . In the hierarchy, this corresponds to target property Lifecycle Status. The
associated property values are displayed.
2.

Select two or more property values corresponding to the groups you would like to
merge by holding down the Shift or CTRL key and clicking on the desired values.

3.

Click Merge.

6-30

Chapter 6

Changing the Administration Group Hierarchy

The Merge Values dialog displays.

Again, by merging membership criteria (target properties), you are merging
administration groups and their respective subgroups. You choose the
administration group to be retained. The other groups will be merged into that
group.
4.

Choose the group you wish to retain and specify whether you want to use the
existing name of the retained group or specify a new name.

Note:
When deciding which group to retain, consider choosing the group that is used
in most group operations such as incident rule sets, system dashboard, or
roles. These groups will be retained and the members of the other merged
groups will join the retained groups. After the merge, group operations on the
retained groups will also now apply to the members from the other merged
groups. Doing so minimizes the impact of the merge.
5.

Click OK to merge the groups.

6.

Click Update to save the new hierarchy.

Example
Your administration group consists of the following:
Hierarchy Levels
•

Lifecycle Status

•

Line of Business

Hierarchy Nodes
•

Lifecycle Status
–

Development

6-31

Chapter 6

Changing the Administration Group Hierarchy

•

–

Mission Critical or Production

–

Staging or Test

Line of Business
–

Online Store

–

Sales

–

Finance

The following graphic shows the administration group hierarchy.

You decide that you want to merge the Mission Critical or Production group with the
Staging or Test group because they have the same monitoring settings.
Choose Lifecycle Status from the Hierarchy Levels table.
From the Hierarchy Nodes table, choose both Mission Critical or Production and
Staging or Test.
Select Merge from the Hierarchy Nodes menu.
The Merge Values dialog displays. In this case, you want to keep original name
(Mission Critical or Production) of the retained group.

6-32

Chapter 6

Changing the Administration Group Hierarchy

After clicking OK to complete the merge, the resulting administration group hierarchy
is displayed. All targets from Test-Sales group moved to the Prod-Sales group. The
Test-Sales group was deleted. All targets from the Test-Finance group moved to the
Prod-Finance group. The Test-Finance group got deleted.

Click Update to save the changes.

6.4.4 Removing Administration Groups
You can completely remove an administration group hierarchy or just individual
administration groups from the hierarchy. Deleting an administration group will not
delete targets or template collections, but it will remove associations. Any stored
membership criteria is removed. When you delete an administration group, any stored
membership criteria is removed.
To remove the entire administration group hierarchy:
1.

From the Setup menu, select Add Target, then select Administration Groups.

2.

Click on the Hierarchy tab.

3.

Click Delete.

To remove individual administration groups from the hierarchy:
1.

From the Setup menu, choose Add Target, then select Administration Groups.

2.

Click on the Hierarchy tab.

3.

From the Hierarchy Levels table, choose the target property that corresponds to
the hierarchy level containing the administration group to be removed.

4.

From the Hierarchy Nodes table, select the administration group (Property Value
for Membership Criteria) to be removed.

5.

Choose Remove from the drop-down menu.

6.

Click Update.

6-33

7
Using Monitoring Templates
Monitoring templates simplify the task of setting up monitoring for large numbers of
targets by allowing you to specify the monitoring and Metric and Collection Settings
once and applying them to many groups of targets as often as needed.
This chapter covers the following topics:
•

About Monitoring Templates

•

Definition of a Monitoring Template

•

Default Templates (Auto Apply Templates)

•

Viewing a List of Monitoring Templates

•

Creating a Monitoring Template

•

Editing a Monitoring Template

•

Applying Monitoring Templates to Targets

•

Comparing Monitoring Templates with Targets

•

Comparing Metric Settings Using Information Publisher

7.1 About Monitoring Templates
Monitoring templates let you standardize monitoring settings across your enterprise by
allowing you to specify the monitoring settings once and apply them to your monitored
targets. You can save, edit, and apply these templates across one or more targets or
groups. A monitoring template is specified for a particular target type and can only be
applied to targets of the same type. For example, you can define one monitoring
template for test databases and another monitoring template for production databases.
A monitoring template defines all Enterprise Manager parameters you would normally
set to monitor a target, such as:
•

Target type to which the template applies.

•

Metrics (including metric extensions), thresholds, metric collection schedules, and
corrective actions.

Once a monitoring template is defined, it can be applied to your targets. This can be
done either manually through the Enterprise Manager console, via the command line
interface (EM CLI), or automatically using template collections. See "Defining
Template Collections" for more information. For any target, you can preserve custom
monitoring settings by specifying metric settings that can never be overwritten by a
template.
Oracle-Certified Templates
In addition to templates that you create, there are also Oracle-certified templates.
These templates contain a specific set of metrics for a specific purpose. The purpose
of the template is indicated in the description associated with the template.

7-1

Chapter 7

Definition of a Monitoring Template

Example: The template called Oracle Certified - Enable AQ Metrics for SI Database
contains metrics related to Advanced Queueing for single instance databases. You
can use this Oracle-certified template if you want to use the AQ metrics. Or you can
copy the metric settings into your own template.

7.2 Definition of a Monitoring Template
A monitoring template defines all Enterprise Manager parameters you would normally
set to monitor a target. A template specifies:
•

Name: A unique identifier for the template. The template name must be globally
unique across all templates defined within Enterprise Manager.

•

Description: Optional text describing the purpose of the template.

•

Target Type: Target type to which the template applies.

•

Owner: Enterprise Manager administrator who created the template.

•

Metrics: Metrics for the target type. A monitoring template allows you to specify a
subset of all metrics for a target type. With these metrics, you can specify
thresholds, collection schedules and corrective actions.

•

Other Collected Items: Additional collected information (non-metric) about your
environment.

7.3 Default Templates (Auto Apply Templates)
Under certain circumstances, Oracle's out-of-box monitoring settings may not be
appropriate for targets in your monitored environment. Incompatible Metric and
Collection Settings for specific target types can result in unwanted/unintended alert
notifications. Enterprise Manager allows you to set default monitoring templates that
are automatically applied to newly added targets, thus allowing you to apply monitoring
settings that are appropriate for your monitored environment.

Note:
Super Administrator privileges are required to define default monitoring
templates.

7.4 Viewing a List of Monitoring Templates
To view a list of all Monitoring Templates, from the Enterprise menu, select
Monitoring and then Monitoring Templates.
The Monitoring Templates page displays all the out-of-box templates and the
templates for which you have has at least VIEW privilege on. Enterprise Manager
Super Administrators can view all templates.

7-2

Chapter 7

Creating a Monitoring Template

Figure 7-1

Monitoring Templates

You can begin the monitoring template creation process from this page.

7.5 Creating a Monitoring Template
Monitoring templates allow you to define and save monitoring settings for specific
target types. As such, specific Enterprise Manager privileges are required in order to
create monitoring templates.
There are two resource privileges that can be granted to a user/role that allows you to
create and/or view monitoring templates:
•

Create Monitoring Template
This privilege allows you to create a monitoring template.

•

View Any Monitoring Template
This privilege allows you to view any monitoring template.

These privileges can be granted from the Resource Privilege page of an Enterprise
Manager user, or when creating a role.
Monitoring templates adhere to a typical access model: You can grant either FULL or
VIEW access on a template to other users or roles. VIEW access allows you to see
and use the monitoring template. FULL access allows you to see, use, edit and delete
a monitoring template. The template owner can change access to a template.
By default, Enterprise Manager Super Administrators have FULL access on all
monitoring templates.
Monitoring template allow you to define and save monitoring settings for specific target
types. To define a new template:
1.

From the Enterprise menu, select Monitoring and then Monitoring Templates.

7-3

Chapter 7

Editing a Monitoring Template

2.

Click Create. Enterprise Manager gives you the option of selecting either a
specific target or a target type. Template monitoring settings are populated
according to the selected target or target type. Click Continue.

Note:
If the selected target type is either Web Application or Service, you will only be
able to select those targets for which you have Operator privilege.
3.

Enter requisite template information on the General, Metric Thresholds, and Other
Collected Items tabs.
On the Metric Thresholds tab, you can delete or add monitoring template metrics.
To delete existing metrics, select one or more metrics and click Remove Metrics
from Template.
To add metrics, click Add Metrics to Template. The Add Metrics to Template
page displays as shown in the following graphic.

On this page, you can select a source from which you can copy metrics to the
template. Sources include specific targets, other monitoring templates, or metric
extensions. When adding metric to a template from another template, if the metric
has adaptive settings, then the adaptive settings will not be copied: Only the metric
will be copied along with existing thresholds.
Note: You must define the metric extension thresholds in order to add it to a
monitoring template.
Click Continue once your have finished modifying the template metrics.
4.

Once you have finished entering requisite information, click OK.

7.6 Editing a Monitoring Template
The Monitoring Templates page lists all viewable templates. To edit a template, you
must have FULL access privileges.
To edit a Monitoring Template:
1.

From the Enterprise menu, select Monitoring, and then Monitoring Templates.

2.

Choose the desired template from the table.

7-4

Chapter 7

Applying Monitoring Templates to Targets

3.

Click Edit.

4.

Once you have finished making changes, click OK.

Sharing Access with Other Users
By default, template owners (creators) have FULL access privileges on the template
and Enterprise Manager Super Administrators have FULL access privileges on all
templates. Only the template owner can change access to the template. You, as
owner, can grant VIEW (view the template) or FULL (edit or delete the template) on
the template to a user or role.

7.7 Applying Monitoring Templates to Targets
As mentioned earlier, a monitoring template can be applied to one or more targets of
the same target type, or to composite targets such as groups. For composite targets,
the template is applied to all member targets that are of the appropriate type. If you
applied the template manually or via EM CLI, once a template is applied, future
changes made to the template will not be automatically propagated to the targets: You
must reapply the template to all affected targets
Administration Groups and Template Collections: Applying Monitoring
Templates Automatically
Monitoring templates can be automatically applied whenever a new targets are added
to your Enterprise Manager environment. Automation is carried out through
Administration Groups and Template Collections Administration Groups are a special
type of group used to automate application of monitoring settings to targets upon
joining the group. When a target is added to the administration group Enterprise
Manager applies monitoring settings from the associated template collection consisting
of monitoring templates, compliance standards, and cloud policies. If changes are later
made to the monitoring template, Enterprise Manager automatically applies the
changes to the relevant targets based on the synchronization schedule. For more
information, see "Using Administration Groups ".

7.7.1 Applying a Monitoring Template
To apply a template, you must have at least Manage Target Metrics target privileges
on the destination target(s).
1.

From the Enterprise menu, select Monitoring and then Monitoring Templates.

2.

Select the desired template from the table.

3.

Click Apply.

4.

Select the desired apply options and the target(s) to which you want the templates
applied. See Monitoring Template Application Options for additional information.

5.

Click OK.

7.7.2 Monitoring Template Application Options
You can choose aggregate targets such groups, systems or clusters as destination
targets. The templates will apply to the appropriate members of the group/system/
cluster as they currently exist. If new members are later added to the group, you will
need to re-apply the template to those new members. Template application is
performed in the background as asynchronous jobs, so after the apply operation is

7-5

Chapter 7

Applying Monitoring Templates to Targets

performed, you can click on the link under the Pending Apply Operations column in the
main templates table to see any apply operations that still are pending.
When applying a Monitoring Template, metric settings such as thresholds, comparison
operators, and corrective actions are copied to the destination target. In addition,
metric collection schedules including collection frequency and upload interval are also
copied to the target. You determine how Enterprise Manager applies the metric
settings from the template to the target by choosing an apply option.

7.7.2.1 Apply Options
Template apply options control how template metric and policy settings are applied to
a target. Two template apply options are available:
•

Template will completely replace all metric settings in the target: When the
template is applied, all metrics and policies defined in the template will be applied
to the target. Pre-existing target monitoring settings not defined in the template will
be disabled: Metric thresholds will be set to NULL or blank. Policies will be
disabled. This effectively eliminates alerts from these metrics and policies by
clearing current severities and violations.

•

Template will only override metrics that are common to both template and
target: When the template is applied, only metrics and policies common to both
the template and target are updated. Existing target metric and policies that do not
exist in the template will remain unaffected. When this option is selected,
additional template apply options are made available for metrics with key value
settings.

7.7.2.2 Metrics with Key Value Settings
A metric with key value settings is one that can monitor multiple objects at different
thresholds. For example, the Filesystem Space Available(%) metric can monitor
different mount points using different warning and critical thresholds for each mount
point.
When the template contains a metric that has key value settings, you can choose one
of three options when applying this template to a target. As an example, consider the
case where the template has the following metric:
Filesystem Space Available(%)
Mount Point

Operator

Warning Threshold

Critical Threshold

/

≤

40

20

/private

≤

30

20

/private2

≤

20

20

/u1

≤

30

20

All Others

≤

25

15

And a host target has the same metric at different settings:
Mount Point

Operator

Warning Threshold

Critical Threshold

/

≤

30

10

/private

≤

25

15

7-6

Chapter 7

Applying Monitoring Templates to Targets

Mount Point

Operator

Warning Threshold

Critical Threshold

/private2

≤

20

20

All Others

≤

25

15

These are the results for each option:
1) All key value settings in the template will be applied to the target, any
additional key values settings on the target will not be removed
When the template is applied to the target using this copy option, all the template
settings for the mount points, /, /private, and /U1 will be applied. Existing target
settings for mount points not covered by the template remain unaffected. Thus, the
resulting settings on the target for this metric will be:
Mount Point

Operator

Warning Threshold

Critical Threshold

/

≤

40

20

/private

≤

30

20

/u1

≤

30

20

2) All key value settings in the template will be applied to target, any additional
key value settings on the target will be removed.
When the template is applied to the target using this copy option, all template settings
will be applied to the target. Any object-specific threshold settings that exist only on the
target will be removed, any object-specific thresholds that are only in the template will
be added to the target. Thus, the final settings on the target will be:
Mount Point

Operator

Warning Threshold

Critical Threshold

/

≤

40

20

/private

≤

30

20

/u1

≤

30

20

All Others

≤

25

15

3) Only settings for key values common to both template and target will be
applied to the target
When the template is applied to the target using this copy option, only the settings for
the common mount points, / and /private will be applied. Thus, the resulting settings on
the target for this metric will be:
Mount Point

Operator

Warning Threshold

Critical Threshold

/

≤

40

20

/private

≤

30

20

/private2

≤

20

20

All Others

≤

25

15

7-7

Chapter 7

Comparing Monitoring Templates with Targets

7.8 Comparing Monitoring Templates with Targets
The intended effect of applying Monitoring Templates to destination targets is not
always clear. Deciding how and when to apply a template is simplified by using the
Compare Monitoring Template feature of Enterprise Manager. This allows you to see
at a glance how metric and collection settings defined in the template differ from those
defined on the destination target. You can easily determine whether your targets are
still compliant with the monitoring settings you have applied in the past. This template
comparison capability is especially useful when used with aggregate targets such as
groups and systems. For example, you can quickly compare the metric and collection
settings of group members with those of a template, and then apply the template as
appropriate.
Performing a Monitoring Template-Target comparison:
1.

From the Enterprise menu, select Monitoring and then Monitoring Templates.

2.

Choose the desired template from the table.

3.

Click Compare Settings. The Compare Monitoring Template page displays.

4.

Click Add to add one or more destination targets. The Search and Select dialog
displays.

5.

Select a one or more destination targets and then click Select. The selected
targets are added to the list of destination targets.

6.

Select the newly added destination targets and then click Continue. A
confirmation message displays indicating the Compare Template Settings job was
successfully submitted.

7.

Click OK to view the job results. Note: Depending on the complexity of the job run,
it may take time for the job to complete.

7.8.1 When is a metric between a template and a target considered
"different"?
The metric is said to be different when any or all the following conditions are true
(provided the target does not have "Template Override" set for that metric):
•

The Warning Threshold settings are different

•

The Critical Threshold settings are different.

•

The Collection Schedules are different.

•

The Upload Intervals are different.

•

The number of occurrences (for which the metric has to remain at a value above
the threshold before an alert is raised) are different.)

•

For user-defined metrics, in addition to the above, the OS Command/SQL
statement used to evaluate the user-defined metric is different. Note that this
applies only if the user-defined metric name and the return type are the same.

•

The metric extension marked for delete will be shown as "different" on the
destination target and the template only if:
–

A metric extension with the same name exists on both the destination target
and template.

7-8

Chapter 7

Comparing Metric Settings Using Information Publisher

–

The return type (String, Numeric) of the metric extension is the same on both
the destination target and template.

–

The metric type is the same on both the destination target and the template.

7.9 Comparing Metric Settings Using Information Publisher
In addition to viewing metric differences between Monitoring Templates and
destination targets using the Compare Monitoring Template user-interface, you can
also use Information Publisher to generate reports containing the target-template
differences. Using Information Publisher's reporting capabilities gives you more
flexibility for displaying and distributing metric comparison data. For more information,
see "Using Information Publisher ".
Create a Report Definition
1.

From the Enterprise menu, select Reports and then Information Publisher
Reports.

2.

Click Create. The Create Report Definition user interface is displayed.

3.

On the General page, specify the report name, how targets should be included,
target privileges, report time period, and display options.

4.

On the Elements page, click Add to access the Add Element page.

5.

Select the Monitoring Template Comparison element and click Continue to return
to the Element page.

6.

Once you have added the report element, click the Set Parameter icon to specify
requisite operational parameters. On this page, you specify a report header, select
a monitoring template, destination targets, and template application settings for
multiple threshold metrics. Click Continue to return to the Elements page.

7.

Click Layout to specify how information should be arranged in the report.

8.

Click Preview to validate that you are satisfied with the data and presentation of
the report.

9.

On the Schedule page, define when reports should be generated, and whether
copies should be saved and/or sent via e-mail, and how stored copies should be
purged.

10. On the Access page, click Add to specify which Enterprise Manager

administrators and/or roles will be permitted to view this generated report.
Additionally, if you have GRANT_ANY_REPORT_VIEWER system privilege, you
can make this report definition accessible to non-credential users via the
Enterprise Manager Reports Website
11. Click OK when you are finished.
12. Validate the report definition. If the parameters provided conflict, validation errors

or warnings will appear and let you know what needs attention.
13. Once the report definition has been saved successfully, it appears in the Report

Definition list under the Category and Subcategory you specified on the General
page.
Viewing the Report
1.

Find the template comparison report definition in the Report Definition list. You can
use the Search function to find or filter the list of report definitions.

7-9

Chapter 7

Exporting and Importing Monitoring Templates

2.

Click on the report definition title. If the report has a specified target, the report will
be generated immediately. If the report does not have a specified target, you will
be prompted to select a target.

Scheduling Reports for Automatic Generation
1.

Create or edit a report definition.

2.

On the Schedule page, choose the Schedule Report option.

3.

Specify a schedule type. The schedule parameters on this page change according
to the selected schedule type.

When reports are scheduled for automatic generation, you have the option of saving
copies to the Management Repository and/or sending an e-mail version of the report
to designated recipients.
If a report has been scheduled to save copies, a copy of the report is saved each time
a scheduled report completes. When a user views a report with saved copies by
clicking on the report title, the most recently saved copy of the report is rendered. To
see the complete list of saved copies click on the Saved Copies link at the top of the
report. Enterprise Manager administrators can generate a copy of the report ondemand by clicking on the Refresh icon on the report.

7.10 Exporting and Importing Monitoring Templates
For portability, monitoring templates can be exported to an XML file and then imported
into another Enterprise Manager installation as an active template.

Note:
You can export templates from Enterprise Manager 10g release 2 or higher
and import them into Enterprise Manager 13c.

Exporting a Monitoring Template
To export a template to an XML file:
1.

From the Enterprise menu, select Monitoring and then Monitoring Templates.

2.

Select the desired monitoring template from the table.

3.

Click Export.
Note: If you are running an Enterprise Manager 11g or earlier release, use the EM
CLI export_template verb to perform the export operation. Note that if the
monitoring template contains policy rules from earlier Enterprise Manager releases
(pre-12c) , these will not be imported into Enterprise Manager 12c as policy rules
no longer exist in this release.

Importing a Monitoring Template
To import a template from an XML file:
1.

From the Enterprise menu, select Monitoring and then Monitoring Templates.

2.

Click Import. The Import Template page displays.

3.

Specify the monitoring template XML file you want to import.

7-10

Chapter 7

Upgrading Enterprise Manager: Comparing Monitoring Templates

4.

Click Import.

7.11 Upgrading Enterprise Manager: Comparing Monitoring
Templates
When upgrading from one Enterprise Manager release to the next, you will accumulate
monitoring templates that have been created for different releases. Beginning with
Enterprise Manager release 12.1.0.4, you can generate a post-upgrade Monitoring
Template Difference Report that allows you to view what templates had been created
for various Enterprise Manager releases. To generate the Monitoring Template
Difference Report, from the Setup menu, select Manage Cloud Control, and then
Post Upgrade Tasks.

7.12 Changing the Monitoring Template Apply History
Retention Period
You can view monitoring template apply history using the predefined report in
Information Publisher. From the Enterprise menu, select Reports and then
Information Publisher. On the Information Publisher page, you can enter "template"
in the Title text entry field and click Go. The predefined report Monitoring Template
Apply History (last 7 days) appears in the report list.
By default, Enterprise Manager retains the monitoring template apply history for a
period of 180 days. If required, you can change the retention period to a value suitable
for your monitoring needs. Although the retention period cannot be indefinite, it can be
set to an extremely long period of time. Enterprise Manager provides the following
PL/SQL API to change the retention period.
mgmt_template_ui.modify_purge_policy(p_retention_days=>)

This procedure takes a NUMBER as input (num_days).

7-11

8
Using Metric Extensions
Metric extensions provide you with the ability to extend Oracle's monitoring capabilities
to monitor conditions specific to your IT environment. This provides you with a
comprehensive view of your environment. Furthermore, metric extensions allow you to
simplify your IT organization's operational processes by leveraging Enterprise
Manager as the single central monitoring tool for your entire datacenter instead of
relying on other monitoring tools to provide this supplementary monitoring.
This chapter covers the following:
•

What are Metric Extensions?

•

Metric Extension Lifecycle

•

Working with Metric Extensions

•

Adapters

•

Converting User-defined Metrics to Metric Extensions

•

Metric Extension Command Line Verbs

Note:
For video tutorials on using metric extensions, see:
Metric Extensions Part 1: Create Metric Extensions
https://apex.oracle.com/pls/apex/f?
p=44785:24:115515960475402:::24:P24_CONTENT_ID%2CP24_PREV_PAGE:5741%2C24

Metric Extensions Part 2: Deploy Metric Extensions
https://apex.oracle.com/pls/apex/f?
p=44785:24:15296555051584:::24:P24_CONTENT_ID%2CP24_PREV_PAGE:5742%2C24

8.1 What are Metric Extensions?
Metric extensions allow you to create metrics on any target type. Unlike user-defined
metrics (used to extend monitoring in previous Enterprise Manager releases), metric
extensions allow you to create full-fledged metrics for a multitude of target types, such
as:
•

Hosts

•

Databases

•

Fusion Applications

•

IBM Websphere

•

Oracle Exadata databases and storage servers

8-1

Chapter 8

What are Metric Extensions?

•

Siebel components

•

Oracle Business Intelligence components

You manage metric extensions from the Metric Extensions page. This page lists all
metric extensions in addition to allowing you to create, edit, import/export, and deploy
metric extensions.

The cornerstone of the metric extension is the Oracle Integration Adapter. Adapters
provide a means to gather data about targets using specific protocols. Adapter
availability depends on the target type your metric extension monitors.
How Do Metric Extensions Differ from User-defined Metrics?
In previous releases of Enterprise Manager, user-defined metrics were used to extend
monitoring capability in a limited fashion: user-defined metrics could be used to collect
point values through execution of OS scripts and a somewhat more complex set of
values (one per object) through SQL. Unlike metric extensions, user-defined metrics
have several limitations:
•

Limited Integration: If the OS or SQL user-defined metric executed custom
scripts, or required atonal dependent files, the user needed to manually transfer
these files to the target's file system.

•

Limited Application of Query Protocols: OS user-defined metrics cannot model
child objects of servers by returning multiple rows from a metric (this capability
only exists for SQL user-defined metrics).

•

Limited Data Collection: Full-fledged Enterprise Manager metrics can collect
multiple pieces of data with a single query and reflect the associated data in alert
context. However, in the case of user-defined metrics, multiple pieces of data must
be collected by creating multiple user-defined metrics. Because the data is being
collected separately, it is not possible to refer to the associated data when alerts
are generated.

8-2

Chapter 8

Metric Extension Lifecycle

•

Limited Query Protocols: User-defined metrics can only use the "OS" and "SQL"
protocols, unlike metric extensions which can use additional protocols such as
SNMP and JMX.

•

Limited Target Application: User-defined metrics only allow OS user-defined
metrics against host targets and SQL user-defined metrics against database
targets. No other target types are permitted. If, for example, you want to deploy a
user-defined metric against WebLogic instances in your environment, you will not
be able to do so since it is neither a host or database target type.

Most importantly, the primary difference between metric extensions and user-defined
metrics is that, unlike user-defined metrics, metric extensions are full-fledged metrics
similar to Enterprise Manager out-of-box metrics. They are handled and exposed in all
Enterprise Manager monitoring features as any Enterprise Manager-provided metric
and will automatically apply to any new features introduced.

8.2 Metric Extension Lifecycle
Developing a metric extension involves the same three phases you would expect from
any programmatic customization:
•

Developing Your Metric Extension

•

Testing Your Metric Extension

•

Deploying and Publishing Your Metric Extension

Developing Your Metric Extension
The first step is to define your monitoring requirements. This includes deciding the
target type, what data needs to be collected, what mechanism (adapter) can be used
to collect that data, and if elevated credentials are required. After making these
decisions, you are ready to begin developing your metric extension. Enterprise
Manager provides an intuitive user interface to guide you through the creation process.

8-3

Chapter 8

Metric Extension Lifecycle

The metric extension wizard allows you to develop and refine your metric extension in
a completely editable format. And more importantly, allows you to interactively test
your metric extension against selected targets without having first to deploy the
extension to a dedicated test environment. The Test page allows you to run real-time
metric evaluations to ensure there are no syntactical errors in your script or metric
extension definition.
When you have completed working on your metric extension, you can click Finish to
exit the wizard. The newly created metric extension appears in the Metric Extension
Library where it can be accessed for further editing or saved as a deployable draft that
can be tested against multiple targets.

Note:
You can edit a metric extension only if its status is editable. Once it is saved
as a deployable draft, you must create a new version to implement further
edits.

Testing Your Metric Extension
Once your metric extension returns the expected data during real-time target testing,
you are ready to test its robustness and actual behavior in Enterprise Manager by
deploying it against targets and start collecting data. At this point, the metric extension
is still private (only the developer can deploy to targets), but is identical to Oracle outof-box metrics behavior wise. This step involves selecting your editable metric
extension in the library and generating a deployable draft.
You can now deploy the metric extension to actual targets by going through the
“Deploy To Targets…" action. After target deployment, you can review the metric data
returned and test alert notifications. As mentioned previously, you will not be able to

8-4

Chapter 8

Working with Metric Extensions

edit the metric extension once a deployable draft is created: You must create a new
version of the metric extension.
Deploying Your Metric Extension
After rigorous testing through multiple metric extension versions and target
deployments, your metric extension is ready for deployment to your production
environment. Until this point, your metric extension is only viewable by you, the metric
extension creator. To make it accessible to all Enterprise Manager administrators, it
must be published. From the Actions menu, select Publish Metric Extension.
Now that your metric extension has been made public, your metric extension can be
deployed to intended production targets. If you are monitoring a small number of
targets, you can select the Deploy To Targets menu option and add targets one at a
time. For large numbers of targets, you deploy metric extensions to targets using
monitoring templates. An extension is added to a monitoring template in the same way
a full-fledged metric is added. The monitoring template is then deployed to the targets.

Note:
You cannot add metric extensions to monitoring templates before publishing
the extension. If you attempt to do so, the monitoring template page will warn
you about it, and will not proceed until you remove the metric extension.

Updating Metric Extensions
Beginning with Enterprise Manager Release 12.1.0.4, metric extensions can be
updated using the Enterprise Manager Self-update feature. See Updating Cloud
Control for more information.

8.3 Working with Metric Extensions
Most all metric extension operations can be carried out from the Metric Extension
home page. If you need to perform operations on published extensions outside of the
UI, Enterprise Manger also provides EM CLI verbs to handle such operations as
importing/exporting metric extensions to archive files and migrating legacy userdefined metrics to metric extensions. This section covers metric extension operations
carried out from the UI.

8.3.1 Administrator Privilege Requirements
In order to create, edit, view, deploy or undeploy metric extensions, you must have the
requisite administrator privileges. Enterprise Manager administrators must have the
following privileges:
•

Create Metric Extension: System level access that:
Lets administrators view and deploy metric extensions
Allows administrators to edit and delete extensions.

•

Edit Metric Extension: Lets users with "Create Metric Extension" privilege edit
and create next versions of a particular metric extensions. The metric extension

8-5

Chapter 8

Working with Metric Extensions

creator has this privilege by default. This privilege must be granted on a per-metric
extension basis.
•

Full Metric Extension: Allows users with 'Create Metric Extension' privilege to
edit and create new versions of a particular metric extension.

•

Manage Metrics: Lets users deploy and un-deploy extensions on targets
Note: The Manage Metrics privilege must be granted on a per-target basis.

8.3.2 Granting Create Metric Extension Privilege
To grant create metric extension privileges to another administrator:
1.

From the Setup menu, select Security, then select Administrators.

2.

Choose the Administrator you would like to grant the privilege to.

3.

Click Edit.

4.

Go to the Resource Privileges tab, and click Manage Privilege Grants for the
Metric Extension resource type.

5.

Under Resource Type Privileges, click the Create Metric Extension check box.

6.

Click Continue, review changes, and click Finish in the Review tab.

8.3.3 Managing Administrator Privileges
Before an Enterprise Manager administrator can edit or delete a metric extension
created by another administrator, that administrator must have been granted requisite
access privileges. Edit privilege allows editing and creating next versions of the
extension. Full privilege allows the above operations and deletion of the extension.
To grant edit/full access to an existing metric extension to another administrator:
1.

From the Setup menu, select Security, then select Administrators.

2.

Choose the Administrator you would like to grant access to.

3.

Click Edit.

4.

Go to Resource Privileges and click Manage Privilege Grants (pencil icon) for the
Metric Extensions resource type.

5.

Under Resource Privileges, you can search for and add existing metric
extensions. Add the metric extensions you would like to grant privileges to. This
allows the user to edit and create next versions of the metric extension.
On this page, you can also grant an administrator the Create Metric Extension
privilege, which will allow them to manage metric extension access. See
"Managing Administrator Access to Metric Extensions" for more information.

6.

If you would additionally like to allow delete operations, then click the pencil icon in
the Manage Resource Privilege Grants column, and select Full Metric
Extension privilege in the page that shows up.

7.

Click Continue, review changes, and click Finish in the review tab.

8-6

Chapter 8

Working with Metric Extensions

8.3.4 Managing Administrator Access to Metric Extensions
Administrators commonly share the responsibility of monitoring and managing targets
within the IT environment. Consequently, creating and maintaining metric extensions
becomes a collaborative effort involving multiple administrators. Metric extension
owners can control access directly from the metric extension UI.

8.3.4.1 Granting Full/Edit Privileges on a Metric Extension
As metric extension owner or Super Administrator, perform the following actions to
assign full/edit privileges on a metric extension to another administrator:
1.

From the Enterprise menu, select Monitoring, then select Metric Extensions.

2.

Choose a metric extension requiring update.

3.

From the Actions menu, select Manage Access.

4.

Click Add. The administrator selection dialog box appears. You can filter the list by
administrator, role, or both.

5.

Choose one or more administrators/roles from the list.

6.

Click Select. The chosen administrators/roles appear in the access list.
In the Privilege column, Edit is set by default. Choose Full from the drop-down
menu to assign Full privileges on the metric extension.
Edit Privilege: Allows an administrator to make changes to the metric extension
but not delete it.
Full Privilege: Allows an administrator to edit and also delete the metric extension.
The privilege granted to a user or role applies to all versions of the metric
extension.

7.

Click OK.

8.3.4.2 Revoking Access Privileges on a Metric Extension
As metric extension owner or Super Administrator, perform the following actions to
revoke metric extension privileges assigned to another administrator:
1.

From the Enterprise menu, select Monitoring, then select Metric Extensions.

2.

Choose a metric extension requiring update.

3.

From the Actions menu, select Manage Access.

4.

Choose one or more administrators/roles from the list.

5.

Click Remove. The chosen administrators/roles is deleted from the access list.

6.

Click OK.

Enterprise Manager allows metric extension ownership to be transferred from the
current owner of the metric extension to another administrator as long as that
administrator has been granted the Create Metric Extension privilege.

8-7

Chapter 8

Working with Metric Extensions

Note:
The Enterprise Manager Super Administrator has full managerial access to all
metric extensions (view, edit, and ownership transfer).

As mentioned above, manage access is only enabled for the owner of the extension or
an Enterprise Manager Super User. Once the ownership is transferred, the previous
owner does not have any management privileges on the metric extension unless
explicitly granted before ownership transfer. The Change Owner option is only
available to users and not roles.
Manage access allows the metric extension owner or Super Administrator to grant
other Enterprise Manager users or roles the ability to edit, modify, or delete metric
extensions.

8.3.4.3 Transferring Metric Extension Ownership
Enterprise Manager allows metric extension ownership to be transferred from the
current owner of the metric extension to another administrator as long as that
administrator has been granted the Create Metric Extension privilege.

Note:
The Enterprise Manager Super Administrator has full managerial access to all
metric extensions (view, edit, and ownership transfer).

As mentioned above, manage access is only enabled for the owner of the extension or
an Enterprise Manager Super User. Once the ownership is transferred, the previous
owner does not have any management privileges on the metric extension unless
explicitly granted before ownership transfer. The Change Owner option is only
available to users and not roles.
Manage access allows the metric extension owner or Super Administrator to grant
other Enterprise Manager users or roles the ability to edit, modify, or delete metric
extensions.

8.3.5 Creating a New Metric Extension
To create a new metric extension:
1.

From the Enterprise menu, select Monitoring, then select Metric Extensions.

2.

From the Create menu, select Metric Extension. Enterprise Manager will
determine whether you have the Create Extension privilege and guide you through
the creation process.

3.

Decide on a metric extension name. Be aware that the name (and Display Name)
must be unique across a target type.

4.

Enter the general parameters.

8-8

Chapter 8

Working with Metric Extensions

The selected Adapter type defines the properties you must specify in the next step
of the metric extension wizard. The following adapter types are available:
•

OS Command Adapter - Single Column
Executes the specified OS command and returns the command output as a
single value. The metric result is a 1 row, 1 column table.

•

OS Command Adapter- Multiple Values
Executes the specified OS command and returns each command output line
as a separate value. The metric result is a multi-row, 1 column table.

•

OS Command Adapter - Multiple Columns
Executes the specified OS command and parses each command output line
(delimited by a user-specified string) into multiple values. The metric result is a
mult-row, multi-column table.

•

SQL Adapter
Executes custom SQL queries or function calls against single instance
databases and instances on Real Application Clusters (RAC).

•

SNMP (Simple Network Management Protocol) Adapter
Allow Enterprise Manager Management Agents to query SNMP agents for
Management Information Base (MIB) variable information to be used as metric
data.

•

JMX (Java Management Extensions) Adapter
Retrieves JMX attributes from JMX-enabled servers and returns these
attributes as a metric table.

Refer to the Adapters section for specific information on the selected adapter
needed in the Adapter page (step 2) of the wizard.

Note:
Be aware that if you change the metric extension Adapter, all your previous
adapter properties (in Step 2) will be cleared.

Collection Schedule
You defined the frequency with which metric data is collected and how it is used
(Alerting Only or Alerting and Historical Trending) by specifying collection schedule
properties.
Depending on the target type selected, an Advanced option region may appear.
This region may (depending on the selected target type) contain one or two
options that determine whether metric data continues to be collected under certain
target availability/alert conditions. The options are:
•

Option 1: Continue metric data collection even if the target is down. This
option is visible for all target types except for Host target types as it is not
possible to collect metric data when the host is down.

•

Option 2: Continue metric data collection when an alert severity is raised for a
specific target metric. This metric is defined in such a way (AltSkipCondition
element is defined on this metric) that when a severity is generated on this

8-9

Chapter 8

Working with Metric Extensions

metric, the metric collections for other target metrics are stopped. The
explanatory text above the checkbox for this option varies depending on the
selected target type.
The Management Agent has logic to skip evaluation of metrics for targets that
are known to be down to reduce generation of metric errors due to connection
failures. If the AltSkipCondition element is defined for that target metric, other
metrics are skipped whenever there is an error in evaluating the Response
metric or there is a non-clear severity on the Response:Status metric. There
are two situations where a metric collection will be skipped or not happen:
–

When a target is down (option 1). This is same as the Severity on
Response/Status metric.

–

When a target is UP, but there is a severity on any other metric. Such
conditions are called Alt Skip (Alternate Skip) conditions.

Option 2 is only visible if an AltSkipCondition defined for one of the target's
metrics. For example, this option will not be visible if the selected target type is
Oracle Weblogic Domain, but will be visible if the selected target type is
Database Instance.
The following graphic shows the Advanced collection schedule options.

5.

From the Columns page, add metric columns defining the data returned from the
adapter. Note that the column order should match the order with which the adapter
returns the data.
•

Column Type
A column is either a Key column, or Data column. A Key column uniquely
identifies a row in the table. For example, employee ID is a unique identifier of
a table of employees. A Data column is any non-unique data in a row. For
example, the first and last names of an employee. You can also create rate
and delta metric columns based on an existing data column. See Rate and
Delta Metric Columns below.

•

Value Type
A value type is Number or String. This determines the alert comparison
operators that are available, and how Enterprise Manager renders collection
data for this metric column.

•

Alert Thresholds
The Comparison Operation, Warning, and Critical fields define an alert
threshold.

8-10

Chapter 8

Working with Metric Extensions

•

Alert Thresholds By Key
The Comparison Operation, Warning Thresholds By Key, and Critical
Thresholds By Key fields allow you to specify distinct alert thresholds for
different rows in a table. This option becomes available if there are any Key
columns defined. For example, if your metric is monitoring CPU Usage, you
can specify a different alert threshold for each distinct CPU. The syntax is to
specify the key column values in a comma separated list, the "=" symbol,
followed by the alert threshold. Multiple thresholds for different rows can be
separated by the semi-colon symbol ";". For example, if the key columns of the
CPU Usage metric are cpu_id and core_id, and you want to add a warning
threshold of 50% for procecessor1, core1, and a threshold of 60% for
processor2, core2, you would specify:
procecessor1,core1=50;processor2,core2=60

•

Manually Clearable Alert

Note:
You must expand the Advanced region in order to view the Manually Clearable
Alert option.

If this option is set to true, then the alert will not automatically clear when the
alert threshold is no longer satisfied. For example, if your metric is counting
the number of errors in the system log files, and you set an alert threshold of
50, if an alert is raised once the threshold is met, the alert will not
automatically clear once the error count falls back below 50. The alert will
need to be manually cleared in the Alerts UI in the target home page or
Incident Manager.
•

Number of Occurrences Before Alert
The number of consecutive metric collections where the alert threshold is met,
before an alert is raised.

•

Alert Message / Clear Message
The message that is sent when the alert is raised / cleared. Variables that are
available for use are: %columnName%, %keyValue%, %value%,
%warning_threshold%, %critical_threshold%
You can also retrieve the value of another column by surrounding the desired
column name with "%". For example, if you are creating an alert for the
cpu_usage column, you can get the value of the core_temperature column by
using %core_temperature%. Note that the same alert / clear message is used
for warning or critical alerts.

8-11

Chapter 8

Working with Metric Extensions

Note:
Think carefully and make sure all Key columns are added, because you
cannot create additional Key columns in newer versions of the metric
extension. Once you click Save As Deployable Draft, the Key columns are
final (edits to column display name, alert thresholds are still allowed). You can
still add new Data columns in newer versions. Also be aware that some
properties of existing Data columns cannot be changed later, including
Column Type, Value Type, Comparison Operator (you can add a new
operator, but not change an existing operator), and Manually Clearable Alert.
•

Metric Category
The metric category this column belongs to.

Rate and Delta Metric Columns
You can create additional metric columns based on an existing data column that
measures the rate at which data changes or the difference in value (delta) since
the last metric collection. The rate/delta metric definition will be allowed when a
metric's collection frequency is periodic. For example, collected every 10 minutes.
Converseley, a metric that is computed every Monday and Tuesday only cannot
have a rate/delta metric as data sampling is too infrequent.
After at least one data column has been created, three additional options appear
in the Add menu as shown in the following graphic.

•

Add Delta metric columns based on another metric column
Example: You want to know the difference in the table space used since the
last collection.
Delta Calculation:
current metric value - previous metric value

•

Add Rate Per Minute metric column based on another metric column
Example: You want to know the average table space usage per minute based
on the table space column metric which is collected every 1 hr.
Rate Per Minute Calculation:

8-12

Chapter 8

Working with Metric Extensions

(current metric value - previous metric value)/ collection schedule
where the collection schedule is in minutes.
•

Add Rate Per Five Minutes metric column based on another metric column
Example: You want to know the average table space usage every five minutes
based on the table space column which is collected say every 1 hour]
Rate Per Five Minute Calculation:
[(current metric value - previous metric value)/ collection schedule ] * 5
where the collection schedule is in minutes.

To create a rate/delta metric column, click on an existing data column in the table
and then select one of the rate/delta column options from the Add menu.
6.

From the Credentials page, you can override the default monitoring credentials by
using custom monitoring credential sets. By default, the metric extension wizard
chooses the existing credentials used by Oracle out-of-box metrics for the
particular target type. For example, metric extensions will use the dbsnmp user for
database targets. You have the option to override the default credentials, by
creating a custom monitoring credential set through the "emcli
create_credential_set" command. Refer to the Enterprise Manager Command Line
Interface Guide for additional details. Some adapters may use additional
credentials, refer to the Adapters section for specific information.

7.

From the Test page, add available test targets.

8.

Click Run Test to validate the metric extension. The extension is deployed to the
test targets specified by the user and a real-time collection is executed.
Afterwards, the metric extension is automatically undeployed. The results and any
errors are added to the Test Results region.

9.

Repeat the edit /test cycle until the metric extension returns data as expected.

10. Click Finish.

8.3.6 Creating a New Metric Extension (Create Like)
To create a new metric extension based on an existing metric extension:
1.

From the Enterprise menu, select Monitoring, then select Metric Extensions.

2.

From the Metric Extensions page, determine which extensions are accessible.
The page displays the list of metric extensions along with target type, owner,
production version and deployment information.

3.

Select an existing metric extension.

4.

From the Actions menu, select Create Like. Enterprise Manager will determine
whether you have the Create Extension privilege and guide you through the
creation process.

5.

Make desired modifications.

6.

From the Test page, add available test targets.

7.

Click Run Test to validate the metric extension. The extension is deployed to the
test targets specified by the user and a real-time collection is executed.
Afterwards, the metric extension is automatically undeployed. The results and any
errors are added to the Test Results region.

8-13

Chapter 8

Working with Metric Extensions

8.

Repeat the edit /test cycle until the metric extension returns data as expected.

9.

Click Finish.

8.3.7 Editing a Metric Extension
Before editing an existing metric extension, you must have Edit privileges on the
extension you are editing or be the extension creator. Note: Once a metric extension is
saved as a deployable draft, it cannot be edited, you can only create a new version.
To edit an existing metric extension:
1.

From the Enterprise menu, select Monitoring, then select Metric Extensions.

2.

From the Metric Extensions page, determine which extensions are accessible.
The page displays the list of metric extensions along with target type, owner,
production version and deployment information.

3.

Select the metric extension to be edited.

4.

From the Actions menu, select Edit.

5.

Update the metric extension as needed.

6.

From the Test page, add available test targets.

7.

Click Run Test to validate the metric extension. The extension is deployed to the
test targets specified by the user and a real-time collection is executed.
Afterwards, the metric extension is automatically undeployed. The results and any
errors are added to the Test Results region.

8.

Repeat the edit /test cycle until the metric extension returns data as expected.

9.

Click Finish.

8.3.8 Creating the Next Version of an Existing Metric Extension
Before creating the next version of an existing metric extension, you must have Edit
privileges on the extension you are versioning or be the extension creator.
To create next version of an existing metric extension:
1.

From the Enterprise menu, select Monitoring, then select Metric Extensions.

2.

From the Metric Extensions page, determine which extensions are accessible. The
page displays the list of metric extensions along with target type, owner,
production version and deployment information.

3.

Select the metric extension to be versioned.

4.

From the Actions menu, select Create Next Version.

5.

Update the metric extension as needed. The target type, and extension name
cannot be edited, but all other general properties can be modified. There are also
restrictions on metric columns modifications. See Note in Creating a New Metric
Extension section for more details.

6.

From the Test page, add available test targets.

7.

Click Run Test to validate the metric extension. The extension is deployed to the
test targets specified by the user and a real-time collection is executed.
Afterwards, the metric extension is automatically undeployed. The results and any
errors are added to the Test Results region.

8-14

Chapter 8

Working with Metric Extensions

8.

Repeat the edit /test cycle until the metric extension returns data as expected.

9.

Click Finish.

8.3.9 Importing a Metric Extension
Metric extensions can be converted to portable, self-contained packages that allow
you to move the metric extension to other Enterprise Manager installations, or for
storage/backup. These packages are called Metric Extension Archives (MEA) files.
MEA files are zip files containing all components that make up the metric extension:
metric metadata, collections, and associated scripts/jar files. Each MEA file can
contain only one metric extension. To add the metric extension back to your Enterprise
Manager installation, you must import the metric extension from the MEA.
To import a metric extension from an MEA file:
1.

From the Enterprise menu, select Monitoring, then select Metric Extensions.

2.

Click Import.

3.

Browse to file location, and select the MEA file. Enterprise Manager checks if the
target type and metric extension name combination is already used in the system.
If not, the system will create a new metric extension. If the extension name is
already in use, the system will attempt to create a new version of the existing
extension using the MEA contents. This will require the MEA to contain a superset
of all the existing metric extension's metric columns. You also have the option to
rename the metric extension.

4.

Clicking on OK creates the new metric extension or the new version of an existing
metric extension.

5.

From the Actions menu, select Edit to verify the entries.

6.

From the Test page, add available test targets.

7.

Click Run Test to validate the metric extension. The extension is deployed to the
test targets specified by the user and a real-time collection is executed.
Afterwards, the metric extension is automatically undeployed. The results and any
errors are added to the Test Results region.

8.

Repeat the edit /test cycle until the metric extension returns data as expected.

9.

Click Finish.

8.3.10 Exporting a Metric Extension
Existing metric extensions can be package as self-contained zip files (exported) for
portability and/or backup and storage.
To export an existing metric extension:
1.

From the Enterprise menu, select Monitoring, then select Metric Extensions.

2.

From the Metric Extensions page, determine which extensions are accessible.
The page displays the list of metric extensions along with target type, owner,
production version and deployment information.

3.

Select the metric extension to be exported.

4.

From the Actions menu, select Export. Enterprise Manager prompts you to enter
the name and location of the MEA file that is to be created.

8-15

Chapter 8

Working with Metric Extensions

5.

Enter the name and location of the package. Enterprise Manager displays the
confirmation page after the export is complete.
Note: You can only export Production, Deployable Draft and Published metric
extension versions.

6.

Confirm the export file is downloaded.

8.3.11 Deleting a Metric Extension
Initiating the deletion of a metric extension is simple. However, the actual deletion
triggers a cascade of activity by Enterprise Manager to completely purge the metric
extension from the system. This includes closing open metric alerts, and purging
collected metric data (if the latest metric extension version is deleted).
Before a metric extension version can be deleted, it must be undeployed from all
targets, and removed from all monitoring templates (including templates in pending
apply status).
To delete a metric extension:
1.

From the Enterprise menu, select Monitoring, then select Metric Extensions.

2.

From the Metric Extensions page, determine which extensions are accessible.
The page displays the list of metric extensions along with target type, owner,
production version and deployment information.

3.

Select the metric extension that is to be deleted.

4.

From the Actions menu, select Delete. Enterprise Manager prompts you to
confirm the deletion.

5.

Confirm the deletion.

8.3.12 Deploying Metric Extensions to a Group of Targets
A metric extension must be deployed to a target in order for it to begin collecting data.
To deploy a metric extension to one or more targets:
1.

From the Enterprise menu, select Monitoring, then select Metric Extensions.

2.

From the Metric Extensions page, determine which extensions are accessible.
The page displays the list of metric extensions along with target type, owner,
production version and deployment information.

3.

Select the metric extension that is to be deployed.

4.

From the Actions menu, select Manage Target Deployments. The Manage
Target Deployments page appears showing you on which target(s) the selected
metric extension is already deployed.

5.

Return to the Metric Extensions page.

6.

Select the metric extension.

7.

From the Actions menu, select Deploy to Targets. Enterprise Manager
determines whether you have "Manage Target Metrics" privilege, and only those
targets where you do show up in the target selector.

8-16

Chapter 8

Working with Metric Extensions

8.

Add the targets where the metric extension is to be deployed and click Submit.
Enterprise Manager submits a job deploying the metric extension to each of the
targets. A single job is submitted per deployment request.

9.

You are automatically redirected to the Pending Operations page, which shows a
list of currently scheduled, executing, or failed metric extension deploy operations.
Once the deploy operation completes, the entry is removed from the pending
operations table.

8.3.13 Creating an Incident Rule to Send Email from Metric Extensions
One of the most common tasks administrators want Enterprise Manager to perform is
to send an email notification when a metric alert condition occurs. Specifically,
Enterprise Manager monitors for alert conditions defined as incidents. For a given
incident you create an incident rule set to tell Enterprise Manager what actions to take
when an incident occurs. In this case, when an incident consisting of an alert condition
defined by a metric extension occurs, you need to create an incident rule to send email
to administrators. For instructions on sending email for metric alerts, see "Sending
Email for Metric Alerts".
For information incident management see Using Incident Management .

8.3.14 Updating Older Versions of Metric Extensions Already
Deployed to a Group of Targets
When a newer metric extension version is published, you may want to update any
older deployed instances of the metric extension.
To update old versions of the metric extension already deployed to targets:
1.

From the Enterprise menu, select Monitoring, then select Metric Extensions.

2.

From the Metric Extensions page, determine which extensions are accessible.
The page displays the list of metric extensions along with target type, owner,
production version and deployment information.

3.

Select the metric extension to be upgraded.

4.

From the Actions menu, select Manage Target Deployments. The Manage
Target Deployments page appears showing a list of targets where the metric
extension is already deployed.

5.

Select the list of targets where the extension is to be upgraded and click Upgrade.
Enterprise Manager submits a job for the deployment of the newest Published
metric extension to the selected targets. A single job is submitted per deployment
request.

6.

You are automatically redirected to the Pending Operations page, which shows a
list of currently scheduled, executing, or failed metric extension deploy operations.
Once the deploy operation completes, the entry is removed from the pending
operations table.

8.3.15 Creating Repository-side Metric Extensions
Beginning with Enterprise Manager Release 12.1.0.4, you can create repository-side
metric extensions. This type of metric extension allows you to use SQL scripts to
extract information directly from the Enterprise Manager repository and raise alerts for

8-17

Chapter 8

Working with Metric Extensions

the target against which the repository-side extension is run. For example, you can
use repository-side metric extensions to raise an alert if the total number of alerts for a
host target is greater than 5. Or perhaps, raise an alert if the CPU utilization on that
host is greater than 95% AND the number of process running on that host is greater
than 500. Repository-side metrics allows you to monitor your Enterprise Manager
infrastructure with greater flexibility.
To create a repository-side metric:
1.

From the Enterprise menu, select Monitoring, then select Metric Extensions.

2.

From the Create menu, select Repository-side Metric Extension. Enterprise
Manager will determine whether you have the Create Extension privilege and
guide you through the creation process.

3.

Decide on a target type and metric extension name. Be aware that the name (and
Display Name) must be unique across a target type.

4.

Enter the general parameters.
Collection Schedule
You defined the frequency with which metric data is collected and how it is used
(Alerting Only or Alerting and Historical Trending) by specifying collection schedule
properties.

5.

Create the SQL query to be run against the Enterprise Manager Repository.
Explicit instructions for developing the query as well as examples are provide on
the SQL Query page.

Click Validate SQL to test the query.
If you already have a SQL script, you can click Upload to load the SQL from an
external file.
6.

From the Columns page, you can view/edit columns returned by the SQL query.
You may edit the columns, however, you cannot add or delete columns from this
page.
•

Column Type
A column is either a Key column, or Data column. A Key column uniquely
identifies a row in the table. For example, employee ID is a unique identifier of

8-18

Chapter 8

Working with Metric Extensions

a table of employees. A Data column is any non-unique data in a row. For
example, the first and last names of an employee. You can also create rate
and delta metric columns based on an existing data column. See Rate and
Delta Metric Columns below.
•

Value Type
A value type is Number or String. This determines the alert comparison
operators that are available, and how Enterprise Manager renders collection
data for this metric column.

•

Alert Thresholds
The Comparison Operation, Warning, and Critical fields define an alert
threshold.

•

Alert Thresholds By Key
The Comparison Operation, Warning Thresholds By Key, and Critical
Thresholds By Key fields allow you to specify distinct alert thresholds for
different rows in a table. This option becomes available if there are any Key
columns defined. For example, if your metric is monitoring CPU Usage, you
can specify a different alert threshold for each distinct CPU. The syntax is to
specify the key column values in a comma separated list, the "=" symbol,
followed by the alert threshold. Multiple thresholds for different rows can be
separated by the semi-colon symbol ";". For example, if the key columns of the
CPU Usage metric are cpu_id and core_id, and you want to add a warning
threshold of 50% for procecessor1, core1, and a threshold of 60% for
processor2, core2, you would specify:
procecessor1,core1=50;processor2,core2=60

•

Manually Clearable Alert

Note:
You must expand the Advanced region in order to view the Manually Clearable
Alert option.

If this option is set to true, then the alert will not automatically clear when the
alert threshold is no longer satisfied. For example, if your metric is counting
the number of errors in the system log files, and you set an alert threshold of
50, if an alert is raised once the threshold is met, the alert will not
automatically clear once the error count falls back below 50. The alert will
need to be manually cleared in the Alerts UI in the target home page or
Incident Manager.
•

Number of Occurrences Before Alert
The number of consecutive metric collections where the alert threshold is met,
before an alert is raised.

•

Alert Message / Clear Message
The message that is sent when the alert is raised / cleared. Variables that are
available for use are: %columnName%, %keyValue%, %value%,
%warning_threshold%, %critical_threshold%
You can also retrieve the value of another column by surrounding the desired
column name with "%". For example, if you are creating an alert for the

8-19

Chapter 8

Working with Metric Extensions

cpu_usage column, you can get the value of the core_temperature column by
using %core_temperature%. Note that the same alert / clear message is used
for warning or critical alerts.

Note:
Think carefully and make sure all Key columns are added, because you
cannot create additional Key columns in newer versions of the metric
extension. Once you click Save As Deployable Draft, the Key columns are
final (edits to column display name, alert thresholds are still allowed). You can
still add new Data columns in newer versions. Also be aware that some
properties of existing Data columns cannot be changed later, including
Column Type, Value Type, Comparison Operator (you can add a new
operator, but not change an existing operator), and Manually Clearable Alert.
•

Metric Category
The metric category this column belongs to.

•

Add Delta metric columns based on another metric column
Example: You want to know the difference in the table space used since the
last collection.
Delta Calculation:
current metric value - previous metric value

•

Add Rate Per Minute metric column based on another metric column
Example: You want to know the average table space usage per minute based
on the table space column metric which is collected every 1 hr.
Rate Per Minute Calculation:
(current metric value - previous metric value)/ collection schedule
where the collection schedule is in minutes.

•

Add Rate Per Five Minutes metric column based on another metric column
Example: You want to know the average table space usage every five minutes
based on the table space column which is collected say every 1 hour]
Rate Per Five Minute Calculation:
[(current metric value - previous metric value)/ collection schedule ] * 5
where the collection schedule is in minutes.

To create a rate/delta metric column, click on an existing data column in the table
and then select one of the rate/delta column options from the Add menu.
7.

From the Test page, add available test targets.

8.

Click Run Test to validate the metric extension. The extension is deployed to the
test targets specified by the user and a real-time collection is executed.
Afterwards, the metric extension is automatically undeployed. The results and any
errors are added to the Test Results region.

9.

Repeat the edit /test cycle until the metric extension returns data as expected.

10. Click Finish.

8-20

Chapter 8

Adapters

8.4 Adapters
Oracle Integration Adapters provide comprehensive, easy-to-use monitoring
connectivity with a variety of target types. The adapter enables communication with an
enterprise application and translates the application data to standards-compliant XML
and back.
The metric extension target type determines which adapters are made available from
the UI. For example, when creating a metric extension for an Automatic Storage
Management target type, only three adapters (OS Command-Single Column, OS
Command-Multiple Columns, and SQL) are available from the UI.

A target type's out-of-box metric definition defines the adapters for which it has native
support, and only those adapters will be shown in the UI. No other adapters are
supported for that target type.
A complete list of all adapters is shown below.
•

OS Command Adapter - Single Column

•

OS Command Adapter- Multiple Values

•

OS Command Adapter - Multiple Columns

•

SQL Adapter

•

SNMP (Simple Network Management Protocol) Adapter

8-21

Chapter 8

Adapters

•

JMX Adapter

8.4.1 OS Command Adapter - Single Column
Executes the specified OS command and returns the command output as a single
value. The metric result is a 1 row, 1 column table.
Basic Properties
The complete command line will be constructed as: Command + Script + Arguments.
•

Command - The command to execute. For example, %perlBin%/perl. The
complete command line will be constructed as: Command + Script + Arguments.

•

Script - A script to pass to the command. For example, %scriptsDir%/myscript.pl.
You can upload custom files to the agent, which will be accessible under the
%scriptsDir% directory.

•

Arguments - Additional arguments to be appended to the Command.

Advance Properties
•

Input Properties - Additional properties can be passed to the command through
its standard input stream. This is usually used for secure content, such as
username or passwords, that you don't want to be visible to other users. For
example, you can add the following Input Property:
Name=targetName, Value=%NAME%

which the command can read through it's standard input stream as
"STDINtargetName=".
•

Environment Variables - Additional properties can be accessible to the command
from environment variables. For example, you can add Environment Variable:
Name=targetType, Value="%TYPE%", and the command can access the target type
from environment variable "ENVtargetType".

Credentials
•

Host Credentials - The credential used to launch the OS Command.

•

Input Credentials - Additional credentials passed to the OS Command's standard
input stream.

Example 1
Read the contents of a log file, and dump out all lines containing references to the
target.
•

Approach 1 - Use the grep command, and specify the target name using %NAME
% parameter.
Command = /bin/grep %NAME% mytrace.log

•

Approach 2 - Run a perl script
Command = %perlBin%/perl
Script = %scriptsDir%/filterLog.pl

Input Properties:
targetName = %NAME%
targetType = %TYPE%

8-22

Chapter 8

Adapters

filterLog.pl:
require "emd_common.pl";
my %stdinVars = get_stdinvars();
my $targetName = $stdinVars{"targetName"};
my $targetType = $stdinVars{"targetType"};
open (MYTRACE, mytrace.log);
foreach $line ()
{
# Do line-by-line processing
}
close (MYTRACE);

Example 2
Connect to a database instance from a PERL script and query the HR.JOBS sample
schema table.
•

Approach 1 - Pass credentials from target type properties into using Input
Properties:
Command = %perlBin%/perl
Script = %scriptsDir%/connectDB.pl

Input Properties:
EM_DB_USERNAME = %Username%
EM_DB_PASSWORD = %Password%
EM_DB_MACHINE = %MachineName%
EM_DB_PORT = %Port%
EM_DB_SID = %SID%

connectDB.pl
use DBI;
require "emd_common.pl";
my
my
my
my
my
my

%stdinVars = get_stdinvars();
$dbUsername = $stdinVars{"EM_DB_USERNAME"};
$dbPassword = $stdinVars{"EM_DB_PASSWORD"};
$dbMachine = $stdinVars{"EM_DB_MACHINE"};
$dbPort = $stdinVars{"EM_DB_PORT"};
$dbSID = $stdinVars{"EM_DB_SID"};

my $dbAddress = "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=$dbMachine)
(Port=$dbPort))(CONNECT_DATA=(SID=$dbSID)))";
# Establish Target DB Connection
my $db = DBI->connect('dbi:Oracle:', "$dbUsername@".$dbAddress, "$dbPassword",
{PrintError => 0, RaiseError => 0, AutoCommit => 0})
or die (filterOraError("em_error=Could not connect
to $dbUsername/$dbAddress: $DBI::errstr\n", $DBI::err));
my $query = "SELECT JOB_TITLE, MIN_SALARY FROM HR.JOBS";
my $st = $db->prepare($query);
$st->execute();

8-23

Chapter 8

Adapters

while ( my ($job_title, $min_sal) = $st->fetchrow_array() )
{
print "$job_title|$min_sal\n";
}
$db->disconnect
or warn "disconnect $DBI::errstr\n";
exit 0;

•

Approach 2 - Pass monitoring credential set using Input Credentials
Command = %perlBin%/perl
Script = %scriptsDir%/connectDB.pl

Input Credentials:
dbCreds = MyCustomDBCreds

connectDB.pl
use DBI;
require "emd_common.pl";

my
my
my
my
my

%stdinVars = get_stdinvars();
$credType = getCredType("dbCred", \%stdinVars);
%credProps = getCredProps("dbCreds", \%stdinVars);
$dbUsername = $credProps{"DBUserName"};
$dbPassword = $credProps{"DBPassword"};

Example 3
Overriding default monitoring credentials by creating and using a custom monitoring
credential set for host target.
Creating host credentials for the host target type:
> emcli create_credential_set -set_name=myCustomCreds -target_type=host auth_target_type=host -supported_cred_types=HostCreds -monitoring -description='My
Custom Credentials'

When you go to the Credentials page of the Metric Extension wizard, and choose to
"Specify Credential Set" for Host Credentials, you will see "My Custom Credentials"
show up as an option in the drop down list.
Note that this step only creates the Monitoring Credential Set for the host target type,
and you need to set the credentials on each target you plan on deploying this metric
extension to. You can set credentials from Enterprise Manager by going to Setup, then
Security, then Monitoring Credentials. Alternatively, this can be done from the
command line.
> emcli set_monitoring_credential -target_name=target1 -target_type=host set_name=myCustomCreds -cred_type=HostCreds -auth_target_type=host attributes='HostUserName:myusername;HostPassword:mypassword'

8.4.2 OS Command Adapter- Multiple Values
Executes the specified OS command and returns each command output line as a
separate value. The metric result is a multi-row, 1 column table.

8-24

Chapter 8

Adapters

For example, if the command output is:
em_result=out_x
em_result=out_y

then three columns are populated with values 1,2,3 respectively.
Basic Properties
•

Command - The command to execute. For example, %perlBin%/perl.

•

Script - A script to pass to the command. For example, %scriptsDir%/myscript.pl.
You can upload custom files to the agent, which will be accessible under the
%scriptsDir% directory.

•

Arguments - Additional arguments to be appended to the Command.

•

Starts With - The starting string of metric result lines.
Example: If the command output is:
em_result=4354
update
test

setting Starts With = em_result specifies that only lines starting with em_result will
be parsed.
Advanced Properties
•

Input Properties - Additional properties to be passed to the command through its
standard input stream. For example, you can add Input Property:
Name=targetName, Value=%NAME%, which the command can read through its
standard input stream as "STDINtargetName=". See usage
examples in OS Command Adapter - Single Columns.

•

Environment Variables - Additional properties can be accessible to the command
from environment variables. For example, you can add Environment Variable:
Name=targetType, Value="%TYPE%", and the command can access the target
type from environment variable "ENVtargetType". See usage examples in OS
Command Adapter - Single Columns.

Credentials
•

Host Credentials - The credential used to launch the OS Command. See usage
examples in OS Command Adapter - Single Columns.

•

Input Credentials - Additional credentials passed to the OS Command's standard
input stream. See usage examples in OS Command Adapter - Single Columns.

8.4.3 OS Command Adapter - Multiple Columns
Executes the specified OS command and parses each command output line (delimited
by a user-specified string) into multiple values. The metric result is a mult-row, multicolumn table.
Example: If the command output is
em_result=1|2|3
em_result=4|5|6

and the Delimiter is set as "|", then there are two rows of three columns each:

8-25

Chapter 8

Adapters

Basic Properties
The complete command line will be constructed as: Command + Script + Arguments
•

Command - The command to execute. For example, %perlBin%/perl.

•

Script - A script to pass to the command. For example, %scriptsDir%/myscript.pl.
You can upload custom files to the agent, which will be accessible under the
%scriptsDir% directory.

•

Arguments - Additional arguments.

•

Delimiter - The string used to delimit the command output.

•

Starts With - The starting string of metric result lines.
Example: If the command output is
em_result=4354 out_x out_y

setting Starts With = em_result specifies that only lines starting with em_result will
be parsed.
•

Input Properties - Additional properties can be passed to the command through
its standard input stream. For example, you can add Input Property:
Name=targetName, Value=%NAME%, which the command can read through it's
standard input stream as STDINtargetName=. To specify multiple
Input Properties, enter each property on its own line.

•

Environment Variables - Additional properties can be accessible to the command
from environment variables. For example, you can add Environment Variable:
Name=targetType, Value="%TYPE%, and the command can access the target
type from environment variable "ENVtargetType".

Advanced Properties
•

Input Properties - Additional properties can be passed to the command through
its standard input stream. For example, you can add Input Property:
Name=targetName, Value=%NAME%, which the command can read through its
standard input stream as STDINtargetName=. See usage examples
in OS Command Adapter - Single Columns.

•

Environment Variables - Additional properties can be accessible to the command
from environment variables. For example, you can add Environment Variable:
Name=targetType, Value="%TYPE%, and the command can access the target
type from environment variable "ENVtargetType". See usage examples in OS
Command Adapter - Single Columns.

Credentials
•

Host Credentials - The credential used to launch the OS Command. See usage
examples in OS Command Adapter - Single Columns

•

Input Credentials - Additional credentials passed to the OS Command's standard
input stream. See usage examples in OS Command Adapter - Single Columns.

8.4.4 SQL Adapter
Executes custom SQL queries or function calls supported against single instance
databases and instances on Real Application Clusters (RAC).
Properties

8-26

Chapter 8

Adapters

•

SQL Query - The SQL query to execute. Normal SQL statements should not be
semi-colon terminated. For example, SQL Query = "select a.ename, (select
count(*) from emp p where p.mgr=a.empno) directs from emp a". PL/SQL
statements are also supported, and if used, the "Out Parameter Position" and "Out
Parameter Type" properties should be populated.

•

SQL Query File - A SQL query file. Note that only one of "SQL Query" or "SQL
Query File" should be used. For example, %scriptsDir%/myquery.sql. You can
upload custom files to the agent, which will be accessible under the %scriptsDir%
directory.

•

Transpose Result - Transpose the SQL query result.

•

Bind Variables - Declare bind variables used in normal SQL statements here. For
example, if the SQL Query = "select a.ename from emp a where a.mgr = :1", then
you can declare the bind variable as Name=1, Value=Bob.

•

Out Parameter Position - The bind variable used for PL/SQL output. Only
integers can be specified.
Example: If the SQL Query is
DECLARE
BEGIN
FROM dual;

.....
END;

l_output1 NUMBER;
OPEN :1 FOR

l_output2 NUMBER;
SELECT l_output1, l_output2

you can set Out Parameter Position = 1, and Out Parameter Type =
SQL_CURSOR
•

Out Parameter Type - The SQL type of the PL/SQL output parameter. See
comment for Out Parameter Position

Credentials
•

Database Credentials - The credential used to connect to the database.

Example
Overriding default monitoring credentials by creating and using a custom monitoring
credential set for database target.
Creating host credentials for the database target type:
> emcli create_credential_set -set_name=myCustomDBCreds -target_type=oracle_database
-auth_target_type=oracle_database -supported_cred_types=DBCreds -monitoring description='My Custom DB Credentials'

When you go to the Credentials page of the Metric Extension wizard, and choose to
"Specify Credential Set" for Database Credentials, you will see "My Custom DB
Credentials" show up as an option in the drop down list.
Note that this step only creates the Monitoring Credential Set for the host target type,
and you need to set the credentials on each target you plan on deploying this metric
extension to. You can set credentials from Enterprise Manager by going to Setup,
then selecting Security, then selecting Monitoring Credentials. Alternatively, this can
be performed using the Enterprise Manager Command Line Interface.
> emcli set_monitoring_credential -target_name=db1 -target_type=oracle_database set_name=myCustomDBCreds -cred_type=DBCreds -auth_target_type=oracle_database attributes='DBUserName:myusername;DBPassword:mypassword'

8-27

Chapter 8

Adapters

8.4.5 SNMP (Simple Network Management Protocol) Adapter
Allow Enterprise Manager Management Agents to query SNMP agents for
Management Information Base (MIB) variable information to be used as metric data.
Basic Properties
•

Object Identifiers (OIDs): Object Identifiers uniquely identify managed objects in
a MIB hierarchy. One or more OIDs can be specified. The SNMP adapter will
collect data for the specified OIDs. For example, 1.3.6.1.4.1.111.4.1.7.1.1

Advanced Properties
•

Delimiter - The delimiter value used when specifying multiple OID values for an
OID's attribute. The default value is space or \n or \t

•

Tabular Data - Indicates whether the expected result for a metric will have
multiple rows or not. Possible values are TRUE or FALSE. The default value is
FALSE

•

Contains V2 Types - Indicates whether any of the OIDs specified is of SNMPV2
data type. Possible values are TRUE or FALSE. The default value is FALSE. For
example, if an OID value specified is of counter64 type, then this attribute will be
set to TRUE.

8.4.6 JMX Adapter
Retrieves JMX attributes from JMX-enabled servers and returns these attributes as a
metric table.
Properties
•

Metric -- The MBean ObjectName or ObjectName pattern whose attributes are to
be queried. Since this is specified as metric metadata, it needs to be instanceagnostic. Instance-specific key properties (such as servername) on the MBean
ObjectName may need to be replaced with wildcards.

•

ColumnOrder -- A semi-colon separated list of JMX attributes in the order they
need to be presented in the metric.

Advanced Properties
•

IdentityCol -- The MBean key property that needs to be surfaced as a column
when it is not available as a JMX attribute. For example:
com.myCompany:Name=myName,Dept=deptName, prop1=prop1Val, prop2=prop2Val

In this example, setting identityCol as Name;Dept will result in two additional key
columns representing Name and Dept besides the columns representing the JMX
attributes specified in the columnOrder property.
•

AutoRowPrefix -- Prefix used for an automatically generated row. Rows are
automatically generated in situations where the MBean ObjectName pattern
specified in metric property matches multiple MBeans and none of the JMX
attributes specified in the columnOrder are unique for each. The autoRowId value
specified here will be used as a prefix for the additional key column created. For
example, if the metric is defined as:
com.myCompany:Type=CustomerOrder,* columnOrder

8-28

Chapter 8

Converting User-defined Metrics to Metric Extensions

is
CustomerName;OrderNumber;DateShipped

and assuming CustomerName;OrderNumber;Amount may not be unique if an
order is shipped in two parts, setting autoRowId as "ShipItem-" will populate an
additional key column for the metric for each row with ShipItem-0, ShipItem-1,
ShipItem-2...ShipItem-n.
•

Metric Service -- True/False. Indicate whether MetricService is enabled on a
target Weblogic domain. This property would be false (unchecked) in most cases
for Metric Extensions except when metrics that are exposed via the Oracle DMS
MBean needs to be collected. If MetricService is set to true, then the basic
property metric becomes the MetricService table name and the basic property
columnOrder becomes a semicolon-separated list of column names in the
MetricService table.

Note:
Refer to the Monitoring Using Web Services and JMX chapter in the for an indepth example of creating a JMX-based Metric Extension.

8.5 Converting User-defined Metrics to Metric Extensions
For targets monitored by Enterprise Manager 12c or greater Agents, both older userdefined metrics and metric extensions will be supported. After release 12c, only metric
extensions will be supported. If you have existing user-defined metrics, it is
recommended that you migrate them to metric extensions as soon as possible to
prevent potential monitoring disruptions in your managed environment.
Migration of user-defined metric definitions to metric extensions is not automatic and
must be initiated by an administrator. The migration process involves migrating userdefined metric metadata to metric extension metadata.

Note:
Migration of collected user-defined metric historic data is not supported.

After the user-defined metric is migrated to the metric extension and the metric
extension has been deployed successfully on the target, the user-defined metric
should be either disabled or deleted. Disabling the collection of the user-defined metric
will retain the metadata definition of the user-defined metric) but will clear all the open
alerts, remove the metric errors and prevent further collections of the user-defined
metric. Deleting the user-defined metric will delete the metadata, historic data, clear
open alerts and remove metric errors.

8.5.1 Overview
The User Defined Metric (UDM) to Metric Extension (ME) migration replaces an
existing UDM with a new or existing ME. The idea behind the migration process is to

8-29

Chapter 8

Converting User-defined Metrics to Metric Extensions

consolidate UDMs with the same definition that have been created on different targets
into a single ME. In addition, MEs support multiple metric columns, allowing the user to
combine multiple related UDMs into a single ME.
This migration process is comprised of the following steps:
1.

Identify the UDMs that need to be migrated.

2.

Use the provided EM CLI commands to create or select a compatible metric
extension.

3.

Test and publish the metric extension.

4.

Deploy the metric extension to all targets and templates where the original UDMs
are located. Also update the existing notification rules to refer to the ME.

5.

Delete the original UDMs. Note that the historical data and alerts from the old
UDM is still accessible from the UI, but the new ME will not inherit them.

Note that the credentials being used by the UDM are NOT migrated to the newly
created ME. The user interface allows a user to specify the credential set required by
the metric extension. If the ME does not use the default monitoring credentials, the
user will need to create a new credential set to accommodate the necessary
credentials through the relevant EM CLI commands. This set will then be available in
the credentials page of the metric extension wizard.
The migration process is categorized by migration sessions. Each session is
responsible for migrating one or more UDMs. The process of migrating an individual
session is referred to as a task. Therefore, a session is comprised of one or more
tasks. In general terms, the migration involves creating a session and providing the
necessary input to complete each tasks within that session. The status of the session
and tasks is viewable throughout the workflow.

8.5.2 Commands
A number of EM CLI commands are responsible for completing the various steps of
this process. For a more detailed explanation of the command definition, please use
the 'EM CLI help ' option.
•

list_unconverted_udms - Lists the UDMs that have yet to be migrated and not in
a session

•

create_udmmig_session - Creates a session to migrate one or more UDMs

•

udmmig_summary - Lists the migration sessions in progress

•

udmmig_session_details - Provides the details of a specific session

•

udmmig_submit_metricpics - Provides a mapping between the UDM and the
ME in order to create a new ME or use an existing one

•

udmmig_retry_deploys - Deploys the ME to the targets where the UDM is
present. Note that the ME has to be in a deployable draft or published state for this
command to succeed

•

udmmig_request_udmdelete - Deletes the UDM and completing the migration
process

Usage Examples
The following exercise outlines a simple use case to showcase the migration

8-30

Chapter 8

Converting User-defined Metrics to Metric Extensions

Consider a system with one host (host1) that has one host UDM (hostudm1) on it. The
goal is to create a new ME (me1) that represents the UDM. The sequence of
commands would be as follows
$ emcli list_unconverted_udms
-------------+----------------------+-----------+-------------------Type
| Name
| Metric
| UDM
-------------+----------------------+-----------+-------------------host
| host1
|UDM
| hostudm1

The command indicates that there is only one UDM that has not been migrated or in
the process of migration at this stage. Now proceed with the creation of a session.
$ emcli create_udmmig_session -name=migration1 -desc="Convert UDMs for host target" udm_choice=hostudm1 -target=host:host1
Migration session created - session id is 1

The command creates a migration session with name migration1 and the description
"convert UDMs for host target". The udm_choice flag indicates the UDM chosen and
the target flag describes the target type and the target on which the UDM resides.
Migration sessions are identified by session IDs. The current session has an ID of 1.
$ emcli udmmig_summary
------+--------------+------------------+------+------+--------+------+-------ID
| Name
| Description
|#Tgts |Todo |#Tmpls |Todo |IncRules
------+--------------+------------------+------+------+--------+------+-------1
|migration1
|Convert UDMS
|
| 1/1 | 0
| -/0 | -/0
------+--------------+------------------+------+------+--------+------+--------

The command summarizes all the migrations sessions currently in progress. The
name and description fields identify the session. The remaining columns outline the
number of targets, templates and incident rules that contain references to the UDM
that is being converted to a metric extension. The 'Todo' columns indicate the number
of targets, templates and incident rules whose references to the UDM are yet to be
updated. Since a migration session can be completed over a protracted period of time,
the command provides an overview of the portion of the session that was been
completed.
$ emcli list_unconverted_udms
There are no unconverted udms

Since the UDM is part of a migration session, it no longer shows up in the list of
unconverted UDMs.
$ emcli udmmig_session_details -session_id=1
Name: migration1
Desc: Convert UDMs for host target
Created: