The report command shows, for every table, how many inserts, updates, deletes, DDL statements and rows loaded by the Initial Load a Capture Process or an Apply Process has handled. It works for both kinds of processes and for the whole run of a process or for a range of LSNs or of times.
repcli report process=capture|apply id=processID [from lsn=FROM_LSN until lsn=UNTIL_LSN]repcli report process=capture|apply id=processID [from time="yyyy/mm/dd hh24:mi:ss.fff" until time="yyyy/mm/dd hh24:mi:ss.fff"]| Parameter | Description |
|---|---|
| process | capture or apply. |
| id | The identifier of the process. |
| from lsn, until lsn | The range of the transactions, by LSN (SQL Server) or SCN (Oracle). Both are required. An LSN is written as 0x followed by 20 hexadecimal digits in capital letters, an Oracle SCN can be written as a decimal number. The transactions with the LSN from from lsn to until lsn are included; the same LSN twice reports one transaction. |
| from time, until time | The range of the transactions, by the time of the transaction in UTC, in the format yyyy/mm/dd hh24:mi:ss.fff. Both are required. |
Without a range the report covers everything that the process has handled since it was started (the “Total since” line of the status command). If the process has not been run since the Repstance server was started there is no such range, give one.
Give both ends of a range. repcli ignores a range that has only one end, and the report then covers the whole run.
For an Apply Process the report of a range, by LSN or by time, counts the transactions that are in the trail files of its Capture Process, whether or not the Apply Process has applied them. So it also shows what a transaction that has failed contains: give its LSN at both ends before you leave it out with reset and skip=1 (see Reset Process).
The output has the time and the LSN of the first and of the last change of the report, and a line for every table:
| Column | Meaning |
|---|---|
| TABLE_NAME | The table. |
| I, U, D | The inserts, updates and deletes. |
| DDL | The DDL statements. |
| LOAD | The rows loaded by the Initial Load. |
The report of a Capture Process, everything since it was started:
repcli report process=capture id=1
First Change : 2026/10/20 15:35:00.333 (0x0000008D00007B7E0007)
Last Change : 2026/10/20 15:53:00.187 (0x0000008D00007D160007)
TABLE_NAME| I| U| D| DDL| LOAD
------------------------------------------------------------------------------------------------------------------------
repi.hb_stat| 19| 0| 19| 0| 0
------------------------------------------------------------------------------------------------------------------------
TOTAL: 19| 0| 19| 0| 0The report of a Capture Process for a range of times:
repcli report process=capture id=1 from time="2026/10/20 15:36:00.000" until time="2026/10/20 15:39:00.000"
First Change : 2026/10/20 15:36:00.367 (0x0000008D00007B910007)
Last Change : 2026/10/20 15:38:00.470 (0x0000008D00007BBA0007)
TABLE_NAME| I| U| D| DDL| LOAD
------------------------------------------------------------------------------------------------------------------------
repi.hb_stat| 3| 0| 3| 0| 0
------------------------------------------------------------------------------------------------------------------------
TOTAL: 3| 0| 3| 0| 0The report of one transaction, the same LSN at both ends:
repcli report process=capture id=1 from lsn=0x0000008D00007B910007 until lsn=0x0000008D00007B910007
First Change : 2026/10/20 15:36:00.367 (0x0000008D00007B910007)
Last Change : 2026/10/20 15:36:00.367 (0x0000008D00007B910007)
TABLE_NAME| I| U| D| DDL| LOAD
------------------------------------------------------------------------------------------------------------------------
repi.hb_stat| 1| 0| 1| 0| 0
------------------------------------------------------------------------------------------------------------------------
TOTAL: 1| 0| 1| 0| 0The messages of a report that cannot be made. repcli prints them as [Failed]: message:
| Message | Cause |
|---|---|
| Process is inactive. Either run the Process or provide [from lsn] and [until lsn] parameters | The command has no range and the process has no statistics (it has not been run since the Repstance server was started), or only one end of a time range was sent (REST): from time needs until time. |
| An invalid value [] has been supplied for parameter [until lsn] | Only the start of an LSN range was sent (REST). |
| An invalid value [2026-10-20 15:36] has been supplied for parameter [from time]. Use '2006/01/02 15:04:05.000' format | The time is not in the format yyyy/mm/dd hh24:mi:ss.fff. The same message is given for until time. |
| An invalid value [0x12] has been supplied for parameter [from lsn] | The LSN is not 0x with 20 hexadecimal digits in capital letters, and not a decimal number. The same message is given for until lsn. |
| Invalid Process [foo] | The value of process is not capture or apply. |
| Invalid Capture Process ID has been supplied | There is no Capture Process with this id (Invalid Apply Process ID has been supplied for an Apply Process). |
| No data available | There are no changes in the range, for example because the end of the range is before its start. |
The body of the request. start_lsn and end_lsn, or start_time and end_time, are optional; give both of a pair:
{
"command": "report",
"process": "capture",
"id": 1,
"start_lsn": "FROM_LSN",
"end_lsn": "UNTIL_LSN",
"start_time": "yyyy/mm/dd hh24:mi:ss.fff",
"end_time": "yyyy/mm/dd hh24:mi:ss.fff"
}The body of the answer. Stats is an object with a member for every table; I, U and D are the inserts, updates and deletes, DDL the DDL statements and LD the rows loaded by the Initial Load:
{
"Status": "Completed",
"Message": "",
"Stats": {
"repi.hb_stat": {
"I": 3,
"U": 0,
"D": 3,
"DDL": 0,
"LD": 0
}
},
"FirstLSN": "0x0000008D00007B910007",
"LastLSN": "0x0000008D00007BBA0007",
"FirstTime": "2026-10-20T15:36:00.367Z",
"LastTime": "2026-10-20T15:38:00.47Z"
}| Field | Meaning |
|---|---|
| Status | Completed or Failed. |
| Message | The reason, if the status is Failed. |
| Stats | The changes handled for every table, as above. |
| FirstLSN, FirstTime | The LSN and the time (UTC) of the first transaction of the report. |
| LastLSN, LastTime | The LSN and the time (UTC) of the last transaction of the report. |
| HTTP code | Meaning |
|---|---|
| 200 | The request is valid, or a value in it is wrong: an invalid process, id, LSN or time is reported with the status Failed and a message, and the code is 200. |
| 401 | The token is invalid. |
| 422 | The request cannot be read, or the report cannot be made. The status is Failed and the message tells why. |
Click “More” on the card of a process:
The window shows the state of the process and, under “Details”, the report of the process: the tables with their inserts, updates, deletes, DDL statements and loaded rows. It is the report that repcli report gives without a range, for everything that the process has handled since it was started. A Capture Process has one tab, “Replication Report”:
An Apply Process has two tabs. “Processed” is the report of what the Apply Process has applied since it was started. “Queued” is the report of the transactions that the Apply Process has not applied yet: it is the report from the “Last Applied DB Change” to the “Last Source DB Change”, both included. It is empty when the Apply Process has caught up, and it grows while the Apply Process is stopped:
Click “Refresh” to read the report again. The window is described in Status of any Capture or Apply Processes.
Prev page:
Reset ProcessNext page:
DATA COMPARISON