Submit a ticketCall us

AnnouncementsFace your biggest database issues head-on

Our new eCourse helps you navigate SQL Server performance blocks by teaching you how to recognize and deal with the three DBA Disruptors: Performance Hog, Blame Shifter, and Query Blocker. Register today to learn how to defend your environment and fend off menacing disruptions.

Register for your free eCourse.

Home > Success Center > Database Performance Analyzer (DPA) > DPA - Knowledgebase Articles > DPA cannot collect an Oracle plan that includes a table name containing more than 50 characters

DPA cannot collect an Oracle plan that includes a table name containing more than 50 characters

Updated July 31, 2018

Overview

If an Oracle execution plan includes a table whose name contains more than 50 characters, DPA cannot collect the plan. The DPA column that stores the table name can store values of up to 50 characters. However, with Oracle 12c and later, table names can contain up to 128 characters. 

 

You can fix the issue by changing the definition of the DPA table column so that it holds longer values. 

Environment

  • DPA, all versions
  • Monitored instance of Oracle 12c or later

Cause 

Oracle increased the maximum length of table names to 128 characters. However, the OBJECT_NAME column in the CONPT_<monitored_db_id> table, where DPA stores these table names, cannot store values longer than 50 characters.

Resolution

  1. Issue the following SQL query against the DPA repository to get each monitored database ID:
    select ID from COND;
  2. Stop DPA.
  3. Issue the following command against the DPA repository to alter the table definition for each monitored database instance:
    ALTER TABLE conpt_<monitored_db_id MODIFY object_name VARCHAR2(128);
    where <monitored_db_id> is the database ID retrieved by the query in step 1. 
  4. Restart DPA.

 

 

Last modified

Tags

Classifications

Public