Oracle® Database PL/SQL Packages and Types Reference 11g Release 1 (11.1) Part Number B28419-01 |
|
|
View PDF |
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:
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 115-1 Object Types Defined as Constants
Constant | Description |
---|---|
OBJECT_TYPE_SYSTEM |
Metrics collected on the system level for each instance. |
OBJECT_TYPE_FILE |
Metrics collected on the file level. These are used for AVERAGE_FILE_READ_TIME and AVERAGE_FILE_WRITE_TIME metrics. |
OBJECT_TYPE_SERVICE |
Metrics collected on the service level. Currently ELAPSED_TIME_PER_CALL and CPU_TIME_PER_CALL are collected. |
OBJECT_TYPE_TABLESPACE |
Metrics collected on the tablespace level. |
OBJECT_TYPE_EVENT_CLASS |
Metrics collected on wait event class level. Currently supported metrics are AVG_USERS_WAITING and DB_TIME_WAITING . |
OBJECT_TYPE_SESSION |
Metrics collected on the session level. Currently only BLOCKED_USERS is collected. The threshold can only be set at the instance level, which means that no object name should be specified when setting the threshold for this type of metric. |
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 115-2 Relational Operators Defined as Constants
Constant | Description |
---|---|
OPERATOR_CONTAINS |
A metric value matching an entry in a list of threshold values is considered a violation. |
OPERATOR_DO_NOT_CHECK |
The metric value is not compared to the threshold value, and no alerts are generated. Use this operator to disable alerts for a metric. |
OPERATOR_EQ |
A metric value equal to the threshold value is considered a violation. |
OPERATOR_GE |
A metric value greater than or equal to the threshold value is considered a violation. |
OPERATOR_GT |
A metric value greater than the threshold value is considered a violation. |
OPERATOR_LE |
A metric value less than or equal to the threshold value is considered a violation. |
OPERATOR_LT |
A metric value less than the threshold value is considered a violation. |
OPERATOR_NE |
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 115-3 List of Supported Metrics
Metric Name (Internal) | Metric Name (External) | Units |
---|---|---|
SQL_SRV_RESPONSE_TIME |
Service Response (for each execution) | Seconds |
BUFFER_CACHE_HIT |
Buffer Cache Hit (%) | % of cache accesses |
LIBRARY_CACHE_HIT |
Library Cache Hit (%) | % of cache accesses |
LIBRARY_CACHE_MISS |
Library Cache Miss (%) | % of cache accesses |
MEMORY_SORTS_PCT |
Sorts in Memory (%) | % of sorts |
REDO_ALLOCATION_HIT |
Redo Log Allocation Hit | % of redo allocations |
TRANSACTION_RATE |
Number of Transactions (for each second) | Transactions for each Second |
PHYSICAL_READS_SEC |
Physical Reads (for each second) | Reads for each Second |
PHYSICAL_READS_TXN |
Physical Reads (for each transaction) | Reads for each Transaction |
PHYSICAL_WRITES_SEC |
Physical Writes (for each second) | Writes for each Second |
PHYSICAL_WRITES_TXN |
Physical Writes (for each transaction) | Writes for each Transaction |
PHYSICAL_READS_DIR_SEC |
Direct Physical Reads (for each second) | Reads for each Second |
PHYSICAL_READS_DIR_TXN |
Direct Physical Reads (for each transaction) | Reads for each Transaction |
PHYSICAL_WRITES_DIR_SEC |
Direct Physical Writes (for each second) | Writes for each Second |
PHYSICAL_WRITES_DIR_TXN |
Direct Physical Writes (for each transaction) | Writes for each Transaction |
PHYSICAL_READS_LOB_SEC |
Direct LOB Physical Reads (for each second) | Reads for each Second |
PHYSICAL_READS_LOB_TXN |
Direct LOB Physical Reads (for each transaction) | Reads for each Transaction |
PHYSICAL_WRITES_LOB_SEC |
Direct LOB Physical Writes (for each second) | Writes for each Second |
PHYSICAL_WRITES_LOB_TXN |
Direct LOB Physical Writes (for each transaction) | Writes for each Transaction |
REDO_GENERATED_SEC |
Redo Generated (for each second) | Redo Bytes for each Second |
REDO_GENERATED_TXN |
Redo Generated (for each transaction) | Redo Bytes for each Transaction |
DATABASE_WAIT_TIME |
Database Wait Time (%) | % of all database time |
DATABASE_CPU_TIME |
Database CPU Time (%) | % of all database time |
LOGONS_SEC |
Cumulative Logons (for each second) | Logons for each Second |
LOGONS_TXN |
Cumulative Logons (for each transaction) | Logons for each Transaction |
LOGONS_CURRENT |
Current Number of Logons | Number of Logons |
OPEN_CURSORS_SEC |
Cumulative Open Cursors (for each second) | Cursors for each Second |
OPEN_CURSORS_TXN |
Cumulative Open Cursors (for each transaction) | Cursors for each Transaction |
OPEN_CURSORS_CURRENT |
Current Number of Cursors | Number of Cursors |
USER_COMMITS_SEC |
User Commits (for each second) | Commits for each Second |
USER_COMMITS_TXN |
User Commits (for each transaction) | Commits for each Transaction |
USER_ROLLBACKS_SEC |
User Rollbacks (for each second) | Rollbacks for each Second |
USER_ROLLBACKS_TXN |
User Rollbacks (for each transaction) | Rollbacks for each Transaction |
USER_CALLS_SEC |
User Calls (for each second) | Calls for each Second |
USER_CALLS_TXN |
User Calls (for each transaction) | Calls for each Transaction |
RECURSIVE_CALLS_SEC |
Recursive Calls (for each second) | Calls for each Second |
RECURSIVE_CALLS_TXN |
Recursive Calls (for each transaction) | Calls for each Transaction |
SESS_LOGICAL_READS_SEC |
Session Logical Reads (for each second) | Reads for each Second |
SESS_LOGICAL_READS_TXN |
Session Logical Reads (for each transaction) | Reads for each Transaction |
DBWR_CKPT_SEC |
DBWR Checkpoints (for each second) | Checkpoints for each Second |
LOG_SWITCH_SEC |
Background Checkpoints (for each second) | Checkpoints for each Second |
REDO_WRITES_SEC |
Redo Writes (for each second) | Writes for each Second |
REDO_WRITES_TXN |
Redo Writes (for each transaction) | Writes for each Transaction |
LONG_TABLE_SCANS_SEC |
Scans on Long Tables (for each second) | Scans for each Second |
LONG_TABLE_SCANS_TXN |
Scans on Long Tables (for each transaction) | Scans for each Transaction |
TOTAL_TABLE_SCANS_SEC |
Total Table Scans (for each second) | Scans for each Second |
TOTAL_TABLE_SCANS_TXN |
Total Table Scans (for each transaction) | Scans for each Transaction |
FULL_INDEX_SCANS_SEC |
Fast Full Index Scans (for each second) | Scans for each Second |
FULL_INDEX_SCANS_TXN |
Fast Full Index Scans (for each transaction) | Scans for each Transaction |
TOTAL_INDEX_SCANS_SEC |
Total Index Scans (for each second) | Scans for each Second |
TOTAL_INDEX_SCANS_TXN |
Total Index Scans (for each transaction) | Scans for each Transaction |
TOTAL_PARSES_SEC |
Total Parses (for each second) | Parses for each Second |
TOTAL_PARSES_TXN |
Total Parses (for each transaction) | Parses for each Transaction |
HARD_PARSES_SEC |
Hard Parses (for each second) | Parses for each Second |
HARD_PARSES_TXN |
Hard Parses (for each transaction) | Parses for each Transaction |
PARSE_FAILURES_SEC |
Parse Failures (for each second) | Parses for each Second |
PARSE_FAILURES_TXN |
Parse Failures (for each transaction) | Parses for each Transaction |
DISK_SORT_SEC |
Sorts to Disk (for each second) | Sorts for each Second |
DISK_SORT_TXN |
Sorts to Disk (for each transaction) | Sorts for each Transaction |
ROWS_PER_SORT |
Rows Processed for each Sort | Rows for each Sort |
EXECUTE_WITHOUT_PARSE |
Executes Performed Without Parsing | % of all executes |
SOFT_PARSE_PCT |
Soft Parse (%) | % of all parses |
CURSOR_CACHE_HIT |
Cursor Cache Hit (%) | % of soft parses |
USER_CALLS_PCT |
User Calls (%) | % of all calls |
TXN_COMMITTED_PCT |
Transactions Committed (%) | % of all transactions |
NETWORK_BYTES_SEC |
Network Bytes, for each second | Bytes for each Second |
RESPONSE_TXN |
Response (for each transaction) | Seconds for each Transaction |
DATA_DICT_HIT |
Data Dictionary Hit (%) | % of dictionary accesses |
DATA_DICT_MISS |
Data Dictionary Miss (%) | % of dictionary accesses |
SHARED_POOL_FREE_PCT |
Shared Pool Free(%) | % of shared pool |
AVERAGE_FILE_READ_TIME |
Average File Read Time | Microseconds |
AVERAGE_FILE_WRITE_TIME |
Average File Write Time | Microseconds |
DISK_IO |
Disk I/O | Milliseconds |
PROCESS_LIMIT_PCT |
Process Limit Usage (%) | % of maximum value |
SESSION_LIMIT_PCT |
Session Limit Usage (%) | % of maximum value |
USER_LIMIT_PCT |
User Limit Usage (%) | % of maximum value |
AVG_USERS_WAITING |
Average Number of Users Waiting on a Class of Wait Events | Count of sessions |
DB_TIME_WAITING |
Percent of Database Time Spent Waiting on a Class of Wait Events | % of Database Time |
APPL_DESGN_WAIT_SCT |
Application Design Wait (by session count) | Count of sessions |
APPL_DESGN_WAIT_TIME |
Application Design Wait (by time) | Microseconds |
PHYS_DESGN_WAIT_SCT |
Physical Design Wait (by session count) | Count of sessions |
PHYS_DESGN_WAIT_TIME |
Physical Design Wait (by time) | Microseconds |
CONTENTION_WAIT_SCT |
Internal Contention Wait (by session count) | Count of sessions |
CONTENTION_WAIT_TIME |
Internal Contention Wait (by time) | Microseconds |
PSERVICE_WAIT_SCT |
Process Service Wait (by session count) | Count of sessions |
PSERVICE_WAIT_TIME |
Process Service Wait (by time) | Microseconds |
NETWORK_MSG_WAIT_SCT |
Network Message Wait (by session count) | Count of sessions |
NETWORK_MSG_WAIT_TIME |
Network Message Wait (by time) | Microseconds |
DISK_IO_WAIT_SCT |
Disk I/O Wait (by session count) | Count of sessions |
OS_SERVICE_WAIT_SCT |
Operating System Service Wait (by session count) | Count of sessions |
OS_SERVICE_WAIT_TIME |
Operating System Service Wait (by time) | Microseconds |
DBR_IO_LIMIT_WAIT_SCT |
Resource Mgr I/O Limit Wait (by session count) | Count of sessions |
DBR_IO_LIMIT_WAIT_TIME |
Resource Mgr I/O Limit Wait (by time) | Microseconds |
DBR_CPU_LIMIT_WAIT_SCT |
Resource Mgr CPU Limit Wait (by session count) | Count of sessions |
DBR_CPU_LIMIT_WAIT_TIME |
Resource Mgr CPU Limit Wait (by time) | Microseconds |
DBR_USR_LIMIT_WAIT_SCT |
Resource Mgr User Limit Wait (by session count) | Count of sessions |
DBR_USR_LIMIT_WAIT_TIME |
Resource Mgr User Limit Wait (by time) | Microseconds |
OS_SCHED_CPU_WAIT_SCT |
Operating System Scheduler CPU Wait (by session count) | Count of sessions |
OS_SCHED_CPU__WAIT_TIME |
Operating System Scheduler CPU Wait (by time) | Microseconds |
CLUSTER_MSG_WAIT_SCT |
Cluster Messaging Wait (by session count) | Count of sessions |
CLUSTER_MSG_WAIT_TIME |
Cluster Messaging Wait (by time) | Microseconds |
OTHER_WAIT_SCT |
Other Waits (by session count) | Count of sessions |
OTHER_WAIT_TIME |
Other Waits (by time) | Microseconds |
ENQUEUE_TIMEOUTS_SEC |
Enqueue Timeouts (for each second) | Timeouts for each Second |
ENQUEUE_TIMEOUTS_TXN |
Enqueue Timeouts (for each transaction) | Timeouts for each Transaction |
ENQUEUE_WAITS_SEC |
Enqueue Waits (for each second) | Waits for each Second |
ENQUEUE_WAITS_TXN |
Enqueue Waits (for each transaction) | Waits for each Transaction |
ENQUEUE_DEADLOCKS_SEC |
Enqueue Deadlocks (for each second) | Deadlocks for each Second |
ENQUEUE_DEADLOCKS_TXN |
Enqueue Deadlocks (for each transaction) | Deadlocks for each Transaction |
ENQUEUE_REQUESTS_SEC |
Enqueue Requests (for each second) | Requests for each Second |
ENQUEUE_REQUESTS_TXN |
Enqueue Requests (for each transaction) | Requests for each Transaction |
DB_BLKGETS_SEC |
DB Block Gets (for each second) | Gets for each Second |
DB_BLKGETS_TXN |
DB Block Gets (for each transaction) | Gets for each Transaction |
CONSISTENT_GETS_SEC |
Consistent Gets (for each second) | Gets for each Second |
CONSISTENT_GETS_TXN |
Consistent Gets (for each transaction) | Gets for each Transaction |
DB_BLKCHANGES_SEC |
DB Block Changes (for each second) | Changes for each Second |
DB_BLKCHANGES_TXN |
DB Block Changes (for each transaction) | Changes for each Transaction |
CONSISTENT_CHANGES_SEC |
Consistent Changes (for each second) | Changes for each Second |
CONSISTENT_CHANGES_TXN |
Consistent Changes (for each transaction) | Changes for each Transaction |
SESSION_CPU_SEC |
Database CPU (for each second) | Microseconds for each Second |
SESSION_CPU_TXN |
Database CPU (for each transaction) | Microseconds for each Transaction |
CR_BLOCKS_CREATED_SEC |
CR Blocks Created (for each second) | Blocks for each Second |
CR_BLOCKS_CREATED_TXN |
CR Blocks Created (for each transaction) | Blocks for each Transaction |
CR_RECORDS_APPLIED_SEC |
CR Undo Records Applied (for each second) | Records for each Second |
CR_RECORDS_APPLIED_TXN |
CR Undo Records Applied (for each transaction) | Records for each Transaction |
RB_RECORDS_APPLIED_SEC |
Rollback Undo Records Applied (for each second) | Records for each Second |
RB_RECORDS_APPLIED_TXN |
Rollback Undo Records Applied (for each transaction) | Records for each Transaction |
LEAF_NODE_SPLITS_SEC |
Leaf Node Splits (for each second) | Splits for each Second |
LEAF_NODE_SPLITS_TXN |
Leaf Node Splits (for each transaction) | Splits for each Transaction |
BRANCH_NODE_SPLITS_SEC |
Branch Node Splits (for each second) | Splits for each Second |
BRANCH_NODE_SPLITS_TXN |
Branch Node Splits (for each transaction) | Splits for each Transaction |
GC_BLOCKS_CORRUPT |
Global Cache Blocks Corrupt | Blocks |
GC_BLOCKS_LOST |
Global Cache Blocks Lost | Blocks |
GC_AVG_CR_GET_TIME |
Global Cache CR Request | Milliseconds |
GC_AVG_CUR_GET_TIME |
Global Cache Current Request | Milliseconds |
PX_DOWNGRADED_SEC |
Downgraded Parallel Operations (for each second) | Operations for each Second |
PX_DOWNGRADED_25_SEC |
Downgraded to 25% and more (for each second) | Operations for each Second |
PX_DOWNGRADED_50_SEC |
Downgraded to 50% and more (for each second) | Operations for each Second |
PX_DOWNGRADED_75_SEC |
Downgraded to 75% and more (for each second) | Operations for each Second |
PX_DOWNGRADED_SER_SEC |
Downgraded to serial (for each second) | Operations for each Second |
BLOCKED_USERS |
Number of Users blocked by some Session | Number of Users |
PGA_CACHE_HIT |
PGA Cache Hit (%) | % bytes processed in PGA |
ELAPSED_TIME_PER_CALL |
Elapsed time for each user call for each service | Microseconds for each call |
CPU_TIME_PER_CALL |
CPU time for each user call for each service | Microseconds for each call |
TABLESPACE_PCT_FULL |
Tablespace space usage | % full |
TABLESPACE_BYT_FREE |
Tablespace bytes space usage | Kilobytes free |
Table 115-4 DBMS_SERVER_ALERT Package Subprograms
Subprogram | Description |
---|---|
EXPAND_MESSAGE Function |
Expands alert messages |
GET_THRESHOLD Procedure |
Gets the current threshold settings for a specified metric |
SET_THRESHOLD Procedure |
Sets the warning and critical thresholds for a specified metric |
This function expands alert messages.
Syntax
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;
Parameters
Table 115-5 EXPAND_MESSAGE Procedure Parameters
Parameter | Description |
---|---|
user_language |
The language of the current session. |
message_id |
Id of the alert message |
argument_1 |
The first argument in the alert message. |
argument_2 |
The second argument in the alert message. |
argument_3 |
The third argument in the alert message. |
argument_4 |
The fourth argument in the alert message. |
argument_5 |
The fifth argument in the alert message. |
This procedure gets the current threshold settings for the specified metric.
Syntax
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);
Parameters
Table 115-6 GET_THRESHOLD Procedure Parameters
Parameter | Description |
---|---|
metrics_id |
The internal name of the metric. See "Supported Metrics". |
warning_operator |
The operator for the compa3ring the actual value with the warning threshold. |
warning_value |
The warning threshold value. |
critical_operator |
The operator for the comparing the actual value with the critical threshold. |
critical_value |
The critical threshold value. |
observation_period |
The period at which the metric values are computed and verified against the threshold setting. |
consecutive_occurrences |
The number of observation periods the metric value should violate the threshold value before the alert is issued. |
instance_name |
The name of the instance for which the threshold is set. This is NULL for database-wide alerts. In cases in which this parameter is not NULL , this should be set to one of the INSTANCE_NAME values found in the GV$INSTANCE View. |
object_type |
Either OBJECT_TYPE_SYSTEM or OBJECT_TYPE_SERVICE . |
object_name |
The name of the object. |
Usage Notes
Note that this subprogram does not check if the value of the instance_name
parameter is meaningful or valid.
This procedure sets the warning and critical thresholds for a specified metric.
Syntax
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);
Parameters
Table 115-7 SET_THRESHOLD Procedure Parameters
Parameter | Description |
---|---|
metrics_id |
The internal name of the metric. See "Supported Metrics". |
warning_operator |
The operator for the comparing the actual value with the warning threshold (such as OPERATOR_GE ). See "Relational Operators". |
warning_value |
The warning threshold value. This is NULL if no warning threshold is set. A list of values may be specified for OPERATOR_CONTAINS . |
critical_operator |
The operator for the comparing the actual value with the critical threshold. See "Relational Operators". |
critical_value |
The critical threshold value. This is NULL if not set. A list of values may be specified for OPERATOR_CONTAINS . |
observation_period |
The period at which the metric values are computed and verified against the threshold setting. The valid range is 1 to 60 minutes. |
consecutive_occurrences |
The number of observation periods the metric value should violate the threshold value before the alert is issued. |
instance_name |
The name of the instance for which the threshold is set. This is NULL for database-wide alerts. |
object_type |
See "Object Types". |
object_name |
The name of the object. This is NULL for SYSTEM . |
Usage Notes
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.