Markers are records inserted into the audit trails and log trails to identify application-specific events during Extract and Replicat processing.
For example, to switch from a primary to a backup database, you must determine that all records have been delivered from the primary to the backup database before switching. Markers provide a method for determining this without shutting down all TMF-related activity on the source node.
To determine that all records have been delivered, perform the following tasks:
Shut down application activity against the source database (for example, bring down PATHWAY).
Add a marker to the audit trail.
Wait until the corresponding Replicat process writes an event message indicating that it processed the marker. At this point, Replicat has processed all data from the source database and you can safely switch to the backup database.
Event messages and history records are written each time a marker is processed by GGSCI, Extract, or Replicat.
You can add markers:
For TMF installations
For non-TMF installations
Executing TACL commands
For a Replicat group
Default
By default, Oracle GoldenGate applies markers to the TMF audit trail.
Syntax
ADD MARKER [LOGGER logger_prefix] [freeform_text] | [TACLCMD program group_name command] | [GROUPCMD] program group_name command ]
LOGGER logger_prefix freeform_textSee "Adding markers for TMF or non-TMF installations" for information on adding markers for TMF and non-TMF installations
TACLCMD program group_name commandSee "Invoking TACL commands" for information on executing TACL commands.
GROUPCMD program group_name commandAdding markers for TMF or non-TMF installations
For TMF installations, ADD MARKER creates a marker in the local audit trail. For non-TMF installations, specify ADD MARKER with the LOGGER option.
Default
By default, Oracle GoldenGate applies markers to the TMF audit trail.
Syntax
ADD MARKER [LOGGER logger_prefix] [freeform_text]
LOGGER logger_prefixRequired to send markers to Logger processes and associated log trails. Identifies the Logger process group or an individual Logger process within a group. For example, ADD MARKER LOGGER $GGL specifies the Logger group and sends a marker to all processes beginning with $GGL. The command: ADD MARKER LOGGER $GGL01, sends a marker to the logger $GGL01.
freeform_textText you want added to the marker record to distinguish the purpose of the marker, as in:
ADD MARKER BROUGHT DOWN FINANCE ADD MARKER LOGGER $GGL END OF DAY 2010-07-30
Invoking TACL commands
A special form of marker invokes TACL commands through Extract or Replicat. This lets you fit TACL commands into a stream of database activity. The command is carried out when Extract or Replicat encounters the marker record in the data stream.
Extract or Replicat end abnormally if encountering a problem issuing the command, but will not ABEND if the command itself fails. While the command runs, Extract or Replicat waits until it finishes. Specify NOWAIT as part of the command to return control immediately.
Syntax
ADD MARKER [LOGGER logger_prefix] TACLCMD program group_name command
LOGGER logger_prefixRequired to send markers to Logger processes and associated log trails. Identifies the Logger process group or an individual Logger process within a group. For example, ADD MARKER LOGGER $GGL specifies the Logger group and sends a marker to all processes beginning with $GGL. The command: ADD MARKER LOGGER $GGL01, sends a marker to the Logger $GGL01.
TACLCMD program group_name commandThe TACLCMD keyword informs the process that a TACL command is to be carried out. TACLCMD must include the following:
Example
In this example, TACLCMD specifies that the command is to be invoked by Extract for the FINANCE group. The command is: FUP PURGEDATA $DATA1.DAT.FILE1
ADD MARKER TACLCMD EXTRACT FINANCE FUP PURGEDATA $DATA1.DAT.FILE1
Adding markers for an Extract or Replicat group
You can use markers to send a command to an Extract or Replicat group.
Syntax
ADD MARKER GROUPCMD program group_name command
GROUPCMD program group_name commandThe GROUPCMD keyword informs the process that a group command is to be invoked.
programEnter Extract or Replicat.
group_nameEnter the Extract or Replicat group name.
commandEnter the command. Currently, CLOSEFILES is the only command available for GROUPCMD. CLOSEFILES instructs Replicat to close all opens on Enscribe files and SQL tables. It instructs Extract to close opens from FETCHCOMPS and FETCHLASTIMAGE.
Use INFO MARKER to review recently processed markers. A record is displayed for each occasion on which GGSCI, Logger, Extract or Replicat processed the marker.
Syntax
INFO MARKER [COUNT num_items]
COUNT num_itemsSpecify COUNT to restrict the list to the most recent number of items, as in: INFO MARKER COUNT 2.
Information returned includes:
PROCESSEDThe local time that a program processed the marker.
ADDEDThe local time at which the marker was inserted into the audit trails or log trails.
DIFFThe time difference between PROCESSED and ADDED. DIFF can serve as an indicator of the lag between application, Extract, and Replicat activities.
PROGThe process that processed the marker, such as GGSCI, Logger, Extract or Replicat.
GROUPThe Extract or Replicat group or Logger process that processed the marker. N/A is displayed if GGSCI processed the marker.
NODEThe node at which the marker was inserted into the audit trails.
Optional textThe free text you entered in the ADD MARKER command.