The DBMS_SERVER_ALERT
package enables you to configure the Oracle Database server to issue an alert when a threshold for a specified server metric has been violated. You can configure both warning and critical thresholds for a large number of predefined metrics.
If a warning threshold is reached, the server generates a severity level 5 alert. If a critical threshold is reached, the server generates a severity level 1 alert.
The chapter contains the following topics:
Security Model
Object Types
Relational Operators
Supported Metrics
This section contains topics which relate to using the DBMS_SERVER_ALERT
package. The following topics define constants used in package procedures.
You qualify the metric by an individual object for the following object types.
Table 141-1 Object Types Defined as Constants
Constant | Description |
---|---|
|
Metrics collected on the system level for each instance. |
|
Metrics collected on the file level. These are used for |
|
Metrics collected on the service level. Currently |
|
Metrics collected on the tablespace level. Note: Dictionary managed tablespaces are not supported. |
|
Metrics collected on wait event class level. Currently supported metrics are |
|
Metrics collected on the session level. Currently only |
|
Refers to a group of metrics ( |
You can specify a relational comparison operator to determine whether or not a given metric's value violates the threshold setting. The server supports the following operators.
Table 141-2 Relational Operators Defined as Constants
Constant | Description |
---|---|
|
A metric value matching an entry in a list of threshold values is considered a violation. |
|
The metric value is not compared to the threshold value, and no alerts are generated. Use this operator to disable alerts for a metric. |
|
A metric value equal to the threshold value is considered a violation. |
|
A metric value greater than or equal to the threshold value is considered a violation. |
|
A metric value greater than the threshold value is considered a violation. |
|
A metric value less than or equal to the threshold value is considered a violation. |
|
A metric value less than the threshold value is considered a violation. |
|
A metric value not equal to the threshold value is considered a violation. |
The following metrics are supported. All internal metric names are supplied as package constants.
Table 141-3 List of Supported Metrics
Metric Name (Internal) | Metric Name (External) | Units |
---|---|---|
|
Average File Read Time |
Microseconds |
|
Average File Write Time |
Microseconds |
|
Average Number of Users Waiting on a Class of Wait Events |
Count of sessions |
|
Number of Users blocked by some Session |
Number of Users |
|
Branch Node Splits (for each second) |
Splits for each Second |
|
Branch Node Splits (for each transaction) |
Splits for each Transaction |
|
Buffer Cache Hit (%) |
% of cache accesses |
|
Cluster Messaging Wait (by session count) |
Count of sessions |
|
Cluster Messaging Wait (by time) |
Microseconds |
|
Consistent Changes (for each second) |
Changes for each Second |
|
Consistent Changes (for each transaction) |
Changes for each Transaction |
|
Consistent Gets (for each second) |
Gets for each Second |
|
Consistent Gets (for each transaction) |
Gets for each Transaction |
|
Internal Contention Wait (by session count) |
Count of sessions |
|
Internal Contention Wait (by time) |
Microseconds |
|
CPU time for each user call for each service |
Microseconds for each call |
|
CR Blocks Created (for each second) |
Blocks for each Second |
|
CR Blocks Created (for each transaction) |
Blocks for each Transaction |
|
CR Undo Records Applied (for each second) |
Records for each Second |
|
CR Undo Records Applied (for each transaction) |
Records for each Transaction |
|
Cursor Cache Hit (%) |
% of soft parses |
|
Database Wait Time (%) |
% of all database time |
|
Database CPU Time (%) |
% of all database time |
|
Data Dictionary Hit (%) |
% of dictionary accesses |
|
Data Dictionary Miss (%) |
% of dictionary accesses |
|
DB Block Gets (for each second) |
Gets for each Second |
|
DB Block Gets (for each transaction) |
Gets for each Transaction |
|
Percent of Database Time Spent Waiting on a Class of Wait Events |
% of Database Time |
|
Resource Mgr I/O Limit Wait (by session count) |
Count of sessions |
|
Resource Mgr I/O Limit Wait (by time) |
Microseconds |
|
Resource Mgr CPU Limit Wait (by session count) |
Count of sessions |
|
Resource Mgr CPU Limit Wait (by time) |
Microseconds |
|
Resource Mgr User Limit Wait (by session count) |
Count of sessions |
|
Resource Mgr User Limit Wait (by time) |
Microseconds |
|
DBWR Checkpoints (for each second) |
Checkpoints for each Second |
|
Disk I/O |
Milliseconds |
|
Disk I/O Wait (by session count) |
Count of sessions |
|
Sorts to Disk (for each second) |
Sorts for each Second |
|
Sorts to Disk (for each transaction) |
Sorts for each Transaction |
|
Elapsed time for each user call for each service |
Microseconds for each call |
|
Enqueue Deadlocks (for each second) |
Deadlocks for each Second |
|
Enqueue Deadlocks (for each transaction) |
Deadlocks for each Transaction |
|
Enqueue Requests (for each second) |
Requests for each Second |
|
Enqueue Requests (for each transaction) |
Requests for each Transaction |
|
Enqueue Timeouts (for each second) |
Timeouts for each Second |
|
Enqueue Timeouts (for each transaction) |
Timeouts for each Transaction |
|
Enqueue Waits (for each second) |
Waits for each Second |
|
Enqueue Waits (for each transaction) |
Waits for each Transaction |
|
Executes Performed Without Parsing |
% of all executes |
|
Fast Full Index Scans (for each second) |
Scans for each Second |
|
Fast Full Index Scans (for each transaction) |
Scans for each Transaction |
|
Global Cache CR Request |
Milliseconds |
|
Global Cache Current Request |
Milliseconds |
|
Global Cache Blocks Corrupt |
Blocks |
|
Global Cache Blocks Lost |
Blocks |
|
Hard Parses (for each second) |
Parses for each Second |
|
Hard Parses (for each transaction) |
Parses for each Transaction |
|
Leaf Node Splits (for each second) |
Splits for each Second |
|
Leaf Node Splits (for each transaction) |
Splits for each Transaction |
|
Library Cache Hit (%) |
% of cache accesses |
|
Library Cache Miss (%) |
% of cache accesses |
|
Background Checkpoints (for each second) |
Checkpoints for each Second |
|
Current Number of Logons |
Number of Logons |
|
Cumulative Logons (for each second) |
Logons for each Second |
|
Cumulative Logons (for each transaction) |
Logons for each Transaction |
|
Scans on Long Tables (for each second) |
Scans for each Second |
|
Scans on Long Tables (for each transaction) |
Scans for each Transaction |
|
Cumulative Open Cursors (for each second) |
Cursors for each Second |
|
Sorts in Memory (%) |
% of sorts |
|
Network Bytes, for each second |
Bytes for each Second |
|
Network Message Wait (by session count) |
Count of sessions |
|
Network Message Wait (by time) |
Microseconds |
|
Current Number of Cursors |
Number of Cursors |
|
Cumulative Open Cursors (for each transaction) |
Cursors for each Transaction |
|
Operating System Scheduler CPU Wait (by session count) |
Count of sessions |
|
Operating System Scheduler CPU Wait (by time) |
Microseconds |
|
Operating System Service Wait (by session count) |
Count of sessions |
|
Operating System Service Wait (by time) |
Microseconds |
|
Other Waits (by session count) |
Count of sessions |
|
Other Waits (by time) |
Microseconds |
|
Parse Failures (for each second) |
Parses for each Second |
|
Parse Failures (for each transaction) |
Parses for each Transaction |
|
PGA Cache Hit (%) |
% bytes processed in PGA |
|
Physical Design Wait (by session count) |
Count of sessions |
|
Physical Design Wait (by time) |
Microseconds |
|
Physical Reads (for each second) |
Reads for each Second |
|
Physical Reads (for each transaction) |
Reads for each Transaction |
|
Physical Writes (for each second) |
Writes for each Second |
|
Physical Writes (for each transaction) |
Writes for each Transaction |
|
Direct Physical Reads (for each second) |
Reads for each Second |
|
Direct Physical Reads (for each transaction) |
Reads for each Transaction |
|
Direct Physical Writes (for each second) |
Writes for each Second |
|
Direct Physical Writes (for each transaction) |
Writes for each Transaction |
|
Direct LOB Physical Reads (for each second) |
Reads for each Second |
|
Direct LOB Physical Reads (for each transaction) |
Reads for each Transaction |
|
Direct LOB Physical Writes (for each second) |
Writes for each Second |
|
Direct LOB Physical Writes (for each transaction) |
Writes for each Transaction |
|
Process Limit Usage (%) |
% of maximum value |
|
Process Service Wait (by session count) |
Count of sessions |
|
Process Service Wait (by time) |
Microseconds |
|
Downgraded Parallel Operations (for each second) |
Operations for each Second |
|
Downgraded to 25% and more (for each second) |
Operations for each Second |
|
Downgraded to 50% and more (for each second) |
Operations for each Second |
|
Downgraded to 75% and more (for each second) |
Operations for each Second |
|
Downgraded to serial (for each second) |
Operations for each Second |
|
Rollback Undo Records Applied (for each second) |
Records for each Second |
|
Rollback Undo Records Applied (for each transaction) |
Records for each Transaction |
|
Redo Log Allocation Hit |
% of redo allocations |
|
Redo Generated (for each second) |
Redo Bytes for each Second |
|
Redo Generated (for each transaction) |
Redo Bytes for each Transaction |
|
Redo Writes (for each second) |
Writes for each Second |
|
Redo Writes (for each transaction) |
Writes for each Transaction |
|
Recursive Calls (for each second) |
Calls for each Second |
|
Recursive Calls (for each transaction) |
Calls for each Transaction |
|
Response (for each transaction) |
Seconds for each Transaction |
|
Rows Processed for each Sort |
Rows for each Sort |
|
Session Logical Reads (for each second) |
Reads for each Second |
|
Session Logical Reads (for each transaction) |
Reads for each Transaction |
|
Database CPU (for each second) |
Microseconds for each Second |
|
Database CPU (for each transaction) |
Microseconds for each Transaction |
|
Session Limit Usage (%) |
% of maximum value |
|
Shared Pool Free(%) |
% of shared pool |
|
Soft Parse (%) |
% of all parses |
|
Service Response (for each execution) |
Seconds |
|
Tablespace space usage |
% full |
|
Tablespace bytes space usage |
Kilobytes free |
|
Total Table Scans (for each second) |
Scans for each Second |
|
Total Table Scans (for each transaction) |
Scans for each Transaction |
|
Total Index Scans (for each second) |
Scans for each Second |
|
Total Index Scans (for each transaction) |
Scans for each Transaction |
|
Total Parses (for each second) |
Parses for each Second |
|
Total Parses (for each transaction) |
Parses for each Transaction |
|
Number of Transactions (for each second) |
Transactions for each Second |
|
Transactions Committed (%) |
% of all transactions |
|
User Commits (for each second) |
Commits for each Second |
|
User Commits (for each transaction) |
Commits for each Transaction |
|
User Rollbacks (for each second) |
Rollbacks for each Second |
|
User Rollbacks (for each transaction) |
Rollbacks for each Transaction |
|
User Calls (for each second) |
Calls for each Second |
|
User Calls (for each transaction) |
Calls for each Transaction |
|
User Calls (%) |
% of all calls |
|
User Limit Usage (%) |
% of maximum value |
|
Average IO response time (for a WRC client) |
Milliseconds |
|
Percentage of replay threads on CPU (for a WRC client) |
% of total replay threads |
|
Percentage of replay threads doing IOs (for a WRC client) |
% of total replay threads |
Table 141-4 DBMS_SERVER_ALERT Package Subprograms
Subprogram | Description |
---|---|
Expands alert messages |
|
Gets the current threshold settings for a specified metric |
|
Sets the warning and critical thresholds for a specified metric |
This function expands alert messages.
DBMS_SERVER_ALERT.EXPAND_MESSAGE( user_language IN VARCHAR2, message_id IN NUMBER, argument_1 IN VARCHAR2, argument_2 IN VARCHAR2, argument_3 IN VARCHAR2, argument_4 IN VARCHAR2, argument_5 IN VARCHAR2) RETURN VARCHAR2;
Table 141-5 EXPAND_MESSAGE Function Parameters
Parameter | Description |
---|---|
|
The language of the current session. |
|
Id of the alert message |
|
The first argument in the alert message. |
|
The second argument in the alert message. |
|
The third argument in the alert message. |
|
The fourth argument in the alert message. |
|
The fifth argument in the alert message. |
This procedure gets the current threshold settings for the specified metric.
DBMS_SERVER_ALERT.GET_THRESHOLD( metrics_id IN BINARY_INTEGER, warning_operator OUT BINARY_INTEGER, warning_value OUT VARCHAR2, critical_operator OUT BINARY_INTEGER, critical_value OUT VARCHAR2, observation_period OUT BINARY_INTEGER, consecutive_occurrences OUT BINARY_INTEGER, instance_name IN VARCHAR2, object_type IN BINARY_INTEGER, object_name IN VARCHAR2);
Table 141-6 GET_THRESHOLD Procedure Parameters
Parameter | Description |
---|---|
|
The internal name of the metric. See "Supported Metrics". |
|
The operator for the compa3ring the actual value with the warning threshold. |
|
The warning threshold value. |
|
The operator for the comparing the actual value with the critical threshold. |
|
The critical threshold value. |
|
The period at which the metric values are computed and verified against the threshold setting. |
|
The number of observation periods the metric value should violate the threshold value before the alert is issued. |
|
The name of the instance for which the threshold is set. This is |
|
Either |
|
The name of the object. |
This procedure sets the warning and critical thresholds for a specified metric.
DBMS_SERVER_ALERT.SET_THRESHOLD( metrics_id IN BINARY_INTEGER, warning_operator IN BINARY_INTEGER, warning_value IN VARCHAR2, critical_operator IN BINARY_INTEGER, critical_value IN VARCHAR2, observation_period IN BINARY_INTEGER, consecutive_occurrences IN BINARY_INTEGER, instance_name IN VARCHAR2, object_type IN BINARY_INTEGER, object_name IN VARCHAR2);
Table 141-7 SET_THRESHOLD Procedure Parameters
Parameter | Description |
---|---|
|
The internal name of the metric. See "Supported Metrics". |
|
The operator for the comparing the actual value with the warning threshold (such as |
|
The warning threshold value. This is |
|
The operator for the comparing the actual value with the critical threshold. See "Relational Operators". |
|
The critical threshold value. This is |
|
The period at which the metric values are computed and verified against the threshold setting. The valid range is 1 to 60 minutes. |
|
The number of observation periods the metric value should violate the threshold value before the alert is issued. |
|
The name of the instance for which the threshold is set. This is |
|
See "Object Types". |
|
The name of the object. This is |
Note that this subprogram does not check if the value of the instance_name
parameter is meaningful or valid. Passing a name that does not identify a valid instance will result in a threshold that is not used by any by any instance although the threshold setting will be visible in the DBA_THRESHOLDS
view. The exception is the lower-case string 'database_wide' which is semantically equivalent to passing NULL
for the instance name, the latter being the preferred usage.
Scripting on this page enhances content navigation, but does not change the content in any way.