Helix Core P4コマンドリファレンス (2019.1)

p4journaldbchecksums

テーブルチェックサムを使用してジャーナルノートを書き込みます。

構文

p4 [g-opts] journaldbchecksums [-t tableincludelist | -T tableexcludelist] 
                                [-l level]
p4 [g-opts] journaldbchecksums -u filename -t tablename [-v version] [-z]
p4 [g-opts] journaldbchecksums -s -t tablename [-b blocksize] [-v version]
p4 [g-opts] journaldbchecksums -c changelist

説明

p4 journaldbchecksumsコマンドは、分散および複製インストール環境でデータの整合性を確保するためのツールのセットを提供します。

Perforceサービスでは、p4 admin checkpointまたはp4 admin journalコマンドを使用すると常に自動で整合性チェックを実行し、p4 journaldbchecksumsコマンドを使用すると整合性チェックを手動で実行します。

このコマンドを使用するには、構造化ログ(p4 logparse参照)を有効にし、少なくとも1つの構造化ログがintegrityタイプのイベントを取得している必要があります。

整合性チェックの実行時、Perforceサービスは、指定のテーブル(または、テーブルの指定がない場合は、すべてのテーブル)のチェックサムを含むジャーナルにレコードを書き込みます。 レプリカサーバはこれらのレコードを受け取ると、これらのチェックサムを自身のデータベーステーブルに対して計算した値と比較します。これはp4 dbstatコマンドの処理と同様です。 比較結果はレプリカのログに書き込まれます。

チェックするテーブルは、個々のテーブルを-tおよび-Tオプションで追加または削除するか、または3つの検証レベルのうちの1つを使用することで管理できます。

検証レベルは、rpl.checksum.auto構成可能変数または-l levelオプションで管理されます。

  • レベル1は、最も重要なシステムテーブルとリビジョンテーブルのみ検証します。
  • レベル2は、レベル1すべてと、レプリカ間で相違がないと想定されるメタデータが含まれます。
  • レベル3は、レプリカや、特にビルドファームやエッジサーバ間で異なるであろうメタデータを含むすべてのメタデータが含まれます。

個々のチェンジリストおよびテーブルをチェックする場合、rpl.checksum.change構成可能変数やrpl.checksum.table構成可能変数により、イベントをログに書き込むタイミングを管理します。

検証の各レベルに関連するデータベーステーブルのリストの詳細については、『Helix Coreサーバ管理者ガイド: マルチサイト展開』を参照してください。

オプション

-b blocksize

テーブルのスキャン時に、ブロックごとにblocksize個のレコードをスキャンします。 デフォルトは5,000です。 サーバはブロックごとにチェックサムを計算し、ジャーナルノートとして書き込みます。 レプリカサーバはこれらのノートの処理時にこれらのブロックを自動的に検証します。 テーブルはブロックごとにロック解除されるため、このコマンドは生産システム上の大規模なテーブルに使用できます。 ブロック検証の結果を検査することにより、データベーステーブルの一部のみに影響する破損箇所が明らかになります。

-c changelist

個々のサブミット済みチェンジリストのチェックサムを計算します。 チェックサムはジャーナルノートとして書き込まれ、レプリカサーバはこれらのノートの処理時に変更のチェックサムを自動的に検証します。

-l level

チェックサムのレベルを指定します。各レベルは、より大きなテーブルのセットに対応します。 これらのレベルは、rpl.checksum.auto構成可能変数で使用されるレベルに対応します。

-s-t tablename

指定のデータベーステーブルをスキャンします。

-t tables

チェックサムを計算するテーブルを指定します。 複数のテーブルを指定するには、リストを二重引用符で囲み、テーブル名をスペースで区切ります。 テーブル名は、「db.」で始まる必要があります。 テーブル名は、カンマで区切ることもできます。

-T tableexcludelist

リストされているものを除く、すべてのテーブルのチェックサムを計算します。

-u filename-t tablename

指定のデータベーステーブルをアンロードします。 このコマンドはまた、この操作をドキュメントにするジャーナルノートを書き、これらのノートの処理時にレプリカサーバが同じテーブルを同じファイルへ自動的にアンロードするように指示します。

-v version

テーブルをアンロードまたはスキャンする場合に使用するサーバのバージョン番号を指定します。 サーバのバージョン番号の指定がない場合、現在のサーバのバージョンが使用されます。

-z

テーブルのアンロード時にファイルを圧縮します。

g-opts

詳細については、「グローバルオプション」を参照してください。

使用上の留意点

ファイル引数にリビジョン指定子を使えるか? ファイル引数にリビジョン範囲を使えるか? 最低限必要なアクセスレベル

適用外

適用外

operator
super

分散環境または複製環境におけるPerforceの管理方法の詳細については、『Helix Coreサーバ管理者ガイド: マルチサイト展開』を参照してください。