About Dynamic Runbooks
Background and Concepts
Dynamic Runbooks are documented procedures that IT Operations staff follow to resolve an issue. The steps in the Dynamic Runbook are often based on the operational experience of subject matter experts who are responsible for providing a consistent way to respond to and resolve issues in a timely manner.
Dynamic Runbooks typically consist of a set of ordered instructions (steps) that include looking at metric data, correlating data across targets, and executing SQL against the Enterprise Manager repository or target databases to resolve the issue. Many, if not all such tasks, can be performed entirely within Enterprise Manager. With Dynamic Runbooks, users can execute these steps inside Enterprise Manager.
Terminology
- Runbook
Set of ordered instructions, data, and SQL designed to provide a standard way to diagnose and respond to an incident.
- Runbook Session
Execution of a Runbook by a user
- Runbook Variables
Context values applied to a Runbook. These could be: metric name, target name, target type, etc. These can be populated from an incident or metric in which the Runbook session is executed, or they could be an output of a previous Runbook step, i.e. the value for a Runbook variable can be manually filled in by the session user based on the output from one of the previous steps. Instructions for how this should be manually done from a previous step can be covered via the description in the step.
Prerequisites
You need to set the following OMS properties in order for the Repository SQL and Target SQL Runbook steps to work:
oracle.sysman.db.restfulapi.executesql.repository.query.enable
oracle.sysman.db.restfulapi.executesql.target.query.enable
oracle.sysman.db.restfulapi.executesql.target.update.enable
oracle.sysman.db.restfulapi.executesql.throttle.max.req.per.user.interval.sec
oracle.sysman.db.restfulapi.executesql.throttle.max.req.per.user
oracle.sysman.db.restfulapi.executesql.throttle.max.concurrent.request
Examples:
emctl set property -name oracle.sysman.db.restfulapi.executesql.repository.query.enable -value true -sysman_pwd "<your password>"
emctl set property -name oracle.sysman.db.restfulapi.executesql.target.query.enable -value true -sysman_pwd "<your password>"
emctl set property -name oracle.sysman.db.restfulapi.executesql.target.update.enable -value true -sysman_pwd "<your password>"
emctl set property -name oracle.sysman.db.restfulapi.executesql.throttle.max.req.per.user.interval.sec -value 60 -sysman_pwd "<your password>"
emctl set property -name oracle.sysman.db.restfulapi.executesql.throttle.max.req.per.user -value 30 -sysman_pwd "<your password>"
emctl set property -name oracle.sysman.db.restfulapi.executesql.target.update.enable -value true -sysman_pwd "<your password>"
emctl set property -name oracle.sysman.db.restfulapi.executesql.throttle.max.concurrent.request -value 20 -sysman_pwd "<your password>"
Run any SQL on Database and Connect Target privilege is required on the database in order to run a Target SQL type step.