はじめに

vbrコマンドに”dry-run”オプションを使用することで、vbrタスク実行時の処理についてシミュレーションを行えます。

dry-runを使用したvbrコマンドでは、指定したタスクは実行されず、データベースに影響を与えません。

オプションの概要

対象となるタスク

dry-runを指定できるタスクは以下のいずれかです。
・backup
・restore
・replicate

確認できる情報

具体的に、以下の情報を確認できます。
①バックアップリストア対象データのサイズ
②バックアップリストア対象となるオブジェクト一覧
※オブジェクト一覧は、対象を指定した場合に表示されます。
後述する「ワイルドカード使用時の処理対象オブジェクトの確認」に記載している結果がその一例となります。

実行例

バックアップ実行時にdry-runオプションを指定

[Approximate bytes to copy]の値から、バックアップ対象のデータサイズは1802482779 バイト(約1.7GB)であることが分かります。

ワイルドカード使用時の処理対象オブジェクトの確認

vbrでは、ワイルドカードを使用し、バックアップリストアの対象となるオブジェクトを柔軟に指定できます。
ワイルドカードを使用するvbrタスクに、dry-runオプションを指定することで、リストア対象となるオブジェクトを事前確認できます。

vbrにおけるワイルドカードの使用に関しては、参考情報に記載した記事をご確認ください。

確認例

[Restoring objects]に表示されているs1.t1,s1.t2,s1.t3がリストア対象のオブジェクトです。
想定しているオブジェクトが過不足なく表示されているかをここで確認できます。

差分データの存在有無による出力の違いについて

Verticaでは、リストアする際に、バックアップデータと現在データベースに存在するデータを突き合わせ、その差分のみを実際にリストアします。
つまり、差分がない場合はリストア処理を行いません。

そのため、dry-runを指定したvbrタスクを実行した結果、差分がないとわかった場合はそのタスクを実行する必要はないと判断できます。

バックアップ対象のオブジェクトが、データベース上に既に存在する場合

<実行例>

[Restoring objects]にはリストア対象となるオブジェクト名が、また[Approximate bytes to copy]には0(バイト)という値が表示されています。
リストア対象のオブジェクトは、現在のデータベース上に既に存在し、バックアップからのリストア処理を行う必要がないことを表しています。

バックアップ対象のオブジェクトが、データベース上に存在しない場合

<実行例>

[Restoring objects]にはリストア対象となるオブジェクト名が、また[Approximate bytes to copy]には408という値が表示されています。
これは、リストされているオブジェクトが現在データベースに存在せず、バックアップから408バイトのデータをリストアする必要があることを意味しています。

参考情報

vbrによるバックアップ/リストア時にワイルドカードを使用する
http://vertica-tech.ashisuto.co.jp/vbr_wildcard/

バックアップ・リストアのまとめ記事
http://vertica-tech.ashisuto.co.jp/backup-restore-summary/

vbr Reference
https://www.vertica.com/docs/9.3.x/HTML/Content/Authoring/AdministratorsGuide/BackupRestore/VBRUtilityReference.htm

検証バージョンについて

この記事の内容はVertica 9.3で確認しています。

更新履歴

2019/01/23 本記事を公開