Data row compression of PSA tables in DB2 f. Linux, UNIX and Windows
Message type: E = Error
Message class: RSRV -
Message number: 583
Message text: Data row compression of PSA tables in DB2 f. Linux, UNIX and Windows
Description
This test checks if the DB2 for Linux, UNIX and Windows data row
compression feature is enabled for PSA tables. Data row compression is
available in version 9 of DB2 for Linux, UNIX, and Windows (in the
following referred to as DB2 LUW).
Data row compression uses a static dictionary-based compression
algorithm. It allows the replacement of repeating patterns that span
multiple column values within a row containing shorter symbol strings.
With data row compression, you can save disk space, reduce disk I/O and
reduce data access times.
The test checks the following information that is related to DB2 LUW
data row compression for a PSA table:
Is row compression enabled?
What is the size of the data object of the table?
Does the table have a compression dictionary?
If the table has a compression dictionary, is the size in KB or bytes
checked?
The test returns status "red" if the PSA table has the following
features:
Data row compression enabled
The size of the data object exceeds 1 MB on each database partition
where the table resides
The table does not have a compression dictionary
Otherwise, the status is "green".
Repair
If the status of the PSA table is "red", the repair function schedules
one of the following jobs:
An offline reorganization job
Offline reorganization creates and stores a compression dictionary and
compresses all existing rows in the table.
A job that calls the DB2 LUW INSPECT command.
The INSPECT command uses a sampling technology to estimate the amount of
disk space that can be saved and to create and store a compression
dictionary. Existing data is not compressed but data that will be
inserted or updated in the future will be compressed. INSPECT is much
faster than offline reorganization because it only processes a sample of
the data.
You are prompted if you want to run offline reorganization or INSPECT.
The RSADMIN parameter DB6_ROW_COMPRESSION controls whether InfoCube and
aggregate fact tables, DataStore object tables and PSA tables are
created with data row compression enabled.
Data rows can only be compressed if you have created a compression
dictionary. You need to load at least a small amount of data (1 MB per
database partition on which the table resides) before a compression
dictionary can be created. If you create the compression dictionary with
a larger data volume, the compression factor might be higher.
The standard procedure in SAP NetWeaver 2004s is as follows:
By default, data row compression is disabled. If you want InfoCube and
aggregate fact tables, DataStore object and PSA tables to be created
with data row compression enabled, you must set the RSADMIN parameter
<ZH>DB6_ROW_COMPRESSION</> to <ZK>YES</>. For releases higher than SAP
NetWeaver 2004s, the default value for <ZH>DB6_ROW_COMPRESSION</> is
<ZK>YES</>.
You load one or more data requests into the tables (at least 1 MB of
data multiplied by the number of database partitions where the table
resides).
To create a compression dictionary for tables that do not have one yet,
you run this RSRV test and choose <ZK>Repair</> for scheduling an
offline reorganization or an INSPECT.
The data rows of very narrow tables might be too small to be compressed.
In this case, the job log of the offline reorganization contains the SQL
warning -2220 "The compression dictionary was not built for one or more
data objects". The INSPECT job log contains the message "No dictionary
can be built for DAT object as no eligible rows were found". You cannot
use data row compression for these tables. We recommend that you disable
data row compression manually for them at the database level with the
ALTER TABLE statement.
What causes this issue?
The system issues an error message and will not allow you to continue with this transaction until the error is resolved.
Error message extract from SAP system. Copyright SAP SE.
Related Error Messages
RSRV582 Data row compression of InfoProviders in DB2 f. Linux, UNIX and Windows
RSRV581 &1 is a write-optimized DataStore object. The check is not supported.
RSRV600 Multibyte/Unicode Text Analysis and repair
RSRV601 Multibyte/Unicode Text Analysis and repair: BEx Objects for Language &1