Documentation forDatabase Performance Analyzer

DPA 2022.4 release notes

Release date: October 18, 2022

These release notes describe the new features, improvements, and fixed issues in Database Performance Analyzer 2022.4. They also provide information about upgrades and describe workarounds for known issues.

Learn more

New features and improvements in DPA

Return to top

DPA 2022.4 offers new features and improvements compared to previous releases of DPA.

Importing and exporting alerts, rules, and custom properties

If you have multiple DPA servers, they can share the following custom entities:

  • Custom properties that can be used in alert notification templates
  • Rules that determine which database instances are assigned to alerts
  • Alerts

You can export custom entities from one server and import them to another. In a large deployment, use this capability to implement a common set of alerts, rules, and custom properties on all servers. You can also use it to ensure that a testing or staging environment matches the production environment. In addition, exporting custom entities to a file provides a backup of your custom entities.

New alerts for PostgreSQL instances

The following Administrative alerts are available for PostgreSQL instances.

Alert type Description
PostgreSQL Total Table Bloat in Database This alert warns you if the percentage of bloat (unused space that was not reclaimed) exceeds a threshold.
PostgreSQL Collect Database Size This alert collects the size of each database in a PostgreSQL cluster. This alert is never triggered. The collected data is used as input for the PostgreSQL Database/Table Percentage Growth alert.
PostgreSQL Collect Relation Table Size This alert collects the size of each relation (table) in a PostgreSQL cluster. This alert is never triggered. The collected data is used as input for the PostgreSQL Database/Table Percentage Growth alert.
PostgreSQL Database/Table Percentage Growth This alert warns you if the size of the database or the size of all relations increase by more than the specified percentage during an execution interval. Depending on which size you are monitoring, the PostgreSQL Collect Database Size alert or the PostgreSQL Collect Relation (Table) Size alert must also be configured.

PostgreSQL Administrative alerts that can collect data from multiple databases

The following PostgreSQL Administrative alerts can be configured to use data from multiple databases:

  • PostgreSQL Last Analyze
  • PostgreSQL Last Auto Analyze
  • PostgreSQL Last Vacuum
  • PostgreSQL Last AutoVacuum
  • PostgreSQL Long Running Vacuum
  • PostgreSQL Long Running Query
  • PostgreSQL Dead Tuple
  • PostgreSQL Total Idle in Transaction Connections
  • PostgreSQL Total Connections
  • PostgreSQL User Role Expiry

The default PostgreSQL implementation does not support cross-database queries. If you want an alert to be triggered based on data from multiple databases, you must configure a foreign data wrapper. A foreign data wrapper is an extension available in PostgreSQL that allows you to access data from multiple databases.

CPU metrics for PostgreSQL instances

The following CPU metrics are available for PostgreSQL instances. To collect them, DPA requires the system_stats extension to be installed in the PostgreSQL instance.

Metric Description
Host CPU Utilization The percentage of CPU being used by the entire database server host. If this is high, compare this metric to the Instance CPU Utilization metric. If the instance is not using a significant portion of total CPU, review other programs running at this time.
Instance CPU Utilization The percentage of CPU being used by the database instance, which is a subset of the CPU used by the host. If this is high, use DPA Trends charts to review queries waiting on CPU.

Encrypting the keystore password stored in the Tomcat server configuration file

By default, the keystore password is stored as plain text in the Tomcat server configuration file used by DPA (DPA-install-dir/iwc/tomcat/conf/server.xml). DPA now provides a utility that you can use to encrypt the password. For more information, see Encrypt the keystore password for SSL/TLS in the Tomcat server configuration file used by DPA.

SAML configuration changes

If you configured DPA 2022.3 for SAML authentication, be aware of the following changes:

  • DPA must run on an HTTPS connection, and it must be configured to use SSL to protect data during transmission. To enable SSL for DPA, see Configure DPA to use a custom certificate for SSL/TLS.

  • The URLs have changed. No one can log in with SAML until you update your configuration.

Before you upgrade to DPA 2022.4, make sure you have a local login available. After upgrading, log in as a local user and complete the following steps to update the SAML configuration.

  1. Get the updated values from DPA:
    1. Log in to DPA as a user with administrative privileges.

    2. From the DPA menu in the upper-right corner, click Options.

    3. Under Administration > Users & Contacts, click Configure SAML.

      On the Prepare Identify Provider (IdP) page, the following information is automatically added:

      • DPA URL
      • Audience URI
      • Single Sign On Service URL
      • Default RelayState

      You will copy and paste this information into the configuration in Okta.

    4. Keep DPA open, and continue in Okta.
  2. Update the values in Okta:
    1. Log in to your Okta organization with administrative privileges.
    2. In the left pane of the Admin Console, click Applications.
    3. Select the DPA application.
    4. Click the General tab, and then click Edit.
    5. Update the following fields by copying and pasting the values from DPA:

      DPA fieldOkta field
      Single Sign On Service URLSingle sign on URL
      Audience URIAudience URI (SP Entity ID)
      Default RelayStateDefault RelayState (Optional)

Oracle repository creation without providing a user with the DBA role

DPA requires the credentials of a privileged user to create an Oracle repository. In previous versions, the privileged user was required to have the DBA role . You can now select a privileged user without the DBA role, as long as the user has the following permissions.

Permission Description Grant level
CREATE_SESSION Required to create a connection to the database. User or role level
SELECT_ANY_DICTIONARY Required to access views in the SYS schema for performance tuning. User or role level
CREATE_TABLE Required to create repository tables. User or role level
CREATE_SEQUENCE Required to create sequences in repository tables. User or role level
UNLIMITED_TABLESPACE Required to create repository tables. This privilege is not needed if the repository user has privileges to use the tablespace provided in a request. User level

Updated jQuery library

The jQuery UI library used in DPA has been updated to the latest version.

New format for the DPA version number

The DPA version number now includes four sections. The complete version number for this version is 2022.4.0.72, where:

  • Section 1 is the major version (2022).
  • Section 2 is the minor version (4).
  • Section 3 identifies a service release, hotfix, or buddy drop (0).
  • Section 4 is the build number (72).

Fixed issues in DPA 2022.4

Return to top

DPA 2022.4 fixes the following issues.

Case number Description
00321771

The keystore password is no longer required to be stored as plain text in the Tomcat server configuration file used by DPA. DPA provides a utility to encrypt it.

01071264

When you are creating an Oracle repository, the required permissions can be granted to the repository user through a role. They do not have to be granted directly.

N/A

If the index advisor recommends indexing a table, and then that table is deleted or renamed, DPA no longer returns an error when you attempt to open the index advisor.


New customer installation

Return to top

For information about installing DPA, see the DPA Installation and Upgrade Guide. You can download a free trial from the SolarWinds website.

Before you upgrade!

If you configured DPA 2022.3 for SAML authentication, be aware that DPA 2022.4 includes changes to the SAML configuration. After the upgrade, no one will be able to log in with SAML until you update the configuration.

  • Before you upgrade to DPA 2022.4, make sure you have a local login available.

  • After the upgrade, log in as a local user and complete the steps under SAML configuration changes to update the SAML configuration.

How to upgrade

If you are upgrading from an earlier version, use the following resources to plan and implement your upgrade:


Known issues

Return to top

The database name is not updated for stored procedures
Issue

If a stored procedure name includes the name of a database and it is copied to a different database, the database name is not updated. When DPA shows information about the copied stored procedure, the hash is the same as the first and the information appears to be incorrect.

Resolution or Workaround

If you experience this issue, complete the following steps:

  1. Run the following command against the DPA repository database (replacing <HashValue> with the stored procedure's hash value):

    delete from ignite.CONST_<DBID> where H = '<HashValue>'

  2. Restart DPA.
Registering an Azure SQL database instance fails when the privileged user is an Azure AD user
Issue

When registering an Azure SQL database, if you let DPA create the monitoring user and select an Azure Active Directory (AD) user as the privileged user, registration fails on the last step with the message Connection test to database as monitoring user failed.

Resolution or Workaround Select the option 'I'll create the contained user or login', and follow the instructions to create the monitoring user manually.
SQL Server cannot be registered using TLS 1.0
Issue

During registration, SQL Server might return the following error in the registration wizard:

TLS handshake failed. Could not connect to the server using SSL.

This is accompanied by the following error in the wizard.log:

The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]

This happens because the server (for example, a server running SQL Server 2008 R2) is not patched to a version that supports newer TLS 1.2 or 1.3, which DPA requires for secure communication. This requirement is inherited from the JDK shipped with DPA, which disables TLS 1.0 and 1.1 by default. This occurs in JDK 11.0.11 and later.

Resolution or Workaround

To resolve this issue, patch SQL Server to a newer Service Release or Cumulative Update that contains support for TLS 1.2 or later. See this Microsoft support article for information about each SQL Server version.

If you cannot apply the resolution, you can use the following as a workaround and continue using TLS 1.0. (This workaround is not recommended because it reduces security.)

  1. Open the following file in a text editor (or the corresponding file if you are using custom Java):

    <DPA_Home>\iwc\jre\conf\security\java.security

  2. Find jdk.tls.disabledAlgorithms.

  3. Remove TLSv1, TLSv1.1. Then save the changes.

  4. Restart DPA.

The DPA Options page does not open
Issue

If the file containing the DPA SQL authentication password is misconfigured, the DPA Options page does not open. This file can become misconfigured when password protection for DPA features that allow custom SQL is configured, and a password containing '<' or '>' characters was not enclosed with CDATA when it was entered.

Resolution or Workaround
  1. Open the following file in a text editor:

    <DPA-install-dir>\iwc\tomcat\ignite_config\iwc\security\sqlauth.xml

  2. Look for invalid XML such as the following (shown in red):

    <entry key="sql.authentication.password">
       <![USER_PASSWORD]]<
    >/entry>

  3. Reenter the password enclosed in CDATA, and edit the XML so that it is valid. For example:

    <entry key="sql.authentication.password">
      <![CDATA[MyPasswordWith<SpecialCharacters>]]>
    </entry>

  4. Save the file.

    Changes take effect immediately. The password in the sqlauth.xml file is encrypted the first time DPA prompts a user to enter it.

Creating the repository user when creating a MySQL 8.0 repository database
Issue

For MySQL 8.0, the default authentication plug-in has changed from mysql_native_password to caching_sha2_password. If you attempt to create a MySQL 8.0 repository database and allow DPA to create the repository user, the process fails because DPA cannot authenticate a user created with the default option.

Resolution or Workaround
  1. Create the repository user manually and specify that the mysql_native_password plugin be used to authenticate that user. For example:

    CREATE USER 'userName'@'localhost' IDENTIFIED WITH mysql_native_password BY 'userPassword';

    You can verify user creation by querying the mysql.user table:

    select user,host,plugin from mysql.user;

  2. Grant the required privileges to the user. See the GRANT statements in the script available through the Repository Creation Wizard.
  3. On step 2 of the Repository Creation Wizard, select Provide the repository user. Then enter the user name and password of the user you created.
Creating the monitoring user when registering a MySQL 8.0 database instance
Issue

For MySQL 8.0, the default authentication plug-in has changed from mysql_native_password to caching_sha2_password. If you attempt to register a MySQL 8.0 instance and allow DPA to create the monitoring user, registration fails because DPA cannot authenticate a user created with the default option.

Resolution or Workaround
  1. Create the monitoring user manually and specify that the mysql_native_password plugin be used to authenticate that user. For example:

    CREATE USER 'userName'@'localhost' IDENTIFIED WITH mysql_native_password BY 'userPassword';

    You can verify user creation by querying the mysql.user table:

    select user,host,plugin from mysql.user;

  2. Grant the required privileges to the user. See the GRANT statements in the script available through the Register Instance Wizard.
  3. On step 2 of the Register Instance Wizard, select I'll create the database user. Then enter the user name and password of the user you created.
Adding a distributed AG to a server prevents DPA from monitoring non-distributed AGs on the server
Issue

If DPA is monitoring non-distributed SQL Server Availability Groups (AGs) on a server and you add a distributed AG to the server, DPA stops monitoring the non-distributed AGs.

Resolution or Workaround Do not add a distributed AG to the server.
Microsoft reports incorrect metric values for SQL Server on Linux
Issue

When you monitor a SQL Server 2017 database instance that runs on a Linux server:

  • The O/S CPU Utilization resource always shows usage at 100%.
  • The Instance CPU Utilization resource always shows usage at 100%.
  • The O/S Memory Utilization resource always shows usage at 0%.

When you monitor a SQL Server 2019 database instance that runs on a Linux server:

  • The O/S CPU Utilization resource always shows usage at 100%.
  • In some cases, the Instance CPU Utilization resource always shows usage at 100%.

Microsoft reports these values.

Resolution or Workaround Disregard the values that are incorrect on your version of SQL Server. You can also disable the collection of a metric that shows incorrect data.
DPA fails to reconnect after losing its connection to a SQL Server instance
Issue

When DPA loses its connection to a monitored SQL Server instance (for example, when the DPA server is rebooted), and Windows authentication is used, DPA is sometimes unable to reconnect to the instance. This can happen if DPA attempts to connect before SQL Server has been able to connect to Active Directory. DPA interprets the rejected connection attempt as possibly occuring because the credentials were incorrect. To avoid being locked out of the account, DPA does not keep trying to reconnect. Messages such as the following appear in the logs:

Monitor for database [databaseName] failed to start due to [username and/or password must be updated due to previous login failure; if the credentials have not changed for this database, stop the monitor, wait for the monitor to stop, then start the monitor.].

Resolution or Workaround When the monitored instance is fully initialized, manually restart monitoring. On the DPA home page, click the Action drop-down menu for the instance and select Start Monitor.
Monitoring fails when a SQL Server AG is registered through the listener
Issue

When a SQL Server Availability Group (AG) is registered for monitoring through the listener, duplicate files collected through polling are not handled correctly in some situations, which can cause monitoring to fail. Errors such as the following can appear in the logs:

DEBUG (2021-04-03T17:16:50,214+0300) [repositoryManager-thread-23] {name=DBSERVER02 via AGLISTENER01} DatabaseMonitorJobListener:62 - Stopping monitor in SummaryPollJob

Resolution or Workaround If possible, register each instance separately instead of registering the listener. If that is not possible, then disable IO stats polling by setting the advanced option IO_STATS_POLL_ENABLED to False.
VM Host Disk metrics load slowly due to missing indexes on tables that store these metrics
Issue

Loading the Host Disk metrics on the Resources page may take a long time when the host has a large number of disks. On new DPA installations, indexes to avoid this issue are created in the DPA repository. But if you upgraded from DPA 2021.1 or earlier, these indexes must be created manually.

Resolution or Workaround
  1. From the DPA menu, click Options.
  2. Under Support > Utilities, click Review DPA Repo Schema.

    If your DPA is missing some indexes you are provided with a SQL script to manually create them.

  3. Follow the instructions on the page to create the missing indexes.
Repository growth due to missing indexes on tables storing the plans
Issue

DPA cleanup jobs might not run properly on tables storing the historical plans, causing the repository to grow. On new DPA installations, indexes to avoid this issue are created in the DPA repository. But if you upgraded from DPA 2021.1 or earlier, these indexes must be created manually.

Resolution or Workaround
  1. From the DPA menu, click Options.
  2. Under Support > Utilities, click Review DPA Repo Schema.

    If your DPA is missing some indexes you are provided with a SQL script to manually create them.

  3. Follow the instructions on the page to create the missing indexes.

End of life

Return to top

Version EoL Announcement EoE Effective Date EoL Effective Date
DPA 2021.3

October 18, 2022 End-of-Life (EoL) announcement - Customers on DPA version 2021.3 or earlier should begin transitioning to the latest version of DPA.

January 18, 2023 End-of-Engineering (EoE) - Service releases, bug fixes, workarounds, and service packs for DPA version 2021.3 or earlier will no longer actively be supported by SolarWinds. January 18, 2024 End-of-Life (EoL) - SolarWinds will no longer provide technical support for DPA version 2021.3 or earlier.
DPA 2021.1

October 18, 2022 End-of-Life (EoL) announcement - Customers on DPA version 2021.1 or earlier should begin transitioning to the latest version of DPA.

January 18, 2023 End-of-Engineering (EoE) - Service releases, bug fixes, workarounds, and service packs for DPA version 2021.1 or earlier will no longer actively be supported by SolarWinds. January 18, 2024 End-of-Life (EoL) - SolarWinds will no longer provide technical support for DPA version 2021.1 or earlier.
DPA 2020.2

October 18, 2022 End-of-Life (EoL) announcement - Customers on DPA version 2020.2 or earlier should begin transitioning to the latest version of DPA.

January 18, 2023 End-of-Engineering (EoE) - Service releases, bug fixes, workarounds, and service packs for DPA version 2020.2 or earlier will no longer actively be supported by SolarWinds. January 18, 2024 End-of-Life (EoL) - SolarWinds will no longer provide technical support for DPA version 2020.2 or earlier.
DPA 2019.4

August 26, 2021 End-of-Life (EoL) announcement - Customers on DPA version 2019.4 or earlier should begin transitioning to the latest version of DPA.

November 24, 2021 End-of-Engineering (EoE) - Service releases, bug fixes, workarounds, and service packs for DPA version 2019.4 or earlier will no longer actively be supported by SolarWinds. November 24, 2022 End-of-Life (EoL) - SolarWinds will no longer provide technical support for DPA version 2019.4 or earlier.
DPA 12.1

August 26, 2021 End-of-Life (EoL) announcement - Customers on DPA version 12.1 or earlier should begin transitioning to the latest version of DPA.

November 24, 2021 End-of-Engineering (EoE) - Service releases, bug fixes, workarounds, and service packs for DPA version 12.1 or earlier will no longer actively be supported by SolarWinds. November 24, 2022 End-of-Life (EoL) - SolarWinds will no longer provide technical support for DPA version 12.1 or earlier.

Deprecation notices

Return to top

This version of Database Performance Analyzer deprecates the following platforms and features.

Deprecated platforms and features are still supported in the current release. However, they will be unsupported in a future release. Plan on upgrading deprecated platforms, and avoid using deprecated features. 

Type Details
DPA server OS Installing DPA on a server with a Windows Server 2012 R2 operating system is still supported in 2022.4, but support will be removed in an upcoming release.

The scripts are not supported under any SolarWinds support program or service. The scripts are provided AS IS without warranty of any kind. SolarWinds further disclaims all warranties including, without limitation, any implied warranties of merchantability or of fitness for a particular purpose. The risk arising out of the use or performance of the scripts and documentation stays with you. In no event shall SolarWinds or anyone else involved in the creation, production, or delivery of the scripts be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the scripts or documentation.

Legal notices

Return to top

© 2022 SolarWinds Worldwide, LLC. All rights reserved.

This document may not be reproduced by any means nor modified, decompiled, disassembled, published or distributed, in whole or in part, or translated to any electronic medium or other means without the prior written consent of SolarWinds. All right, title, and interest in and to the software, services, and documentation are and shall remain the exclusive property of SolarWinds, its affiliates, and/or its respective licensors.

SOLARWINDS DISCLAIMS ALL WARRANTIES, CONDITIONS, OR OTHER TERMS, EXPRESS OR IMPLIED, STATUTORY OR OTHERWISE, ON THE DOCUMENTATION, INCLUDING WITHOUT LIMITATION NONINFRINGEMENT, ACCURACY, COMPLETENESS, OR USEFULNESS OF ANY INFORMATION CONTAINED HEREIN. IN NO EVENT SHALL SOLARWINDS, ITS SUPPLIERS, NOR ITS LICENSORS BE LIABLE FOR ANY DAMAGES, WHETHER ARISING IN TORT, CONTRACT OR ANY OTHER LEGAL THEORY, EVEN IF SOLARWINDS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

The SolarWinds, SolarWinds & Design, Orion, and THWACK trademarks are the exclusive property of SolarWinds Worldwide, LLC or its affiliates, are registered with the U.S. Patent and Trademark Office, and may be registered or pending registration in other countries. All other SolarWinds trademarks, service marks, and logos may be common law marks or are registered or pending registration. All other trademarks mentioned herein are used for identification purposes only and are trademarks of (and may be registered trademarks) of their respective companies.