15.00 - Memory Limitations and Partitioning - Teradata Database

Teradata Database Design

prodname
Teradata Database
vrm_release
15.00
category
User Guide
featnum
B035-1094-015K

Memory Limitations and Partitioning

Error Messages for Memory Limitations for Partitioning

You might encounter several different memory limitations when working with partitioned tables. The following table documents the relevant error messages.

 

Message Number

Problem

Possible Cause

Remedy

3708

Table header size limit exceeded

Too many columns in the table.

If possible, reduce the number of columns in the table.

Too many distinct values compressed in the table.

If possible, reduce the number of compressed values.

Partitioning expressions are too complex.

Simplify the partitioning expressions or reduce their number.

If possible, use RANGE_N instead of CASE_N.

3710

Parser memory size limit exceeded.

The limit is variable and is determined by the value of the MaxParseTreeSegs field in DBS Control.

Current values for DBS Control parameters do not allocate enough parser memory to process the request.

Change the values for the following DBS Control fields to the specified settings:

  • If the problem occurs with partitioned tables that do not have either hash or join indexes, change the value for MaxParseTreeSegs to this value.
  • 2000 for byte‑packed format systems
  • 4000 for byte‑aligned format systems
  • If the problem occurs with partitioned tables that have either hash indexes or join indexes or both, change the value for MaxParseTreeSegs to this value.
  • 2000 for byte‑packed format systems
  • 4000 for byte‑aligned format systems
  • and contact Teradata Support.

    You might find that your query workloads that require these values need to be increased still further.

    See Utilities: Volume 1 (A-K) for information about how to change the value for MaxParseTreeSegs in the DBS Control record.

    Parser memory size limit exceeded.

    Partitioning expressions are too complex.

    Simplify the partitioning expressions or reduce their number.

    If possible, use RANGE_N instead of CASE_N.

    3891

    Check if the partitioning CHECK constraint text size limit is exceeded.

    The partitioning CHECK constraint text is derived from the partitioning expressions for the partitioning.

    Text for the partitioning expressions in the partitioning definition is too long.

    Reduce the partitioning constraint text to 16,000 or fewer characters.

    30 characters of the 16,000 character limit for table constraints, partitioning constraints, and named constraints apply to the following constraint for a single‑level partitioning: CHECK ((partitioning_expression) BETWEEN 1 AND 65535). This defines the limit for the partitioning expression text to be 6,000 - 30 = 15,970 characters.

    For multilevel partitioning, with a minimum partitioning constraint of CHECK (/*nn/* partitioning_expression_1 IS NOT NULL AND partitioning_expression_2 IS NOT NULL), the constraint is a minimum of 48 characters in length, so the minimum limit for the partitioning expression text is 16,000 - 48 = 15,952. Each additional partition beyond 2 subtracts another 19 characters from the minimum of 15,952.

    3930

    The dictionary cache is full.

    Dictionary cache is too small.

    Increase size of dictionary cache to 1 MB.

    Because the default size of the dictionary cache is 1 MB, the only reason you might need to do this is if the DBA has reduced the size of the dictionary cache to something less than its default.