recoverpacket

Resets epoch number matrix so that changes in lost packets are resent

Applicability

Product Command type
MultiSite multiutil subcommand
Platform
Windows™

Synopsis

recoverpacket


[ –cl/an clan-name ] [ –site site-name ] –fam/ily family-name
–u/ser username [–p/assword ] password [ –sin/ce date-time ] replica ...

Description

The recoverpacket command resets the epoch row at a sending replica to reflect the last synchronization sent to a replica before a particular time. It scans through a list of epoch rows saved at the time of each export, looking for an entry prior to the time specified. When it finds an entry, it uses the associated row to reset the epoch row for the specified receiving replica. The next packet that is exported includes the changes that were in the lost packet.

Resetting epoch numbers automatically

When you send an update packet to another replica, success of the transport and import phases is assumed. Therefore, the sending replica's epoch number matrix is updated to reflect that the changes are made at the receiving replica. However, if the packet is lost before reaching the receiving replica, the sending replica's assumption that the receiving replica is up to date is incorrect.

The epoch numbers at the sending replica must be returned to the values they had before the packet was sent. Making these corrections to the sending replica's epoch number matrix causes it to include the same changes in the next update packet it sends to the receiving replica.

The administrator at the receiving replica must run a dumpoplog command to determine the time of the last successful import. The administrator at the sending replica uses this time in the recoverpacket command.

Note: If the two replicas are not in the same time zone or you do not send packets at the same time you generate them (for example, you generate packets at midnight and send them at 6:00 A.M.), you must adjust for the time difference.

Resetting epoch numbers manually

If there are no saved epoch rows that are as old as the specified time, the recoverpacket command fails. In this case, the administrator at the receiving replica must use the lsepoch command to determine the correct epoch number, and the administrator at the sending replica must run chepoch on the sending replica to reset the epoch row.

Restrictions

You must have Super User privileges.

Options and arguments

Specifying the clan, site, and family

Default
Clan: First clan replicated at this site. If there is more than one dbset connection registered on this host, –clan is required.

Site: Current site. If there is more than one site on this host, –site is required.

Family: No default; you must specify a family.

–cl/an clan-name
Name of the replica’s clan.
–site site-name
Name of the replica’s site.
–fam/ily family-name
User database family: Database name given to the user database when it was created.

Schema repository family: Use the MASTR family if you want to recover information about the working schema repository. If you have lost a packet, run recoverpacket on both the MASTR and user database families and then run syncreplica again.

Specifying a user name and password

Default
You must specify a user name and password.
–u/ser user
Name of a user with Super User privileges.
–p/assword password
Password associated with the specified user.

Specifying the time

Default
If you do not specify the time, recoverpacket uses the current time (and therefore, resets the epoch row so that the changes in the most recent update packet are resent).
–since date-time
Specifies the time of the last successful processing of a packet at the receiving replica. The date-time argument can have any of the following formats:
date.time | date | time
where:
date:
= day-of-week | long-date
time:
= h[h]:m[m][:s[s]] [UTC [ [ + | - ]h[h][:m[m] ] ] ]
day-of-week:
= today |yesterday |Sunday | ... |Saturday |Sun | ... |Sat
long-date:
= d[d]month[[yy]yy]
month:
= January |... |December |Jan |... |Dec

Specify the time in 24-hour format, relative to the local time zone. If you omit the time, the default value is 00:00:00. If you omit the date, the default value is today. If you omit the century, year, or a specific date, the most recent one is used. Specify UTC if you want the time to be resolved to the same moment in time regardless of time zone. Use the plus (+) or minus (-) operator to specify a positive or negative offset to the UTC time. If you specify UTC without hour or minute offsets, the default setting is Greenwich Mean Time (GMT). (Dates before January 1, 1970 Universal Coordinated Time (UTC) are not valid.)

Examples
  • 22-November-2002
  • sunday
  • yesterday.16:00
  • 0
  • 8-jun
  • 13:00
  • today
  • 9-Aug.10:00UTC
replica ...
Site name of the replica for which the epoch row is reset.

Examples

In these examples, the lines are broken for readability. You must enter each command on a single physical line.

At the boston_hub replica, reset the epoch row for the sanfran_hub replica so that changes sent since January 22, 2002 are included in the next update packet.



multiutil recoverpacket -clan telecomm -site boston_hub -family DEV -user
susan -p passwd -since 22-January-2002 sanfran_hub


Multiutil: Using epoch information from 22-Jan-2002.10:06:52.
Multiutil: Epoch estimates for replica `sanfran_hub' successfully reset.

SANFRAN_HUB: 3