15 About Deployment Procedures

This chapter provides an overview of Deployment Procedures and describes the key aspects you need to know about them. In particular, this chapter covers the following:

Overview of the Provisioning Page

Enterprise Manager provides a framework for automating, orchestrating, and tracking tasks that can be run on multiple Oracle homes. You can perform complex software life cycle management activities such as provisioning, patching, upgrade, and so on from the Cloud Control console. The workflow of all the tasks that need to be performed for a particular life cycle management activity is encapsulated in a Procedure. A Procedure is a hierarchical sequence of provisioning steps, where each step may contain a sequence of other steps. It provides a framework where specific applications and procedures can be built.

Oracle Enterprise Manager Cloud Control (Cloud Control) comes with a set of default Procedures that help you accomplish common provisioning and patching-related tasks. Each Procedure is unique, and is designed to perform a particular operation according to the source being provisioned or target being patched. For example, the Procedure to patch a single instance database differs from the one to patch an Oracle RAC environment or an application server.

The Provisioning page has three tabs: Procedure Library, Procedure Activity, and Recycle Bin.

  • Procedure Library Tab: Use this tab to view a list of all available procedures. For executing procedures or creating new procedures or creating procedures from Oracle supplied ones, a deployment procedure is created. A deployment procedure is a sequence of provisioning steps and phases, where each phase can contain sequence of steps.

    Oracle provides best practice deployment procedures that are marked as Oracle under the Created By field. You cannot edit or delete these procedures.

    For information about the tasks that can be performed from the Procedure Library page, refer to Managing Deployment Procedures.

  • Procedure Activity Tab: Use this tab to view a list of all procedure runs that have been submitted for execution and all executing procedures.You can also view the status of a procedure run. In addition to this, you can perform a number of actions on the submitted procedure like Stop, Suspend, Resume, Retry, Delete, and Reschedule. To understand that actions that you qualify to perform on a procedure, select the procedure. For example, you can Stop or Retry a failed procedure. Starting with Enterprise Manager 12.1.01.3, a new option called Reschedule has been introduced, which is enabled for a job that is in progress and has a repeating schedule.

    When a procedure is executed, an instance of that procedure is created. This instance keeps track of which step is currently being executed and stores any data collected from the user or any data automatically gathered by executing the action steps.

    For an overview of the Procedure Activity tab, see Overview of the Procedure Instance Execution Page

  • Recycle Bin Tab: You can delete procedures and runs. When procedures or runs are deleted, they will be internally marked as deleted and will be displayed in the Recycle Bin tab.

The following graphic shows you how you can access the Provisioning screen from within Cloud Control.

Figure 15-1 Accessing the Provisioning Page

Provisioning Page

Granting Roles and Privileges to Administrators

Administrators are Enterprise Manager users who can login to Enterprise Manager to perform management tasks. The breadth of management tasks available in Enterprise Manager depends on the privileges and roles assigned to the administrators. Roles allow grouping of Enterprise Manager secure resource privileges and can be granted to administrators or to other roles. Based on the roles, and privileges granted to an Administrator, they can be broadly classified into Designers, and Operators. Normally, the roles and privileges are granted to users or other roles at deployment procedure level, and Software Library level.

This section describes how administrators are granted the predefined roles and privileges that Oracle provides:

Granting Roles and Privileges to Administrators on the Deployment Procedure

In a typical data center, the main users of Deployment Procedures are Designers (Lead Administrators) and Operators. Deployment Procedure privileges enable users to perform some design-time activities like setting Privilege Delegation, customizing Deployment Procedure, and run-time activities like running the Deployment Procedure to provision or patch software applications.

Following are the primary users/roles predefined by Oracle for a Deployment procedure, and their associated privileges:

  • Super Administrator role allows you to perform all the Administrative operations, and provides full privileges on all the targets.
  • EM_ALL_DESIGNER (Designer): This role allows you to perform design time operations on entities. For example, Creating and Monitoring Deployment Procedure templates.

    The following table lists all the roles predefined for Designers, and their corresponding descriptions:

    Table 15-1 Predefined Roles for Designers

    Roles Description

    EM_PROVISIONING_DESIGNER

    Role has privileges for provisioning designer

    EM_TC_DESIGNER

    Role has privileges for creating Template Collections

    Users can be granted any of the following Target Privileges:

    • Create Privilege Propagating Group. Privileges granted on a privilege propagating group will be automatically granted to the members of the group.
    • Add any target in Enterprise Manager.

    Users can be granted any of the following Resource Privileges:

    • Create Compliance Entity.
    • Create Enterprise Rule Set, basically collection of rules that apply to Enterprise Manager elements, for example, targets and job.
    • Create Metric Extension. Metric Extensions allows extending monitoring for a target type by adding new metrics.
    • Create new Named Credential that are required to perform Enterprise Manager Administrative Operations.
    • Create Any Software Library Entity, Import Any Software Library Entity, Export Any Software Library Entity, and so on.
    • Create Template Collection.

    Note:

    For information about EM_PROVISIONING_DESIGNER see, Table 3-3.

  • EM_ALL_OPERATOR (Operator): This role has restricted access, and allows you to perform only the run-time activities. For example, Launching a Deployment Procedure.

    The following table lists all the roles predefined for Operators, and their corresponding descriptions:

    Table 15-2 Predefined Roles for Operators

    Roles Description

    EM_ALL_VIEWER

    Role Desc

    EM_HOST_DISCOVERY_OPERATOR

    Role has privileges to execute host discovery

    EM_PROVISIONING_OPERATOR

    Role has privileges for provisioning operator

    EM_TARGET_DISCOVERY_OPERATOR

    Role has privileges to execute target discovery

    EM_USER

    Role Desc

    Users can be granted any of the following Target Privileges:

    • Connect and manage any of the viewable target.
    • Add any target in Enterprise Manager.
    • Perform administrative operations on all managed targets.
    • Run any Operating System Command at any Management Agent

    Users can be granted any of the following Resource Privileges:

    • Application Replay Operator. Application Replay Entities include captures, replay tasks, and replays.
    • Manage custom configurations owned by the user.
    • Create new Named Credential that are required to perform Enterprise Manager Administrative Operations.

    Note:

    For information about EM_PROVISIONING_OPERATOR see, Table 3-3.

Granting Roles and Privileges to Administrators on Software Library

Software Library is a centralized media storage for all Enterprise Manager entities. Super Administrator is responsible for configuring the Software Library, once the Enterprise Manager installation is complete. After the Software Library is configured with Storage Locations, it becomes usable to store entities. Designers and Operators are the main users of Software Library who perform the design-time and run-time activities respectively. The design-time activities include Customizing entities, Creating entities, Importing entities, Exporting entities, and so on. The run-time activities performed by Operators include running deployment procedures which in turn use any the entities stored in the Software Library.

For more information about Software Library users, roles, and their associates privileges, see Setting Up the Software Library in Oracle Enterprise Manager Cloud Control Administrator's Guide

Note:

To run the procedure on a Windows host which involves executing some Software Library entities (for example, directive scripts), you (the Windows user) must be granted the following privileges:

  • Act as part of the operating system

  • Adjust memory quotas for a process

  • Logon as batch job

  • Replace a process level token

If not, the execution of the directive steps in the procedure may fail.

Components of a Procedure

This section describes the following:

Target List

Target List is a pre-populated list of targets on which you can run your job. Phases operate on a set of Enterprise Manager targets, collectively known as a target list. Each phase must be associated with a target list. When the Deployment Procedure is selected for execution, the Deployment Procedure Manager will prompt the user to assign targets to the target list.

Starting with Enterprise Manager 12c (12.1.0.2), Custom Target Lists have been introduced. In addition to the default target list, you can now have your own customized lists of targets on which designated Phases can run. The advantage of this approach is that you can have multiple custom target lists, and assign it to the different phases in your procedure. This allows you to choose the Target List on which you want the Phase to iterate.

The following examples describes the various scenarios which employs one, two, or more target lists in a procedure:

  • For copying a jar file to multiple hosts, you will need just one target list. You may choose to use the default target list for this purpose.

  • For cloning an Oracle Home, and provisioning it on multiple targets, you will need a minimum of two target lists: one target list for the source which contains only a single target, and a second target list which contains all the destination targets.

  • For provisioning or patching a WebLogic Server, you might require three separate target lists one for the Administration Server, one for the Managed Servers, and one for the Database.

Procedure Variables

Procedure Variables are user-defined variables that can be used while customizing a procedure. Normally, when you add a custom step to a User-owned procedure or customize an Oracle-owned procedure, then you might need to declare procedure variables that you can later use in your custom step or phase.

To access the Procedure Variable tab, from the Enterprise menu, select Provisioning and Patching and then select Procedure Library. From the menu, select Create New, then click Go. The following page is displayed:


Procedure Variables

To declare the Procedure Variable, you must enter a unique name, a description for it. Optionally, you can select the password check box to make the variable secure.

You can create two types of Procedure Variables that can be later used while launching the deployment procedure. They are as follows:

  • String: This variable once declared at design-time, can be used by operator to specify the values at run time. For example, DBVER (the version of the database).

      • Text, allows you to enter one value for the variable. For example, staging location, host name, profile name, and so on.

      • Password, allows you to provide a password variable. For example, host password, WLS password, and so on.

      • List of Values, allow you to enter many values for a variable. To provide multiple values for a variable, click Add, then enter the details like Value, Display Name, and a Description for the variable. For example, let's declare a variable called country with multiple values as follows

        Value Display Text

        IDC

        India

        US

        America

        IE

        Ireland

  • Software Library Entity: This variable allows you the flexibility of binding the variable to Software Library Directive or Component at the time of launching the procedure. Earlier these values had to be specified at design-time while creating the procedure, now with the introduction of Software Library entity variable you can specify the values dynamically at the time of launching the procedure.

Note:

You cannot add Procedure Variables to a Deployment Procedure that is owned by Oracle.

Phases and Steps

Deployment Procedures comprise various phases and steps that run serially or in parallel to perform a particular provisioning or patching operation. This section contains:

Types of Phases

A phase contains steps or more phases. The different types of phases are:

  • Rolling Phase

    Rolling phase is a phase where steps are run serially across targets.

  • Parallel Phase

    Parallel phase is a phase where steps are run in parallel across targets.

Types of Procedure Steps

A step is an abstraction of a unit of work. For example, starting the database is a step. It is either part of a phase or independent. The different types of steps are:

  • Manual Step

    Manual Step is that task that requires user interaction and cannot be automated. Typically, Deployment Manager would display the instructions that need to be performed by the user. After the operation is performed, the user proceeds to the next step.

    Examples of a Manual Step:

    • Log on to a system and update the kernel parameter.

    • Reboot a system.

    • Provide special privileges to the user. For example, SSH Setup.

  • Computational Step

    Computational Step is that task whose operations are performed within the Deployment Engine and does not require any user intervention. This step gathers additional information for executing a procedure. This step cannot be inserted by a user, and only Oracle Corporation can insert this step.

    Examples of Computational Step:

    • Executing SQL query against an Enterprise Manager schema to gather more data for other steps to run.

    • Retrieving target properties from the repository and updating the runtime information.

  • File Transfer Step

    File Transfer Step is a step used for copying files and/or directories from one host to one or more hosts. You can archive files and directories transferred from a source host to the destination hosts. When this step is inserted within a phase, you can set the Source and Destination Targets using existing variables.

    For example, to copy a directory from a host X to the hosts associated with the phase, then for Source Target select “Set Value" and assign host X, and for Destination Target select “Choose Variable" and assign it to the option “TargetVariable:Current Target".

  • Action Step

    Action step is a task that performs some operations run on one or more targets. They must be enclosed within a phase. The Deployment Procedure maps the Action Step and target pair to a job in the Enterprise Manager Job System. The Deployment Procedure can schedule, submit, and run a job per Action Step per target. For example, running a script, applying a patch, upgrading an Oracle home, and so on.

    Also note that an Action Step is said to have completed successfully only when all its associated jobs have completed successfully. If a job fails, then the Action Step also fails. You may then manually restart the job in question or ignore and instruct the Deployment Procedure to proceed.

    The different types of Action Steps include:

    • Job

      Job Step is a special type of Action Step that executes a predefined job type on a target. This is used if you want to execute a job type as a part of a Deployment Procedure. You need to pass job parameters for a step.

      Examples of Job Step:

      • Cloning an existing Oracle home.

      • Staging a patch.

      • Starting a database.

    • Library: Directive

      Directive Step is a special type of Action Step to deploy a directive alone. This is useful when users want to store their custom scripts in the Software Library and reuse them in a Deployment Procedure.

      For more information about Directives, see Oracle Enterprise Manager Cloud Control Administrator's Guide.

      Examples of Directive Step:

      • Executing root scripts.

      • Applying catpatch.sql and restarting the database.

      • Confirming if the prerequisites have been met.

    • Library: Component

      A Component Step is a special type of Action Step to deploy a Software Library Component and the associated Directive. Deployment Procedure Manager executes the directive with respect to the component. Components used for Generic Component Step generally has one directive associated with it. This association is done by selecting both the component and directive while creating the step. All directives that you associate with the component while uploading to the software library will be ignored while executing the step.

      For more information about Components, see Oracle Enterprise Manager Cloud Control Administrator's Guide.

      Examples of Component Step:

      • Applying a patch.

      • Performing prerequisites before performing an installation.

      • Installing Oracle software on target machines.

    • Host Command

      Host Command Step is a special type of Action Step that encapsulates simple host commands. This step allows the user to enter a command line or a script (multiple commands) to be executed on the target host.

      Examples of Host Command Step:

      • Starting a Management Agent (emctl start agent).

      • Shutting down OPMN (opmnctl stopall).

      • Restarting OID.

Performing Tasks on Procedure Steps

In the Procedure Steps tab, you can perform the following operations on the selected step or phase:

  • Enable/Disable:  If you do not want to have some phases or steps in a Deployment Procedure, you can always disable them instead of deleting them. This is a preferred option because phases or steps once deleted cannot be retrieved, but phases or steps disabled can always be enabled later. To do so, follow these steps:
    1. To disable a phase or step, select the phase or step you want to disable, and click Disable.
    2. To enable a phase or step, select the phase or step you want to enable, and click Enable.
  • Delete: Select the step or phase you want to delete, and click Delete.

    Note:

    Oracle recommends that you disable the steps or phases instead of deleting them because steps or phases once deleted cannot be retrieved, but steps or phases disabled can always be enabled later.

  • Insert: To add a new Step or Phase, click Insert. In the Create wizard, do one of the following:

  • Edit Step: To edit a Step or Phase, click Edit Step. Depending upon your selction either the Edit Phase or Edit Step wizard is displayed. Accordingly, follow the steps available in:

    • Edit a Phase
    • Edit a Step

Creating a Procedure

To create a custom procedure, follow these steps:

  1. From the Enterprise menu, select Provisioning and Patching, then select Procedure Library.
  2. In the Procedure Library, from the list of actions, select Create New and click Go.
  3. On the Create New Procedure page, in the General Information tab, provide a Name and description for the procedure, Procedure Utilities Staging Path, and Environmental Variables.
  4. On the Create New Procedure page, click Target List tab. You can create your own custom target lists on which designated Phases can run. See Target List.

    The advantage of this approach is that you can have multiple custom target lists, and assign it to the different phases in your procedure.

  5. On the Create New Procedure page, click Procedure Variable tab. You can create your own procedure variables. See Procedure Variables.
  6. On the Create New Procedure page, click Procedure Steps tab. This tab allows you to add phases and steps to your procedure. For more information about adding a phase or a step, see sections Adding Rolling or Parallel Phase and Adding Steps.

Adding Rolling or Parallel Phase

Ensure that you have created a Target List before creating a phase.

To insert a phase, follow these steps:

  1. From the Enterprise menu, select Provisioning and Patching and then select Procedure Library.

  2. On the Provisioning page, in the Procedure Library tab, from the menu, select Create New, then click Go.

  3. On the Create New Procedure page, select Procedure Steps tab.

  4. Select the Default Phase, and click Insert to add a phase.

    Note:

    When creating a phase inside another phase, for the insert location, select After "Default Phase" or Before "Default Phase". Inside "Default Phase", you will not be able to select any target in the next page.

  5. In the Create wizard, do the following:

    1. On the Create page, specify general information about the phase as described in the following table:

      Table 15-3 Field Description - Adding Rolling Phase

      Field Name Description

      Select

      Select Phase.

      Name

      Specify a name for the custom phase.

      Description

      Provide a description for the custom phase.

      Condition

      Leave this field blank.

      Insert Location

      If you want to insert the custom phase after the phase or step you selected, then select After <phase or step name>. To insert it inside the phase or step selected, select Inside<phase or step>, Otherwise, select Before <phase or step>.

      Type

      If you are adding a rolling phase, then select Rolling. If you are adding a parallel phase, then select Parallel.

      Error Handling

      Select the error handling mode you want to set for the custom phase. Every step in a Deployment Procedure is preconfigured with an error handling mode that indicates how the Deployment Procedure will behave when the phase or step encounters an error. The error handling modes offered by Cloud Control are:

      - Inherit - Inherits the error handling mode that was set for the enclosing phase. (When set for a step that is outside a phase, it inherits the error handling mode from the Deployment Procedure).

      - Stop On Error - Stops when an error is encountered. Deployment Procedure does not proceed to the next step until you correct the errors or override them.

      - Continue On Error - Continues even when an error is encountered.

      - Skip Target - Ignores the failed target on the list and continues with other targets.

    2. On the Select Target List page, select a target list to indicate the type of targets on which the new phase should run.

      All the target lists declared while creating the procedure is listed in the drop down menu, select the target list to use for this phase. The actual targets can be chosen when the procedure is being launched.

    3. On the Review page, review the information you have provided for creating a new phase, and click Finish.

Adding Steps

This section explains how you can add different types of steps to a Deployment Procedure. In particular, it covers the following:

Adding a Job Step

In the Create wizard, do the following:

  1. On the Create page, specify general information about the step as described in Table 15-4.

  2. On the Select Type page, select a job type that best describes the task that you want the step to perform. For example, if you want to job to transfer files across the network, then select File Transfer.

  3. On the Map Properties page, specify values for the parameters that are required by the selected job type. Additionally, you can set the target List to be applied for this step.

  4. On the Review page, review the information you have provided for creating a new step, and click Finish.

Adding a Directive Step

To add a directive step to a Deployment Procedure, follow these steps:

In the Create wizard, do the following:

  1. On the Create page, specify general information about the step as described in Table 15-4.

  2. On the Select Directive page, if you have selected a Software Library variable in the Procedure Library tab, then you can select one of the following options. If not, you can directly select a directive from the table, and click Next.

    - Select New Directive: This option lists all the directives available in Software Library, select a directive from the list that you want to run on the targets. Provide necessary values in the Select Directive section to narrow down the search results.

    - Select New Software Library Entity Variable: Select the Software Library variable that you declared while creating the procedure from the Software Library Entity Variable drop down menu. This variable behaves as a place holder and enables you the flexibility of binding it with the directives dynamically while launching the procedure. Essentially, you can use this variable to select certain entities which do not need any parameters.

    For example, user-defined scripts like a Perl to print the current directory location that does not need any parameters to be passed.

    - Select New Software Library Entity Variable with Directive Properties: This option allows you to bind a Software Library entity variable with directives that are available in Software Library. Ensure that you choose a directive whose properties (signature) matches with the entity declared.

    Select Always Use Latest Revision so that only the latest revision of the selected directive will be used at all times.

  3. On the Map Properties page, provide the following details:

    • By default the Run Directive, and Perform Cleanup options are enabled to run the script, and remove the files after the steps has run.

    • In the Directive Properties section, specify values for the properties associated with the selected directive. You have the option of providing or not providing the property values at this stage. If you do not provide the property values now, then they are prompted at the time of launching the procedure.

    • In the Credentials section, set the target List to be applied for this step.

    • In the Time limit properties section, you can set a max time allowed for an operation to complete in seconds. For example, let's assume that you have a huge procedure with numerous steps and you do not want to block the whole execution if one step fails (because agent is down). In such a scenario, setting a time limit on a step is very effective. If you set a time limit of 75 seconds on a step, then if the job exceeds this set time, the step is skipped.

  4. On the Review page, review the information you have provided for creating a new step, and click Finish.

Adding a Component Step

To add a generic component step to a Deployment Procedure, follow these steps:

In the Create wizard, do the following:

  1. On the Create page, specify general information about the step as described in Table 15-4.

  2. On the Select Component page, select a component name from the table, and click Next. However, if you have set a Software Library variable in the Procedure Library tab, then you must select one of these following options:

    - Select New Component: This option lists all the components available in Software Library, select a component from the list that you want to run on the targets. Provide necessary values in the Select Component section to narrow down the search results.

    - Select New Software Library Entity Variable: Select the Software Library variable that you declared while creating the procedure from the Software Library Entity Variable drop down menu. This variable behaves as a place holder and enables you the flexibility of binding it with the components dynamically while launching the procedure. Essentially, you can use this variable to select certain entities which do not need any parameters.

    For example, user-defined scripts like a Perl to print the current directory location that does not need any parameters to be passed.

    - Select New Software Library Entity Variable with Component Properties: This option allows you to bind the Software Library variable with the components that are available in Software Library. Ensure that you choose a component whose properties (signature) matches with the entity declared.

    If you check Always Use Latest Revision, then only the latest revision of the selected component will be used at all times.

  3. On the Select Directive page, you can select a directive from the table, and click Next. However, if you have set a Software Library variable in the Procedure Library tab, then you must select one of these following options:

    - Select New Directive: This option lists all the directives available in Software Library, select a directive from the list that you want to run on the targets. Provide necessary values in the Select Directive section to narrow down the search results.

    - Select New Software Library Entity Variable: Select the Software Library variable that you declared while creating the procedure from the Software Library Entity Variable drop down menu. This variable behaves as a place holder and enables you the flexibility of binding it with the directives dynamically while launching the procedure. Essentially, you can use this variable to select certain entities which do not need any parameters.

    For example, user-defined scripts like a Perl to print the current directory location that does not need any parameters to be passed.

    - Select New Software Library Entity Variable with Directive Properties: This option allows you to bind a Software Library entity variable with directives that are available in Software Library. Ensure that you choose a directive whose properties (signature) matches with the entity declared.

    Select Always Use Latest Revision so that only the latest revision of the selected directive will be used at all times.

  4. On the Map Properties page, provide the following details:

    • By default the Run Directive, and Perform Cleanup options are enabled to run the script, and remove the files after the steps has run.

    • In the Directive Properties section, specify values for the properties associated with the selected directive. You have the option of providing or not providing the property values at this stage. If you do not provide the property values now, then they are prompted at the time of launching the procedure.

    • In the Credentials section, set the target List to be applied for this step.

    • In the Time limit properties section, you can set a max time allowed for an operation to complete in seconds. For example, let's assume that you have a huge procedure with numerous steps and you do not want to block the whole execution if one step fails (because agent is down). In such a scenario, setting a time limit on a step is very effective. If you set a time limit of 75 seconds on a step, then if the job exceeds this set time, the step is skipped.

  5. On the Review page, review the information you have provided for creating a new step, and click Finish.

Adding a File Transfer Step

In the Create wizard, do the following:

  1. On the Create page, specify general information about the step as described in Table 15-4.

  2. On the Map Properties page, select the Source Target from which you want to transfer files, the source target path, the Target Destination for file transfer and the destination path. Specify the Source and Destination Credential Usage, whether Host or Privileged Host credentials. Click Next.

    If you select Transfer all the files in this path option, then all the files in the source path are transferred. If uncheck this option, then the Source File Name field becomes mandatory.

  3. On the Review page, review the information you have provided for creating a new step, and click Finish.

Adding a Host Command Step

In the Create wizard, do the following:

  1. On the Create page, specify general information about the step as described in Table 15-4.

  2. On the Enter Command page, specify the command or script, which you want to run on the target, and the privilege to run it.

    To run the host command as a script, select Script from the Command Type menu. Specify the shell that can interpret the script. The script is passed as standard input to the specified interpreter.

    To run the host command as a command line, select Single Operation from the Command Type menu. Specify the text you want to execute used as a command line. No assumptions are made about the shell to interpret this command line. The first entry in the command line is assumed to be the process to spawn and the rest of the command line as passed as arguments to this process. Therefore, a command line of ls -a /tmp spawns a process of "ls" (from the current path; also depends on the Oracle Management Agent) and passes "-a" as the first argument and then "/tmp" as the second argument to this process.

    Note: The command line mode assumes that the first part of the command line is the process to be spawned. Therefore, shell internals and the commands that rely on the PATH environment variable for resolution are not recognized. If any such commands need to be used, then you need to prepend the shell that interprets the command line.

    For example, the command cd /tmp && rm -rf x expands to "cd" as a process and then "/tmp, &&, rm, -rf, x" as arguments. To fix this, change the command line to /bin/csh -c "cd /tmp && rm -rf x".

    Another example, the command export PATH=/opt:${PATH}; myopt -install expands to "export" as a process and then "PATH=/opt:${PATH};, myopt, -install" as arguments. To fix this, use /bin/sh -c "export PATH=/opt:${PATH}; myopt -install".

  3. In the Time limit properties section, you can set a max time allowed for a script to run in seconds. For example: Let's assume that you have set this value to 75 seconds, then when the script runs if it exceeds the set time, then this step is skipped.

  4. On the Review page, review the information you have provided for creating a new step, and click Finish.

Adding a Manual Step

In the Create wizard, do the following:

  1. On the Create page, specify general information about the step as described in Table 15-4.

  2. On the Enter Instructions page, provide a message to inform the operator about a manual step. For example, if want to instruct the operator to log in to a system and update the kernel parameter, then specify the following:

    You have been logged out of the system. Log in and update the Kernel parameters. 
    
  3. On the Review page, review the information you have provided for creating a new step, and click Finish.

Table 15-4 Field Description - Adding Steps

Field Name Description

Select

Select Step.

Name

Specify a name for the custom step.

Description

Provide a description for the custom step.

Condition

Leave this field blank.

Insert Location

If you want to insert the custom step after the step you selected, then select After <step name>. Otherwise, select Before <step>.

Type

  • For a job step, select Job.

  • For a directive step, select Library: Directive.

  • For a generic component, select Library: Component.

  • For a file transfer step, select File Transfer

  • For a manual step, select Manual.

  • For a host command step, select Host Command.

Error Handling

Select the error handling mode you want to set for the custom phase. Every step in a Deployment Procedure is preconfigured with an error handling mode that indicates how the Deployment Procedure will behave when the phase or step encounters an error. The error handling modes offered by Cloud Control are:

- Inherit - Inherits the error handling mode that was set for the enclosing phase. (When set for a step that is outside a phase, it inherits the error handling mode from the Deployment Procedure).

- Stop On Error - Stops when an error is encountered. Deployment Procedure does not proceed to the next step until you correct the errors or override them.

- Continue On Error - Continues even when an error is encountered.

- Skip Target - Ignores the failed target on the list and continues with other targets.

Managing Deployment Procedures

This section contains the following:

Viewing, Editing, Deleting a Procedure

To view, edit, or delete an existing procedure, follow these steps:

  1. In Cloud Control, from the Enterprise menu, select Provisioning and Patching, then select Procedure Library.
  2. On the Provisioning page, do the following:
    • For Viewing the procedure, select the deployment procedure, and from the actions menu, click View Procedure Definition.

    • For Editing the procedure, select a user-defined procedure, and from the actions menu, select Edit Procedure Definition and click Go. If you want to customize an Oracle-provided procedure, from the actions menu, select Create Like and click Go. Save the procedure, and then customize it.

    • For Deleting the procedure, select the deployment procedure, and from the actions menu, click Delete.

Editing and Saving Permissions of a Procedure

A designer with Super Administrator privileges has the access to edit the permissions of a Deployment Procedure, and save it.

To edit the permissions on a Deployment, follow these steps:

  1. In Cloud Control, from the Enterprise menu, select Provisioning and Patching, then select Procedure Library.
  2. On the Provisioning page, from the actions menu, select Edit Permissions, and then click Go.
  3. On the Edit Permissions: <target name> page, click Add. From the Search and Select Administrator or Role dialog box, select the administrators or roles to which you want to grant the permissions, and click Select.
  4. On the Edit Permissions: <target name> page, select the Role and the privileges that you want to grant to each of these roles. A full privilege will let the Operator edit the Deployment Procedure, and a Launch privilege will only allow an Operator to view and run the Deployment Procedure. Click OK to save these grants.

    Edit Permissions

Tracking the Procedure Execution and Status of Deployment Procedures

After you have submitted a Deployment Procedure, you can track its status from the Procedure Completion Status page. To access this page, follow these steps:

  1. In Cloud Control, from the Enterprise menu, select Provisioning and Patching, then select Procedure Library.
  2. On the Provisioning page, click the Procedure Activity tab.
  3. On the Procedure Activity page, click the procedure to view the status of all deployment procedures in various stages of their lifecycle.

    Table 15-5 Deployment Procedure Status

    Status Description

    Scheduled

    The Deployment Procedure is scheduled to be executed at the date and time that you have specified.

    Running

    The Deployment Procedure is currently being executed.

    Action Required

    The Deployment Procedure has stopped running as user interaction is required.

    Suspended

    The Deployment Procedure has been temporarily stopped from execution. You can resume from the paused step later.

    Failed

    The Deployment Procedure has failed and cannot execute the remaining steps. However, you always have the option of retrying the failed steps. Alternatively, you can ignore the error, and proceed further.

    Succeeded

    The Deployment Procedure has successfully completed its execution.

    Skipped

    The Deployment procedure has skipped the execution of this step. Primarily, a step is skipped when the condition attached to the step evaluates to false.

    Stopped

    The Deployment Procedure has been permanently stopped from execution by the user.

    Saved

    The Deployment Procedure has not been submitted for execution, and has been saved.

    Completed with Errors

    The Deployment Procedure completed, but completed with errors possibly because some of the steps within it might have failed and the steps might have the Skip target/Continue on Error flag enabled.

    You can also perform the following actions:

    1. Search for a particular Deployment Procedure using the Search section. Click Search to refine your search criteria. You can filter by Search Text Fields, Type, and Status.

      Starting with Oracle Enterprise Manager 13.5 Release Update 17 (13.5.017) additional search filters Owner, Start Date From, and Start Date To, have been added.

    2. View the status of all Deployment Procedures. You can also manually refresh the page and view the updated status by clicking Refresh.
    3. View real-time status information based on a particular refresh period such as 30 seconds, 1 minute, or 5 minutes.
    4. Stop or suspend any Deployment Procedure by selecting them and clicking Stop or Suspend, respectively. You can resume at any point by clicking Resume or Retry.
    5. Delete any Deployment Procedure by selecting them and clicking Delete.

Rescheduling a Procedure

Use this page to reschedule a procedure. You can reschedule a procedure only when the status of the procedure is Scheduled. In all the other cases, this button will appear grayed out. To reschedule a procedure, follow these steps:

  1. From the Enterprise menu, select Provisioning and Patching, then select Procedure Activity tab.
  2. On the Procedure activity page, select the scheduled procedure from the table, and click Reschedule.
  3. On the Reschedule procedure page, select the date and time when you want to run the procedure.
  4. From the Repeat menu, select an option from the menu to run the job at the selected frequency.
  5. After you set all the desired parameters, click Reschedule.

Reverting a Procedure

Use this page to revert to a previous version of a procedure. To revert to another version of the procedure, follow these steps:

  1. From the Enterprise menu, select Provisioning and Patching, then select Procedure Library.
  2. On the Procedure Library, from the menu, select Revert. Note that the revert option is enabled only if the procedure was edited by user.
  3. Click Go.

For example, if you have version 1.5 as the latest and you revert to version 1.3, a new version 1.6 is created, which will be the same as version 1.3.

Setting Step Level Grace Period

You can now set an OMS-wide step level grace period using the Enterprise Manager command line (emctl) utility. For a procedure submission, if an agent is not reachable for a time of period longer than grace period, the step will be marked as failed.

To set the step level grace period, run the following command:

emctl set property -sysman_pwd sysman -name
oracle.sysman.core.procedure.steplevel_graceperiod -value <value of the grace period>


For example, to set a grace period of 12 mins for a step, run the following command:

emctl set property -sysman_pwd sysman -name 
oracle.sysman.core.procedure.steplevel_graceperiod -value 12

Submit any procedure using the Cloud Control UI, if the agent machine is not reachable for a time period longer than 12 minutes, then the step is marked as failed.

Note:

Things to keep in mind:

  • The grace period is counted in minutes.

  • The minimum default value of grace period is 10 mins.

  • The grace period is only applicable to the steps in a procedure. The procedure level grace period is assigned when submitting the procedures using Cloud Control or EMCLI.

Creating, Saving, and Launching User Defined Deployment Procedure (UDDP)

Creating a procedure from scratch by inserting the required phases, steps, variables, and so on is possible with User Defined Deployment Procedure. This functionality has been introduced in Enterprise Manager 12c to allow users to completely customize a procedure to suit their requirements.

Note:

For a video tutorial on creating and using the User Defined Deployment Procedure, see:

Oracle Enterprise Manager 12c: Implement User-Defined Deployment Procedures

Broadly, the process can be divided into two subcategories as follows:

Note:

For a workflow example on User Defined Deployment Procedure with illustrations on how to provision JRE6 on a Linux host abc.example.com, see Provisioning User Defined Deployment Procedure.
Step 1: Creating User Defined Deployment Procedure

Log in to Enterprise Manager Cloud Control with designer privileges to create a UDDP template. To do so, follows these steps:

  1. In Cloud Control, from the Enterprise menu, select Provisioning and Patching, select Procedure Library.
  2. On the Provisioning page, from the list of actions, select Create New, and click Go.
  3. On the Create New Procedure page, in the General Information tab, provide a unique name and description for your procedure.
  4. In the Target Lists tab, you can use the default host_target_list variable or add any number of new custom target lists. Adding new custom target lists enables you to group the targets which in turn allows phases to use separate target lists (targets) that they can iterate on.
  5. In the Procedure Variables tab, click Add Row to define procedure variables. In addition to String type, you can add Software Library Entity variable. For more information about this, refer to Procedure Variables.

    Specify the Variable Name, Display Name, Description, and Type from the drop down menu. Also define whether the variable is a password and a mandatory field.

  6. In the Procedure Steps tab, select the default phase, and do the following:
    1. Select Default Phase, and click Insert. For information on inserting a phase, see Adding Rolling or Parallel Phase.

      Note:

      Without declaring a Target List, you can not proceed with the creation of a phase.
    2. Select the phase you created, and then click Insert to insert steps. For information on inserting steps, see Adding Steps.
  7. Repeat Step 6 to insert steps and phases according to the procedure you want to create.
  8. Click Save and Close to save the procedure. You can run the configuration for future deployments.
Step 2: Saving and Launching User Defined Deployment Procedure with Default Inputs

Log in to Enterprise Manager Cloud Control with Operator privileges to launch the saved UDDP with default values. To do so, follows these steps:

  1. In Cloud Control, from the Enterprise menu, select Provisioning and Patching, select Procedure Library.
  2. On the Provisioning page, select the saved UDDP, and click Launch.
  3. On the Select Targets page, select the target list from the drop down menu, and click Add to populate the target list. Click Next.
  4. If you declared variables that you did not define during the procedure creation, then you will have to provide the details in the Set variable page. All the unbound variables are displayed, enter appropriate values for the same.

    If you have declared a Software Library Entity variable, then you could search and select the desired entity from Software Library. Once the value is populated, you may even choose to lock this value so that any other Operator who does not have privileges on your procedure will not be able to update this values. For more information on different types of variables, see Procedure Variables. Click Next.

  5. On the Set Credentials page, you need to set the credentials for the target host machines that you have included as a part of the host_target_list variable. Click Next.
  6. On the Set Schedule and Notification page, you can schedule the job to run immediately or at a later preferred time.
  7. Click Save, and provide a configuration name to save the job template with default values.

Some of the procedures allow you to not just save the procedure with default values, but also lock them. For example, the following Database Provisioning procedure describes how to save and launch a procedure with lock downs.

Saving and Launching the Deployment Procedure with Lock Down

Lock Down is a new feature introduced in Oracle Enterprise Manager Cloud Control 12c that enables administrators with Designer privileges to standardize the Deployment Procedures across the enterprise. If Designers with Super Administrator privileges create Deployment Procedure templates with lock downs, and save them, then these templates can be used by Operators who can launch the saved Deployment Procedures, make changes to the editable fields, and then run them.

To create a Deployment Procedure with lock downs, an administrator logs in with designer privileges, and launches a Deployment Procedure. In the interview wizard of the Deployment Procedure, the designer enters the values for certain fields and locks them so that they cannot be edited when accessed by other users. For example, in the following graphic, fields such as Database Version, Database type are locked by the designer, and when an operator launches the same deployment procedure, these fields will be grayed out, and cannot be edited:


Saving and Launching Deployment Procedure (Lockdown)

In the following use case, user logs in with designer privileges to provision a Single Instance Database on a Linux host. Designer updates most of the values prompted in the wizard and locks them as he/she does not want other users such as Operators to have edit privileges on them. Some of the fields such as adding targets, and some additional configuration details are not locked. The Deployment Procedure is then saved with a unique procedure name, but not submitted. A user with Operator privileges logs in and runs the saved procedure after updating all the editable fields, such as adding targets, additional configuration details.

Broadly, it is a two-step process as follows:

Step 1: Saving a Single Instance Database Deployment Procedure with Lock Downs

In the following section user logs in to Cloud Control as a designer (ATBARBOZ1), and provisions a Single Instance Database with lock downs as follows:

  1. From the Enterprise menu, select Provisioning and Patching, then select Database Provisioning.

  2. On the Database Provisioning page, select Provision Oracle Database, and click Launch.

  3. In the Select Hosts page, in the Select hosts section, click Add to select the destination host where you want to deploy and configure the software.

    If you want to use a provisioning profile for the deployment, choose Select a Provisioning Profile and then select the profile with previously saved configuration parameters.

    In the Select Tasks to Perform section, do the following and lock the values:

    • Select Deploy Database software to provision single instance databases.

    • Select Create a New Database to create a new database and configure it after installing the standalone Oracle Database.


    Select Provisioning Profile

  4. On the Configure page, the following configuration options appear:

    • On the Configure page, click Setup Hosts. On the Operating System Users page, specify the operating system user for the Oracle Home for the database. For Oracle Home User for the database, select the Normal User and Privileged User to be added to the OS group, and lock the values. Click Next to proceed. On the Specify Operating System groups page, specify the OS Groups to use for operating system authentication and lock the values, as appears in the following graphic.


      Specify OS Users and Groups

      Click Next to come back to the Configure page.

    • On the Configure page, click Deploy Software. On the Select Software Locations page, specify the source and destination locations for the software binaries of Oracle Database. Update the values for all the fields, and click the Lock icon so that the fields can not be edited by a user with Operator privileges, as appears in the following graphic:


      Select Software Locations

      Click Next to come back to the Configure page.

    • On the Configure page, click Create Databases, the following screen appears. Update only the mandatory fields, and click Next to proceed. Do no lock any of the values in this wizard:


      Create Database Template

    • On the Configure page, click Compliance Standards. On the Configuration Standards Target Association page, select a Compliance Standard to be associated with the database. Click Next. Do not lock the values.


      Target Association

  5. On the Schedule page, specify a Deployment Instance name. In the Schedule section, select Immediately. You can set the notification preferences according to deployment procedure status, and click Next.


    Schedule

  6. In the Review page, review the details you have provided for the deployment procedure. Click Save to save the deployment procedure with a unique name prov_db_template, and then click Cancel. The Procedure library page appears with the saved procedure.


    Procedure Library

Step 2: Launching the Saved Single Instance Database Deployment Procedure

In the following section user logs in as a Operator (SSIRAJUD1), and runs the saved Deployment Procedure prov_db_template to provision a Single Instance Database.

  1. In Cloud Control, from the Enterprise menu, select Provisioning and Patching, then select Procedure Library.
  2. In the Procedure Library, select a procedure prov_db_template, and click Launch.

    Launch

  3. On the Select Hosts page, in the Select hosts section, click Add to select the destination host where you want to deploy and configure the software, and then click Next.

    Provision Database

  4. On the Configure page, the following configuration options appear:
    • On the Configure page, click Setup Hosts. Since the values here are locked by the designer, you will not be able to edit them. Click Next to come back to the Configure page.


      Provision OS Users and Groups

    • On the Configure page, click Deploy Software. Since the values here are locked by the designer, you will not be able to edit them. Click Next to come back to the Configure page.


      Select Software Locations

    • On the Configure page, click Create Databases. The following screen appears. Update all the fields, and click Next to proceed.

      For information about updating the Creating Database wizard, see Provisioning and Creating Oracle Databases.


      Database Template

    • On the Configure page, click Compliance Standards. On the Configuration Standards Target Association page, select a Compliance Standard to be associated with the database. Click Next.


      Target Association

  5. On the Schedule page, specify a Deployment Instance name. In the Schedule section, select Immediately. You can set the notification preferences according to deployment procedure status, and click Next.
  6. In the Review page, review the details you have provided for the deployment procedure and if you are satisfied with the details, then click Finish to run the deployment procedure according to the schedule set.
Step 3: Launching and Running the Saved User Defined Deployment Procedure

Log in to Enterprise Manager Cloud Control with Operator privileges to run the saved UDDP. To do so, follows these steps:

  1. In Cloud Control, from the Enterprise menu, select Provisioning and Patching, select Procedure Library.
  2. On the Provisioning page, select the saved UDDP configuration template that you saved as a part of the previous step, and click Launch.

    Note:

    While creating the UDDP template, if you have locked any of the values, then they will appear greyed out since they are read-only values that cannot be edited now.

  3. On the Select Targets page, select the target list from the drop down menu, and click Add to populate the target list. Click Next.
  4. If you declared variables that you did not define during the procedure creation, then you will have to provide the details in the Set variable page.

    If you have declared a Software Library Entity variable, then you could search and select the desired entity from Software Library. Once the value is populated, you may even choose to lock this value so that any other Operator who does not have privileges on your procedure will not be able to update this values. For more information on different types of variables, see Procedure Variables. Click Next.

  5. On the Set Credentials page, you need to set the credentials for the target host machines that you have included as a part of the host_target_list variable. Click Next.
  6. On the Set Schedule and Notification page, you can schedule the job to run immediately or at a later preferred time.
  7. Click Submit, and provide a unique Submission Name for your job.
Step 4: Tracking the Submitted User Defined Deployment Procedure

Follow these steps:

  1. In Cloud Control, from the Enterprise menu, select Provisioning and Patching, select Procedure Activity.
  2. On the Procedure Activity page, click the job that you submitted.
  3. The new Instance Execution page for the job is displayed which will give you information about the success or failure of your job for on all the targets.

    For more information about the new Instance Execution page, see Overview of the Provisioning Page.

Procedure Instance Execution Page

The following tasks can be performed from the Procedure Instance Execution page:

Note:

For a video tutorial on the Procedure Execution Tracking page, see:

Oracle Enterprise Manager 12c: View Deployment Procedure Execution Details

Comparison Between the Existing Design and the New Design for Procedure Instance Execution Page

The current Procedure Activity page provides the status of all the steps executed in a deployment procedure. This page also gives you information of the failed step and the necessary action to be taken to rectify it.

Before you understand the new Procedure Activity page, take a moment to review the challenges you might be facing while using the current Procedure Activity Page:

Table 15-6 Comparison Between the Existing Procedure Activity Page and the New Procedure Activity Page.

Category Existing Procedure Activity Page New Procedure Activity Page

Screen Design

The screen design allows you to access one step at a time.

Optimal screen design which allows you to access all the steps and targets from the same page without having to drill down

Multiple Selects

Multiple selects are not supported.

Multiple selects are possible from a single page. For example, if you want to select only the failed steps you can do so using the new design.

Target-Centric Design

Step-centric approach restricts your access to all the targets from a single screen. Which means that in the earlier approach you could drill down to only one failed step at a time, and would have to repeat the whole procedure for the other failed steps

Target-centric design with the introduction of filters have made it easy to analyze all failed steps from the same page and perform the required action on the step.

Step Output

The step-centric design requires traversing through a number of pages to drill down to the actual step.

Target-centric design now allows you to view all the step details from the same page. unlike the earlier step-centric.

Detailed Output

Detailed Output for a step was not available in the earlier design. You had to download the entire log.

Detailed Output is a new option available at step-level which captures the log information pertaining to that step selected, only making it easy to view and debug the step in case of a failure.

Incident Creation

Incident Creation was not available in the earlier design.

Incident Creation is a new feature that has been introduced at Procedure-Level which enables you to create an incident for the execution which can later be used to debug the procedure in case of a failure.

Cloud Control addresses the challenges of the existing Procedure Activity page with its much-improved target-centric procedure management solution that allows access to all the targets and steps from one single page with maximum ease and minimum time. The new Procedure Activity page offers the following benefits

Overview of the Procedure Instance Execution Page

The Procedure Activity page primarily helps you track the execution of the procedure instance submitted. Click any instance running to view the Procedure Instance Execution page which is broadly divided into the following regions as shown in Figure 15-2:

Note:

Starting with Enterprise Manager 12.1.0.3 (Patch Set 2), the following enhancements have been made to the Procedure Execution Page:

  • More filters have been introduced, and filtering of steps is now possible at the table level instead of a submenu in view menu. For details refer to point 6 in the Figure 15-2.

  • By default, the step details are now available in a tab layout. However, option is still available to switch to stack view. The benefit of using the tab layout are:

    a> All the log details are displayed on the screen itself.

    b> There is a provision to download the log files.

    c> You can click Job Summary link to get more information about the underlying job.

Figure 15-2 Procedure Execution Page


Procedure Execution Page

Note:

For information about the tasks that can be performed from the Procedure Instance Execution Page, see Procedure Instance Execution Page.

  1. Breadcrumb Trail

  2. View Data

  3. Procedure Actions Section

  4. Switch To Stack View

  5. Step Details Section

  6. Procedure Steps Section

Breadcrumb Trail

Enables you to go back to the Procedure Activity page with a single click.

View Data

Enables you to refresh the page after making some procedure-level or step-level updates. To do so, you must select the refresh options available in the View Data menu. To run the procedure refresh in the background, you can select any of the auto refresh options like: 30 seconds Refresh, 1 minute Refresh, or 5 minute Refresh and continue to work on other areas.

Procedure Actions Section

If the procedure has successfully completed with a status Succeeded, then the Procedure Actions menu items are greyed out, you can not perform any actions on a successful procedure. However, if the procedure was stopped or suspended for some reason, then corresponding menu items are enabled so that you can control the procedure execution.

At Procedure-level, you can perform the following actions:

Action Description

Debug

Debugs the errors in the procedure. This is a one time action, which means that the menu is disabled after using this option the first time.

Stop

Stops the procedure execution.

Suspend

Suspends the procedure execution.

Resume

Resumes the procedure from the stage it was stopped or suspended.

Retry

Executes all the failed steps and phases in the deployment procedure instance once again.

Incident

Creates an incident for the execution which enables you to debug / understand all the steps and phases executed as a part of the deployment procedure.

Switch To Stack View

Select Switch To Stack View option to change the view from the default Tab view to Stack view.

The advantages of using the tab view are as follows:

  • You can view the log file details on the same page.

  • You can access the Job details page to get more information about the underlying job.

  • You can download the log files to your local system.

Step Details Section

Enables you to view the details of the selected step. Essentially, information like Step Type, Start date, Completed Date, and Elapsed Time for the step is displayed. However, the template for each step type is not the same. For example, the manual step requires user intervention, which means you might need to confirm some details for the job to proceed. Closing the step window, deselects the step from the Procedure Steps section.

After a step has run, you can click Job Summary option to access the job details page to get more information about the underlying job.

Click Download option to download the log file for the corresponding step.

If a step has failed, then you can perform the following actions on the step using the Actions menu:

Action Description

Ignore

Ignore the failure of a step, and continue with the other steps in the deployment procedure.

Retry

Executes the step once again

Update and Retry

Enables you to edit the step, and then executes the step when submitted.

Procedure Steps Section

Enables you to view all the steps that are run when the procedure instance is submitted for execution. From the View menu, select Expand All to view the step details like: step name, the type of step, and the status of the step.

For example, as displayed in if you select a step called Check for Supported Configurations, then its corresponding execution details are displayed in a new tab.

Investigating a Failed Step for a Single or a Set of Targets

Now that the design is target-centric, which means that all the targets and its corresponding steps are listed in the Procedure Steps section, you can select one target or a set of target (multiple select) from the same page to view the status of the step. To do so, perform the followings steps:

  1. In Cloud Control, from the Enterprise menu, select Provisioning and Patching, then select Procedure Activity.
  2. On the Procedure Activity page, click the procedure name to select the procedure.
  3. In the Procedure Steps section, from the Show menu, select Failed Steps.

    All the steps that have failed are displayed in the Procedure Steps section. You can now select the steps that you want to retry, ignore, or update, and the corresponding details are displayed in the Step Details section

Retrying a Failed Step

To retry a failed step, perform the following steps:

  1. In Cloud Control, from the Enterprise menu, select Provisioning and Patching, then select Procedure Activity.
  2. On the Procedure Activity page, click the procedure name to select the procedure.
  3. Select the failed step from the Procedure Steps section. For information on selecting failed steps, see Investigating a Failed Step for a Single or a Set of Targets.

    The details of the step are displayed in the Setup Details section.

  4. In the Step Details section, from the Actions menu, click Retry. To make changes to the step, select Update and Retry option.
  5. In the Retry confirmation dialog box, click OK to run the step again.

Creating an Incident Dump

To create an incident dump for a procedure execution, follow these steps outlined below. To create an Incident Dump for procedure steps or dynamic procedure steps where an inner incident execution ID is required follow the additional steps outlined in step 6.

  1. In Enterprise Manager, from the Enterprise menu, select Provisioning and Patching, then select Procedure Activity.
  2. On the Procedure Activity page, click the Deployment Procedure Execution to select the procedure.
  3. Make a note of the Execution ID.
  4. In the Procedure Instance Execution page, from the Procedure Actions menu, select Incident.
  5. In the incident confirmation dialog box, click OK to create an incident for your execution.

    A confirmation dialog box appears once the incident is created. For more information about creating, packaging, and uploading an incident to an SR, see Oracle Database Administrator's Guide.

  6. Check the failed step:
    • If this not a procedure step: If the failed step is not a procedure step or dynamic procedure step, no further action is required. The incident dump created will contain all pertinent information.
    • If this is a procedure step:
      1. Identify the Execution ID of the failed step (Step 3), this will be your outerDPExecutionGuid.
      2. Run the following EM CLI command to obtain the deployment procedure execution details in XML format
        emcli get_instance_status -exec=<outerDPExecutionGuid> -xml -details
      3. Check the failed deployment procedure inner step in the XML file and make note of the innerDPExecutionGuid ID.
      4. Create an incident dump for the inner procedure step using EM CTL:
        emctl paf create_incident -exec <innerDPExecutionGuid>
        Entering the innerDPExecutionGuid from step c.

Viewing the Execution Time of a Deployment Procedure

The execution time of the deployment procedure is displayed on top of the page in the Procedure Actions section as Elapsed Time. The time elapsed continues to be updated until the procedure has successfully completed or has been stopped. You can resume a stopped procedure by selecting Resume from the Procedure Actions menu.

Searching for a Step

To search for a step that is embedded deep inside, you can use the Expand All option available in the View menu. Once the expanded list is displayed in the Procedure Step section, you can easily find the step you are looking for.

Downloading a Step Output

To download a step output, perform the following:

  1. In Cloud Control, from the Enterprise menu, select Provisioning and Patching, then select Procedure Activity.
  2. On the Procedure Activity page, click the procedure name to select the procedure.
  3. In the Procedure Steps section, select a step. Click Download in the step details section, as shown in the following graphic to download the step output:

    Downloading a Step Output

Accessing the Job Summary Page

To access the job summary page, follow these steps:

  1. In Cloud Control, from the Enterprise menu, select Provisioning and Patching, then select Procedure Activity.
  2. On the Procedure Activity page, click the procedure name to select the procedure.
  3. In the Procedure Steps section, select a step. Click Job Summary link available in the step details section to get more information about the underlying job.