Thresholds

select * from dba_outstanding_alerts;

col owner format a20
col OBJECT_NAME format a20
col OBJECT_TYPE format a30

col ADVISOR_NAME format a50
set line 300
select OWNER, OBJECT_NAME, OBJECT_TYPE, OBJECT_TYPE from dba_outstanding_alerts;


To check threshold
vi dba_thresholds.sql
SET LINESIZE 200
COLUMN tablespace_name FORMAT A30
COLUMN metrics_name FORMAT A30
COLUMN warning_value FORMAT A30
COLUMN critical_value FORMAT A15
SELECT object_name AS tablespace_name,
       metrics_name,
       warning_operator,
       warning_value,
       critical_operator,
       critical_value
FROM   dba_thresholds
WHERE  object_type = '&object_type_TABLESPACE'
ORDER BY object_name;

vi dba_tablespace_threholds
COLUMN metrics_name FORMAT A30
COLUMN warning_value FORMAT A30
COLUMN critical_value FORMAT A15

SELECT tablespace_name,
       contents,
       extent_management,
       threshold_type,
       metrics_name,
       warning_operator,
       warning_value,
       critical_operator,
       critical_value
FROM   dba_tablespace_thresholds
ORDER BY tablespace_name;

To set all tablespace threshold
vi set_all_tablespace_threhold.sql
SET VERIFY OFF

DECLARE
  g_warning_value      VARCHAR2(4) := '&1';
  g_warning_operator   VARCHAR2(4) := DBMS_SERVER_ALERT.OPERATOR_GE;
  g_critical_value     VARCHAR2(4) := '&2';
  g_critical_operator  VARCHAR2(4) := DBMS_SERVER_ALERT.OPERATOR_GE;

  PROCEDURE set_threshold(p_ts_name  IN VARCHAR2) AS
  BEGIN
    DBMS_SERVER_ALERT.SET_THRESHOLD(
      metrics_id              => DBMS_SERVER_ALERT.TABLESPACE_PCT_FULL,
      warning_operator        => g_warning_operator,
      warning_value           => g_warning_value,
      critical_operator       => g_critical_operator,
      critical_value          => g_critical_value,
      observation_period      => 1,
      consecutive_occurrences => 1,
      instance_name           => NULL,
      object_type             => DBMS_SERVER_ALERT.OBJECT_TYPE_TABLESPACE,
      object_name             => p_ts_name);
  END;
BEGIN
  IF g_warning_value  = 'NULL' THEN
    g_warning_value    := NULL;
    g_warning_operator := NULL;
  END IF;
  IF g_critical_value = 'NULL' THEN
    g_critical_value    := NULL;
    g_critical_operator := NULL;
  END IF;

  FOR cur_ts IN (SELECT tablespace_name
                 FROM   dba_tablespace_thresholds
                 WHERE  warning_operator != 'DO NOT CHECK'
                 AND    extent_management = 'LOCAL')
  LOOP
    set_threshold(cur_ts.tablespace_name);
  END LOOP;
END;
/


SET VERIFY ON

SQL> @/media/sf_scripts_agap/dba_tablespace_threshold

TABLESPACE_NAME                CONTENTS  EXTENT_MAN THRESHOL METRICS_NAME                   WARNING_OPER WARNING_VALUE                  CRITICAL_OPE CRITICAL_VALUE
------------------------------ --------- ---------- -------- ------------------------------ ------------ ------------------------------ ------------ ---------------
AGAP                           PERMANENT LOCAL      EXPLICIT Tablespace Space Usage         GE           50                             GE           75
SYSAUX                         PERMANENT LOCAL      EXPLICIT Tablespace Space Usage         GE           50                             GE           75
SYSTEM                         PERMANENT LOCAL      EXPLICIT Tablespace Space Usage         GE           50                             GE           75
TEMP1                          TEMPORARY LOCAL      EXPLICIT Tablespace Space Usage         DO NOT CHECK <SYSTEM-GENERATED THRESHOLD>   DO NOT CHECK 0
UNDOTBS1                       UNDO      LOCAL      EXPLICIT Tablespace Space Usage         DO NOT CHECK <SYSTEM-GENERATED THRESHOLD>   DO NOT CHECK 0
USERS                          PERMANENT LOCAL      EXPLICIT Tablespace Space Usage         GE           50                             GE           75


6 rows selected.

To set specified tablespace threshold
vi set_specified_tablespace_threhold.sql

SET VERIFY OFF

DECLARE
  g_warning_value      VARCHAR2(4) := '&1';
  g_warning_operator   VARCHAR2(4) := DBMS_SERVER_ALERT.OPERATOR_GE;
  g_critical_value     VARCHAR2(4) := '&2';
  g_critical_operator  VARCHAR2(4) := DBMS_SERVER_ALERT.OPERATOR_GE;

  PROCEDURE set_threshold(p_ts_name  IN VARCHAR2) AS
  BEGIN
    DBMS_SERVER_ALERT.SET_THRESHOLD(
      metrics_id              => DBMS_SERVER_ALERT.TABLESPACE_PCT_FULL,
      warning_operator        => g_warning_operator,
      warning_value           => g_warning_value,
      critical_operator       => g_critical_operator,
      critical_value          => g_critical_value,
      observation_period      => 1,
      consecutive_occurrences => 1,
      instance_name           => NULL,
      object_type             => DBMS_SERVER_ALERT.OBJECT_TYPE_TABLESPACE,
      object_name             => p_ts_name);
  END;
BEGIN
  IF g_warning_value  = 'NULL' THEN
    g_warning_value    := NULL;
    g_warning_operator := NULL;
  END IF;
  IF g_critical_value = 'NULL' THEN
    g_critical_value    := NULL;
    g_critical_operator := NULL;
  END IF;

  FOR cur_ts IN (SELECT tablespace_name
                 FROM   dba_tablespace_thresholds
                 WHERE  warning_operator != 'DO NOT CHECK'
                 AND    extent_management = 'LOCAL' and tablespace_name='&tablespace_name')
  LOOP
    set_threshold(cur_ts.tablespace_name);
  END LOOP;
END;
/


SET VERIFY ON

Sending notification after an event has remained open for a specified period -link 


metrics_id
The internal name of the metrics.
warning_operator
The operator for the comparing 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 metrics values are computed and verified against the threshold setting.
consecutive_occurrences
The number of observation periods the metrics 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
Either OBJECT_TYPE_SYSTEM or OBJECT_TYPE_SERVICE.
object_name
The name of the object.

to set threshold
dbms_server_alert.set_threshold(
   metrics_id               IN  NUMBER,
   warning_operator         IN  NUMBER,
   warning_value            IN  VARCHAR2,
   critical_operator        IN  NUMBER,
   critical_value           IN  VARCHAR2,
   observation_period       IN  NUMBER,
   consecutive_occurrences  IN  NUMBER,
   instance_name            IN  VARCHAR2,
   object_type              IN  NUMBER,
   object_name              IN  VARCHAR2);
BEGIN
    DBMS_SERVER_ALERT.SET_THRESHOLD(
        metrics_id => DBMS_SERVER_ALERT.TABLESPACE_PCT_FULL,
        warning_operator => DBMS_SERVER_ALERT.OPERATOR_GE,
        warning_value => '10',
        critical_operator => DBMS_SERVER_ALERT.OPERATOR_GE,
        critical_value => '20',
        observation_period => 1,
        consecutive_occurrences => 3,
        instance_name => 'ZMYDB',
        object_type => DBMS_SERVER_ALERT.OBJECT_TYPE_TABLESPACE,
        object_name => 'CUST'
     );
END;
/


Metrics Name (Internal)Metrics 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_INDEXE_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


col OBJECT_TYPE format a20
col reason format a50
col SUGGESTED_ACTION format a50
col ADVISOR_NAME format a30
col OBJECT_NAME format a20
select
   object_type,
   object_name,
   reason,
   suggested_action,
   time_suggested,
   resolution,
   advisor_name,
   metric_value,
   message_type,
   message_group,
   message_level
from
   dba_alert_history
where
   -- creation_time <= sysdate-1 and
   resolution = 'cleared'
order by
   creation_time desc;