Error 9289

Severity

20

Message text

%S_REPAGNT. Log record (%d, %d) for object = %d contains inconsistent data. Transaction log may be corrupt. Please contact Sybase Technical Support.

Explanation

While scanning the log, Replication Agent found an invalid column or parameter length. Replication Agent for this database is shut down.

Action

Perform a full database dump as soon as possible. Because this is a permanent error in the log, Replication Agent will shut down again if it is restarted. This problem could affect one or more log records, but the transaction log is not compromised.

Take the following actions:

  1. Enable trace flag 9217:

    use <db_name>
    sp_config_rep_agent <db_name>,'traceon','9217'
    sp_start_rep_agent <db_name>
    

    By default, Replication Agent stops replication after reporting error 9289. When you set trace flag 9217, Replication Agent attempts to replicate data included in the inconsistent log record. If the replication continues, the data being replicated may be incorrect. When processing the affected log record, Replication Agent sends message 9290:

    RepAgent(%d). Log record (%d, %d) for object = xxxxxxx contains inconsistent data. Rep Agent will try to extract the information read and continue replication. Unexpected data may be replicated.
    

    This trace is specifically for systems that require nonstop replication, even if data consistency is not maintained.

    Once Replication Agent reports error 9290:

    • Identify the object name using the object ID indicated in the error.

    • Use rs_subcmp or any other customized tool to compare data between primary and replicated sites.

    All affected objects must be synchronized using rs_subcmp.

  2. Reset the truncation point.

    If the trace flag 9217 does not solve the problem, reset the secondary truncation point to skip the log records affected by this problem because Replication Agent is down due to an error.

    Use the following procedure to set the secondary truncation point to the end of the transaction log:

    1. Enter:

      use <db_dbname>
      dbcc settrunc(ltm,ignore)
      dbcc settrunc(ltm,'end')
      
    2. Shut down Replication Server.

    3. Connect to the Replication Server System Database (RSSD) and execute:

      rs_zeroltm <dsname>, <dbname>
      
    4. Restart Replication Server.

    5. Start Replication Agent.

NoteThis procedure requires a full synchronization of the database.

Additional information

If it is necessary to troubleshoot further, perform a dump of the transaction log containing the problem, which allows Sybase Technical Support to further analyze the issue.

Versions in which this error is raised

Version 12.5.3 and later