recoverpacket

エポック番号マトリックスをリセットし、失われたパケット内の変更を 再送信します。

適用性

製品名 コマンド タイプ
MultiSite multiutil サブコマンド
プラットフォーム
UNIX®
Windows®

概要

recoverpacket

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

説明

recoverpacket コマンドは、送信複製でエポック行をリセットして、特定の時間以前に複製に送信された最後の同期を反映します。各エクスポート時点で保管されたエポック行のリストをスキャンして、指定された時間より前の項目を検索します。項目を検出すると、関連した行を使用して、指定された受信複製に関するエポック行をリセットします。次回にエクスポートされるパケットには、失われたパケットに入っていた変更内容が組み込まれます。

エポック番号の自動リセット

更新パケットを別の複製に送信する場合、送信とインポート フェーズは正常であることを前提とします。したがって、送信複製のエポック番号マトリックスは、変更が受信複製で行われたことを反映して、更新されます。しかし、パケットが受信複製に達する前に失われると、受信複製は最新の状態であるという送信複製の前提は間違いになります。

送信複製でのエポック番号は、パケットの送信前の値に戻す必要があります。送信複製のエポック番号マトリックスにこれらの訂正を行うと、受信パケットに送信する次の更新パケットに同じ変更内容を組み込むことになります。

受信複製の管理者は dumpoplog コマンドを実行して、最後に正常にインポートされた時間を判別する必要があります。送信複製の管理者は、recoverpacket コマンドにこの時間を指定します。

注: 2 つの各レプリカの時間帯が異なる場合やパケットを生成と同時に送信するのではない場合 (例えば、深夜にパケットを生成し午前 6:00 に送信する場合)、時刻のずれを調整する必要があります。

エポック番号の手動リセット

指定された時間の古いエポック行が保管されていない場合、recoverpacket コマンドは失敗します。この場合、受信複製の管理者は lsepoch コマンドを使用して正しいエポック番号を判別し、送信複製の管理者は送信複製で chepoch を実行してエポック行をリセットする必要があります。

制限

スーパー ユーザー権限が必要です。

オプションと引数

所属、サイト、ファミリーの指定

デフォルト
所属: このサイトで複製された最初の所属です。このホストに複数のデータベース セット接続が登録されている場合は、-clan を指定する必要があります。

サイト: 現在のサイトです。このホストに複数のサイトがある場合は、-site を指定する必要があります。

ファミリー: デフォルトはありません。ファミリーを指定する必要があります。

-cl/an clan-name
複製の所属の名前。
-site site-name
複製のサイトの名前。
-fam/ily family-name
ユーザー データベース ファミリー: ユーザー データベースの作成時に付けられたデータベース名。

スキーマ リポジトリ ファミリー: 作業スキーマ リポジトリの情報を回復する場合は、ファミリー MASTR を使用します。パケットを失った場合は、recoverpacketMASTR とユーザー データベース ファミリーの両方で実行してから、syncreplica を再実行します。

ユーザー名とパスワードの指定

デフォルト
ユーザー名とパスワードを指定する必要があります。
-u/ser user
スーパー ユーザー権限を持つユーザーの名前です。
-p/assword password
指定したユーザーに関連付けられたパスワードです。

時刻の指定

デフォルト
時刻を指定しないと、recoverpacket は現在の時刻を使用します (したがって、エポック行がリセットされて、最新の更新パケット内の変更内容が再送されます)。
-since date-time
受信複製でパケットが最後に正常処理された時刻を指定します。date-time 引数は、以下のどの形式でもかまいません。
date.time | date | time
ここで
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

time は、現地のタイム ゾーンに合わせた 24 時間形式で指定します。time を省略した場合、デフォルト値は 00:00:00 です。date を省略した場合、デフォルト値は today です。世紀、年、特定の日付を省略した場合は、最新のものが使用されます。タイム ゾーンに関係なく同じ時刻を適用する場合は、UTC を指定します。UTC 時間に対して正のオフセットを指定するにはプラス (+) 演算子を、負のオフセットを指定するにはマイナス (-) 演算子を使用します。時間や分のオフセットを付けないで UTC を指定すると、デフォルト設定はグリニッジ標準時 (GMT) になります。(協定世界時 (UTC) 1970 年 1 月 1 日以前の日付は無効です。)

  • 22-November-2002
  • sunday
  • yesterday.16:00
  • 0
  • 8-jun
  • 13:00
  • today
  • 9-Aug.10:00UTC
replica ...
エポック行をリセットする複製のサイト名。

以下の例では、読みやすいように行を分けてあります。各コマンドは、1 行に入力しなければなりません。

複製 boston_hub で、複製 sanfran_hub に関するエポック行をリセットして、2002 年 1 月 22 日以降の変更が次回の更新パケットに組み込まれるようにします。

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

Multiutil: 22-Jan-2002.10:06:52 のエポック インフォメーションを使用しています。
Multiutil: 複製 `sanfran_hub' のエポック見積もりのリセットに成功しました。

SANFRAN_HUB: 3


フィードバック