Trail File Header Record
Each file of a trail contains a file header record that is stored at the beginning of the file. The file header contains information about the trail file itself. Previous versions of Oracle GoldenGate do not contain this header.
The file header is stored as a record at the beginning of a trail file preceding the data records. The information that is stored in the trail header provides enough information about the records to enable an Oracle GoldenGate process to determine whether the records are in a format that the current version of Oracle GoldenGate supports.
The trail header fields are stored as tokens, where the token format remains the same across all versions of Oracle GoldenGate. If a version of Oracle GoldenGate does not support any given token, that token is ignored. Depracated tokens are assigned a default value to preserve compatibility with previous versions of Oracle GoldenGate.
To ensure forward and backward compatibility of files among different
Oracle GoldenGate process versions, the file header fields are written in a
standardized token format. New tokens that are created by new versions of a process
can be ignored by older versions, so that backward compatibility is maintained.
Likewise, newer Oracle GoldenGate versions support older tokens. Additionally, if a
token is deprecated by a new process version, a default value is assigned to the
token so that older versions can still function properly. The token that specifies
the file version is COMPATIBILITY
and can be viewed in the Logdump
utility and also by retrieving it with the GGFILEHEADER
option of
the @GETENV
function.
A trail or Extract file must have a version that is equal to, or lower than, that of the process that reads it. Otherwise the process will abend. Additionally, Oracle GoldenGate forces the output trail or file of a data pump to be the same version as that of its input trail or file. Upon restart, Extract rolls a trail to a new file to ensure that each file is of only one version (unless the file is empty).
From Oracle GoldenGate 21c onward, for Oracle databases,
you can specify a globally unique name for the database using the
DB_UNIQUE_NAME
parameter. If this database parameter is not
set, then the DB_UNIQUE_NAME
is the same as
DB_NAME
. This feature allows unique identification of the
source of the trail data by viewing the trail file header.
Note:
TheDbUniqueName
token will be written to trail files with 19.1
compatibility level, however prior Oracle GoldenGate releases supporting that
compatibility level will ignore the new token. The token belongs to the Database
Information group. The field will be limited to 65536 bytes, to allow fitting
all possible values of DB_UNIQUE_NAME
, limited to 30
characters.
Because the Oracle GoldenGate processes are decoupled and can be of different Oracle
GoldenGate versions, the file header of each trail file contains a version
indicator. By default, the version of a trail file is the current version of the
process that created the file. If you need to set the version of a trail, use the
FORMAT
option of the EXTTRAIL
,
EXTFILE
, RMTTRAIL
, or RMTFILE
parameter.
You can view the trail header with the FILEHEADER
command in the Logdump utility. For more information about the tokens in the file
header, see Logdump Reference for Oracle GoldenGate.