What is a Trail?
A trail is a series of files on disk where Oracle GoldenGate stores the captured changes to support the continuous extraction and replication of database changes.
A trail can exist on the source system, an intermediary system, the target system, or any combination of those systems, depending on how you configure Oracle GoldenGate. On the local system, it is known as an Extract trail (or local trail). On a remote system, it is known as a remote trail. By using a trail for storage, Oracle GoldenGate supports data accuracy and fault tolerance. The use of a trail also allows extraction and replication activities to occur independently of each other. With these processes separated, you have more choices for how data is processed and delivered. For example, instead of extracting and replicating changes continuously, you could extract changes continuously and store them in the trail for replication to the target later, whenever the target application needs them.
In addition, trails allow Oracle Database to operate in non-oracle environment. The data is stored in a trail file in a consistent format, so it can be read by Replicat process for all supported databases. For more information , see About the Oracle GoldenGate Trail.
Processes that Write to the Trail File:
In Oracle GoldenGate Classic, the Extract and the data pump processes write to the trail. Only one Extract process can write to a given local trail. All local trails must have different full-path names though you can use the same trail names in different paths.
Multiple data pump processes can each write to a trail of the same name, but
the physical trails themselves must reside on different remote systems, such as in a
data-distribution topology. For example, a data pump named pumpm and a data pump named
pumpn can both reside on sys01 and write to a remote trail named aa
.
Pumpm can write to trail aa on sys02, while pumpn can write to trail aa on sys03.
In Oracle GoldenGate MA, Distribution Server and distribution paths are used to write the remote trail.
Processes that Read from the Trail File:
The data pump, Replicat processes, and the Distribution Server read from the trail files. The data pump extracts DML and DDL operations from a local trail that is linked to an Extract process, performs further processing if needed, and transfers the data to a trail that is read by the next Oracle GoldenGate process downstream (typically Replicat, but could be another data pump if required). A Distribution Server process will read the trail file and send it across the network to a waiting Receiver Server process or collector.
The Replicat process reads the trail and applies the replicated DML and DDL operations to the target database.
Trail File Creation and Maintenance:
The trail files are created as needed during processing. You specify a
two-character name for the trail when you add it to the Oracle GoldenGate configuration
with the ADD RMTTRAIL
or ADD EXTTRAIL
command. By
default, trails are stored in the dirdat
sub-directory of the Oracle
GoldenGate directory. You can specify a six or nine digit sequence number using the
TRAIL_SEQLEN_9D | TRAIL_SEQLEN_6D GLOBALS
parameter;
TRAIL_SEQLEN_9D
is set by default. It is recommended to use the
9-digit sequence number when possible.
As
each new file is created, it inherits the two-character trail name appended with a
unique nine digit sequence number from 000000000 through 999999999 (for example
c:\ggs\dirdat\tr000000001
). When the sequence number reaches
999,999,999 or 999,999 (depending on the prior setting) the Extract process will
abend.
Refer to Doc ID 1060554.1 for details on
how to reset the sequence number. Trail files can be purged on a routine basis by using
the Manager parameter PURGEOLDEXTRACTS
.
You can create more than one trail to separate the data from different
objects or applications. You link the objects that are specified in a
TABLE
or SEQUENCE
parameter to a trail that is
specified with an EXTTRAIL
or RMTTRAIL
parameter in
the Extract parameter file. To maximize throughput, and to minimize I/O load on the
system, extracted data is sent into and out of a trail in large blocks. Transactional
order is preserved.
Converting Existing Trails to 9 Digit Sequence Numbers
You can convert trail files from 6-digit to 9-digit checkpoint record for
the named extract groups. Use convchk
native command to convert to
9-digit trail by stopping your Extract gracefully then using convchk
to
upgrade as follows:
convchk extract trail seqlen_9d
Start your Extract
You can downgrade from a 9 to 6 digit trail with the same process using
this convchk
command:
convchk extract trail seqlen_6d
Note:
Extract Files: You can configure Oracle GoldenGate to store extracted data in an extract file instead of a trail. The extract file can be a single file, or it can be configured to roll over into multiple files in anticipation of limitations on file size that are imposed by the operating system. It is similar to a trail, except that checkpoints are not recorded. The file or files are created automatically during the run. The same versioning features that apply to trails also apply to extract files.