ctrepd
Replication transaction log utility
The FairCom replication utility, ctrepd
, provides a simple replication environment to quickly troubleshoot specific replication-related applications. The ctrepd
utility can be used when you need to benchmark your replication performance as it logs a wealth of transaction replication information.
The FairCom replication utility, ctrepd
, provides a simple replication environment to quickly troubleshoot specific replication-related applications. The ctrepd
utility can be used when you need to benchmark your replication performance as it logs a wealth of transaction replication information.
This utility can be used to set up or fix some replication requirements — for example. it can be used to set the log requirements for a specific Replication Agent ID, as explained in Set the source server's log requirements.
Normally the Replication Agent sets the source server's log requirements based on how far it has processed the activity in the source server's transaction logs. But if the Replication Agent is taken offline, an administrator might want to remove the log requirement so that the source server does not continue to keep old transaction logs.
Note
If the source server is allowed to delete old transaction logs and it is desired to restart the Replication Agent at a later time at a later log position to continue replicating changes, it is necessary to resync the replicated data files on the target system with the files on the source server as of the Replication Agent's new starting log position. Otherwise, if there was activity on the source system between the log position at which the Replication Agent stopped and the new log position at which the Replication Agent began, the source and target files will be out of sync.
ctrepd
can be used to change log requirements:The ctrepd
utility supports an option that is specifically designed to set the log requirements for a specific Replication Agent ID.
Use
‑setlog:0
to remove the log requirement.Use
‑setlog:LOG_NUMBER
to change the log requirement to the specified log number.Use
‑setlog:current
to use the server's most recent transaction log.
ctrepd -setlog:0 -unqid:REPLID SERVERNAME Replication log reader connected to data source. Successfully removed transaction log requirement for replication ID 'REPLID'
ctrepd -setlog:33 -unqid:REPLID SERVERNAME Replication log reader connected to data source. Successfully set required transaction log for replication ID 'REPLID' to 33
ctrepd -setlog:current -unqid:REPLID SERVERNAME Replication log reader connected to data source. Successfully set required transaction log for replication ID 'REPLID' to 37
The procedure in this sect can be used to change Replication Agent's required minimum log.
Note
You may need to resync the files on the target server with the source server after performing these procedures. This is because the source server might delete logs that the agent hasn't processed yet. However, if the Replication Agent starts once, sets a required log, and is not used after that, these procedures will remove the log requirement and no other action will be needed.
Monitor Replication Agent's current position.
Example 4. Replication Agent current positionIn this example, the Replication Agent is using unique ID of
RA
and its minimum required log is 52. The agent is currently connected. The name would be listed as‑RA
if it is not connected.# ctstat -var -h 1 -t -i 2 -u ADMIN -p ADMIN -s SOURCE_SERVER_NAME Mon Apr 27 08:43:30 2015 name lowlog curlog curpos source(SERVER) 49 52 23251686 RA 52 52 23250783
Shut down the Replication Agent if it is running.
Run the
ctrepd
utility and use the-setlog:0
option to remove a log requirement.Example 5.ctrepd
utility with the-setlog:0
option# ctrepd -unqid:RA -setlog:0 -inow SOURCE_SERVER_NAME FairCom DB(tm) Version 10.6.0.40037(Build-150422) Transaction Log Entry Reader for Replicated Files Copyright (C) 1992 - 2015 FairCom Corporation ALL RIGHTS RESERVED. Replication log reader connected to data source. Successfully removed transaction log requirement for replication ID 'RA'
Check the log requirements again.
Note
The server will delete old logs only after it creates a new transaction log, so you won't necessarily see the number of existing logs decrease immediately.
Example 6. Requirements log# ctstat -var -h 1 -t -i 2 -u ADMIN -p ADMIN -s SOURCE_SERVER_NAME Mon Apr 27 08:47:38 2015 name lowlog curlog curpos source(SERVER) 49 52 23252068