Documentation forDatabase Performance Analyzer

DPA alert categories and types

DPA provides a wide range of alert types in four categories.

DPA alert categories

DPA provides the following alert categories:

  • Wait Time alerts are triggered when wait time exceeds a user-defined threshold, or when wait time is much higher than expected (an anomaly).

  • Resources alerts are triggered when a resource metric, such as CPU utilization or memory usage, exceeds its threshold.

  • Administrative alerts are used to monitor the health of the database system.

  • Custom alerts are user-defined SQL statements or stored procedures that are run against the monitored database or the DPA repository.

DPA Wait Time alert types

For Wait Time alerts, DPA evaluates the amount of wait time that occurred during each alert execution interval. An alert is triggered if the wait time during an interval exceeds the specified threshold.

To create a Wait Time alert, see Configure a DPA Wait Time alert.

Alert type DB type Description
Database Instance Wait Time Anomaly All Alerts you when the wait time of an instance was abnormally high during the most recently completed hour. The wait time status is calculated at the top of each hour using the DPA anomaly detection algorithm.
Total Database Instance Wait Time All Alerts you when the total wait time for an entire database instance exceeds the threshold.
Total SQL Wait Time for a Single SQL All Alerts you when the total execution time for the specified SQL statement exceeds the threshold.
Average Wait Time for a Single SQL All Alerts you when the average execution time for the specified SQL statement exceeds the threshold.
Total SQL Wait Time for Single Wait All Alerts you when the total wait time for the specified wait type or event exceeds the threshold.
Total SQL Wait Time - Program All Alerts you when the total execution time for SQL statements executed by the specified program or application exceeds the threshold.
Total SQL Wait Time - Database User All Alerts you when the total execution time for SQL statements executed by the specified database user exceeds the threshold.
Total SQL Wait Time - O/S User All Alerts you when the total execution time for SQL statements executed by the specified operating system (OS) user exceeds the threshold.
Total SQL Wait Time - Machine All Alerts you when the total execution time for SQL statements executed on the specified computer exceeds the threshold.
Total SQL Wait Time - Database SQL Server, MySQL, PostgreSQL, Db2 Alerts you when the total execution time for the specified database in an instance exceeds the threshold.
Total SQL Wait Time - Custom for Oracle Oracle

Alerts you when the total wait time for any combination of the following exceeds the threshold: 

  • Specified wait type or event
  • Specified SQL statement
  • SQL statements executed by the specified program or application
  • SQL statements executed by the specified database user
  • SQL statements executed by the specified OS user
  • SQL statements executed on the specified computer
Total SQL Wait Time - Custom for SQL Server/Azure SQL MI/Sybase SQL Server, ASMI, Sybase

Alerts you when the total wait time for any combination of the following exceeds the threshold: 

  • Specified wait type or event
  • Specified SQL statement
  • SQL statements executed by the specified program or application
  • SQL statements executed by the specified database user
  • SQL statements executed on the specified computer
  • Specified database in an instance
Total SQL Wait Time - Custom for Azure SQL Database Azure SQL Database

Alerts you when the total wait time for any combination of the following exceeds the threshold: 

  • Specified wait type or event
  • Specified SQL statement
  • SQL statements executed by the specified program or application
  • SQL statements executed by the specified database user
  • SQL statements executed on the specified computer
Total SQL Wait Time - Custom for MySQL MySQL

Alerts you when the total wait time for any combination of the following exceeds the threshold: 

  • Specified wait type or event
  • Specified SQL statement
  • SQL statements executed by the specified program or application
  • SQL statements executed by the specified database user
  • SQL statements executed on the specified computer
  • Specified database in an instance
  • Wait events associated with the specified wait instrument
  • SQL statements that perform the specified operation, such as select or fetch
Total SQL Wait Time - Custom for Db2 Db2

Alerts you when the total wait time for any combination of the following exceeds the threshold: 

  • Specified wait type or event
  • Specified SQL statement
  • SQL statements executed by the specified program or application
  • SQL statements executed on the specified computer
  • Specified database (the Database field is ignored when a single database is being monitored)
Total SQL Wait Time - Custom for PostgreSQL PostgreSQL

Alerts you when the total wait time for any combination of the following exceeds the threshold: 

  • Specified wait type or event
  • Specified SQL statement
  • SQL statements executed by the specified program or application
  • SQL statements executed by the specified database user
  • SQL statements executed on the specified computer
  • Specified database in an instance
RAC Overhead Wait Time Oracle Alerts you when the total wait time for RAC events exceeds the threshold.
Total Blocking Wait Time Oracle, SQL Server, Azure SQL DB, ASMI, Sybase, MySQL, PostgreSQL Alerts you when the amount of time that sessions waited due to blocking exceeds the threshold. Wait time due to blocking is shown on the Blocking tab.

DPA Resources alert types

For Resources alerts, DPA looks at the metric values collected during each execution interval and applies the calculation that you specify in the alert definition (percentage, average, median, maximum, or minimum). An alert is triggered if the resulting calculated value exceeds the specified threshold.

Resource alert types apply to any database type.

To create a Resources alert, see Configure a DPA Resources alert.

Alert type Description
Single Resource Metric Alerts you if the calculated value for a specific resource metric exceeds the threshold.
All Metrics in a Category Alerts you if the calculated value for all resource metrics a category exceeds the threshold.

DPA Administrative alert types

Alerts in the Administrative category are triggered when DPA detects certain conditions or events.

To create an Administrative alert, see Configure a DPA Administrative alert.

Alert type DB type Description
Database Instance Availability All Alerts you if a monitored database instance is not available. DPA determines availability by attempting to connect to the instance.
Database Freespace SQL Server, Azure SQL DB, ASMI, Sybase, Db2 Alerts you if the percentage of free space in any database in the instance (or in the single database for Azure SQL databases) falls below the threshold.
Database Instance Parameter Changes All Alerts you if any database instance parameter settings are changed.
Tablespace Freespace Oracle, Db2 Alerts you if the percentage of free space in any tablespace in the monitored instance falls below the threshold. For Db2, only database-managed tablespaces (DMS) are evaluated.
Transaction Log Freespace SQL Server, ASMI, Sybase, Db2 Alerts you if the percentage of free space in the transaction log of any database in the instance falls below the threshold.
Oracle PDB Move Oracle Alerts you when a monitored PDB database instance is moved to or from a CDB container.
Oracle PDB Instance Availability Oracle Alerts you if a monitored PDB database instance is not available. DPA determines availability by attempting to connect to the instance.
Oracle Alert Log Entries Oracle 11g and later Alerts you when the alert log contains more than the minimum number of occurrences of the specified string. DPA searches for the specified string in the alert log (from the x$dbgalertext table) and returns all unique matching entries and the count of each entry. The thresholds for each alert level specify the minimum and maximum number of occurrences for that level.
Oracle Long Running Transaction Oracle Alerts you when a transaction runs for more than the number of seconds specified by the threshold.
Oracle Percent Redo Logs Unarchived Oracle Alerts you when the percentage of unarchived redo logs exceeds the threshold.
Oracle Redo Log Switching Frequency Oracle Alerts you if the number of redo log switches during an execution interval exceeds the threshold. To avoid alerts during periods when frequent log switches are expected, you can specify a time range to include or exclude.
Oracle Session Limit Oracle Alerts you if the percentage of active sessions exceeds the threshold. To determine the percentage of active sessions, DPA compares the number of active sessions to the maximum number of sessions. The maximum number of sessions is configured in the v$parameter 'sessions' row.
Oracle Stale Statistics Oracle 10g and later

Alerts you if tables or indexes have stale or empty statistics. You can specify schemas to include or exclude. The alert notification lists all tables and indexes (in included schemas) that have stale or empty statistics.

To avoid repetitive alerts, SolarWinds recommends that you increase the execution interval for this alert to at least one day.

Oracle Archiver Errors Oracle Alerts you if the archiver process receives an error while trying to archive a redo log or if the online log files are not being archived. If the problem is not resolved quickly, the database stops executing transactions. This alert is typically triggered when the destination device is out of space to store the redo log file.
Windows Service Not Running - SQL Server SQL Server 2005 and later Alerts you if the specified Windows service is not running in the selected SQL Server database instances.
SQL Server Abnormal Mirroring Status SQL Server 2005 and later Alerts you if the SQL Server mirroring status is anything other than Synchronized.
SQL Server Availability Group Failover SQL Server 2012 and later Alerts you if an availability group has failed over from one instance to another.
SQL Server Availability Group Status Change SQL Server 2012 and later Alerts you if an availability group has had a change in status to Partially Healthy or Not Healthy. An Alert Level of High indicates Not Healthy and Medium indicates Partially Healthy.
SQL Server Deadlocks SQL Server 2008 and later, ASMI Alerts you if the number of deadlocks that occurred on an instance exceeds the threshold.
SQL Server Error Log Alert SQL Server 2005 and later, ASMI Alerts you if error logs contain a specified string or pair of strings.
SQL Server/Azure SQL Ineffective Statistics SQL Server 2005 and later, ASMI, Azure SQL DB

Alerts you if indexes have ineffective statistics. It uses criteria such as time since last stats update, percent of rows changed, and table size. You can specify database to include or exclude. The alert notification lists all indexes (in included databases) with ineffective statistics.

To avoid repetitive alerts, SolarWinds recommends that you increase the execution interval for this alert to at least one day.

SQL Server Job Failure SQL Server, ASMI Alerts you if a job fails. The alert notification reports all jobs that failed since the last time this alert was executed.
SQL Server Backup Frequency SQL Server Alerts you if the number of days since the last backup of the specified type (full, differential, or transaction log) exceeds the threshold.
SQL Server Recovery Backup Assets Size SQL Server Alerts you if the size of all backup assets required to recover a database exceeds the threshold.
SQL Server Backup Jobs Running SQL Server Alerts you if the number of currently running backup jobs for a specified database instance exceeds the threshold.
SQL Server Backup Time Allotted SQL Server Alerts you if the time required to complete the last backup of the specified type (full, differential, or transaction log) exceeds the threshold.
SQL Server Log has Many Virtual Logs SQL Server 2005 and later, ASMI Alerts you if the number of Virtual Logs in any database exceeds the threshold. To limit the result set and reduce the required DPA Repository space, set the Minimum number of virtual logs.
SQL Server Long Running Jobs SQL Server 2005 and later, ASMI Alerts you if any jobs (in SQL Agent) are running longer than two standard deviations from the mean execution time based on previous execution times.
DPA Database Instance Monitor Errors All Alerts you if any errors occurred while monitoring a database instance.
DPA Resource Collection Errors All Alerts you if any errors occurred while collecting resource data for a database instance.
MySQL Temporary Tables Creation Rate MySQL Alerts you if the number of temporary tables created per second exceeds the threshold.
MySQL Temporary Tables on Disk Creation Rate MySQL Alerts you if the number of temporary tables created on disk per second exceeds the threshold.
MySQL Schema Freespace MySQL Alerts you if the percentage of free space in any schema exceeds the threshold. Free space is occupied by the MySQL database, but it is not being used.
MySQL Table Freespace MySQL Alerts you if the percentage of free space in any table exceeds the threshold. Free space is occupied by the MySQL database table, but it is not being used.
MySQL Oversized Index MySQL Alerts you if any table has defined indexes that occupy more overall space than the percentage specified as the threshold.
MySQL Tables Missing Primary Key MySQL This alert determines if any of the MySQL tables does not have PK defined
MySQL Latest Deadlock Alert MySQL Alerts you if there is an unseen deadlock in a database.
MySQL InnoDB Buffer Pool Utilization Alert MySQL Alerts you if the percentage of free buffer pages is below the threshold. Data reflects activity against tables managed by the InnoDB (or an InnoDB-based) storage engine.
MySQL InnoDB Log File Size Alert MySQL Alerts you if the REDO log file size is below the threshold. Data reflects activity against tables managed by the InnoDB (or an InnoDB-based) storage engine.
MySQL File Sorts on Disk Alert MySQL Alerts you if a database instance frequently sorts to disk instead of performing the sort in memory. The alert is triggered if the number of disk sorts during an execution interval exceeds the threshold.
MySQL Replication Seconds Behind Master Alert MySQL Alerts you if the replication (slave) instance is more than the specified number of seconds behind the master.
MySQL Replication Threads Availability Alert MySQL Alerts you if the replication (slave) MySQL database threads (I/O and slave) are unavailable.
MySQL Redundant Indexes Alert MySQL Alerts you if any tables in a database instance contain redundant indexes.
MySQL Duplicate Indexes Alert MySQL Alerts you if any tables in a database instance contain duplicate indexes.
PostgreSQL Autovacuum Status PostgreSQL Alerts you if the autovacuum daemon is OFF. The autovacuum daemon helps prevent table bloat.
PostgreSQL Track Counts Status PostgreSQL Alerts you if the track_counts setting is OFF. The track_counts setting must be ON to allow PostgreSQL to collect statistics on database activity. The autovacuum daemon requires these statistics.
PostgreSQL Track Activities Status PostgreSQL Alerts you if the track_activities setting is OFF. The track_activities setting enables tracking of currently executing SQL statements, and it must be ON to allow DPA to monitor the database instance.

DPA Custom alert types

Custom alerts are triggered based on the value(s) returned by a user-defined SQL statement or stored procedure. Custom alerts apply to all database types.

To create a Custom alert, see Configure a DPA Custom alert.

Alert type Description
Custom SQL Alert - Single Numeric Return Executes a user-defined SQL statement that returns a single numeric value. The alert is triggered if the value exceeds a threshold.
Custom SQL Alert - Multiple Numeric Return Executes a user-defined SQL statement that returns one or more rows with a string in the first column and a numeric value in the second column. The alert is triggered if any numeric value exceeds a threshold.
Custom SQL Alert - Single Boolean Return Executes a user-defined SQL statement that returns a single string value of TRUE or FALSE (not case-sensitive). The alert is triggered if the SQL statement returns TRUE.
Custom SQL Alert - Single Alert Status Return Executes a user-defined SQL statement that returns a single string value that specifies the alert status. Valid values are NORMAL, INFO, LOW, MEDIUM, and HIGH (not case-sensitive).
Custom Procedure Alert - Single Numeric Return Executes a user-defined stored procedure that returns a single numeric value. The alert is triggered if the value exceeds a threshold.
Custom Procedure Alert - Single Boolean Return Executes a user-defined stored procedure that returns a single string value of TRUE or FALSE (not case-sensitive). The alert is triggered if the stored procedure returns TRUE.
Custom Procedure Alert - Single Alert Status Return Executes a user-defined stored procedure that returns a single string value that specifies the alert status. Valid values are NORMAL, INFO, LOW, MEDIUM, and HIGH (not case-sensitive).