UPDATERECORDFORMAT
Valid For
Extract for all databases. This parameter can only be used in a
TRANLOG
Extract. It cannot be used in an Extract pump or
distribution service.
Description
Use the UPDATERECORDFORMAT
parameter to cause Extract to combine the before and after images of an UPDATE
operation into a single record in the trail. It is valid for Extract in classic and integrated capture modes; it is valid for a master Extract though is not valid for pump Extract.
Before images are generated when the GETUPDATEBEFORES
, GETBEFORECOLS
, and LOGALLSUPCOLS
parameters are used. (In the case of an update to a primary key, unique index, or user-specified KEYCOLS
key, the before and after images are stored in the same record by default. UPDATERECORDFORMAT
does not apply in these cases.) The NOCOMPRESSUPDATES
parameter is required for non-Oracle databases.
When two records are generated for an update to a single row, it incurs additional disk I/O and processing for both Extract and Replicat. If supplemental logging is enabled on all columns, the unmodified columns may be repeated in both the before and after records. The overall size of the trail is larger, as well. This overhead is reduced by using UPDATERECORDFORMAT
.
When UPDATERECORDFORMAT
is used, Extract writes the before and after images to a single record that contains all of the information needed to process an UPDATE
operation. In addition to improving the read performance of downstream processes, this enables column mapping functions to access the before and after column values at the same point in time, rather than having to cache the before image column values while reading the after values.
UPDATERECORDFORMAT
takes effect for all TABLE
statements in the parameter file.
If you specify both UPDATERECORDFORMAT
and FORMAT RELEASE
11.x
or earlier, then Extract will abend.
Note:
Many-columned tables can cause the trail record to reach its maximum size when UPDATERECORDFORMAT
is used. The rest of the record is continued in one or more additional, chained record fragments. This has a minor effect on processing performance.
Note:
INSERTALLRECORDS
only works with UPDATERECORDFORMAT
FULL
. So if you are using INSERTALLRECORDS
in
Replicat, you must set UPDATERECORDFORMAT FULL
in the
Extract.
Default
UPDATERECORDFORMAT COMPACT
Syntax
UPDATERECORDFORMAT [FULL | COMPACT]
-
FULL
-
Generates one trail record that contains the before and after images of an
UPDATE
, where the before image includes all of the columns that are available in the transaction record for both the before and after images. When viewed in the Logdump utility, this record appears asGGSUnifiedUpdate
. -
COMPACT
-
Generates one trail record that contains the before and after images of an
UPDATE
, where the before image includes all of the columns that are available in the transaction record, but the after image is limited to the primary key columns and the columns that were modified in theUPDATE
.UPDATERECORDFORMAT COMPACT
is recommended for configurations that include an integrated Replicat. This is the default.When either
FULL
orCOMPACT
are viewed in the Logdump utility, the record appears asGGSUnifiedUpdate
. The record contains the following:-
a header
-
the length of the before image
-
the before values of each column
-
the after values of the primary key, unique index, or
KEYCOLS
columns -
the after values of the modified columns
-
internal token data
-
Example
UPDATERECORDFORMAT COMPACT