目次
はじめに
vbrコマンドに”dry-run”オプションを使用することで、vbrタスク実行時の処理についてシミュレーションを行えます。dry-runを使用したvbrコマンドでは、指定したタスクは実行されず、データベースに影響を与えません。
オプションの概要
対象となるタスク
dry-runを指定できるタスクは以下のいずれかです。・backup
・restore
・replicate
確認できる情報
具体的に、以下の情報を確認できます。①バックアップリストア対象データのサイズ
②バックアップリストア対象となるオブジェクト一覧
※オブジェクト一覧は、対象を指定した場合に表示されます。
後述する「ワイルドカード使用時の処理対象オブジェクトの確認」に記載している結果がその一例となります。
実行例
バックアップ実行時にdry-runオプションを指定
1 2 3 4 5 6 7 |
[dbadmin@motosrv1 ~]$ vbr --task backup --config-file for_backup.ini --dry-run Starting backup of database test. Participating nodes: v_test_node0001, v_test_node0002, v_test_node0003. Snapshotting database. Snapshot complete. Approximate bytes to copy: 1802482779 of 1802482779 total. ←--★ Dry run finished. Run vbr without --dry-run to complete the task. |
[Approximate bytes to copy]の値から、バックアップ対象のデータサイズは1802482779 バイト(約1.7GB)であることが分かります。
ワイルドカード使用時の処理対象オブジェクトの確認
vbrでは、ワイルドカードを使用し、バックアップリストアの対象となるオブジェクトを柔軟に指定できます。ワイルドカードを使用するvbrタスクに、dry-runオプションを指定することで、リストア対象となるオブジェクトを事前確認できます。
vbrにおけるワイルドカードの使用に関しては、参考情報に記載した記事をご確認ください。
確認例
1 2 3 4 5 6 7 8 9 10 11 |
[dbadmin@motosrv1 ~]$ vbr --task restore --config-file ./backup_scripts/wildcard.ini --include-objects s1.* --exclude-objects s1.temp* --dry-run Starting object restore of database test. Restoring from restore point: t3_20200122_013708 Participating nodes: v_test_node0001,v_test_node0002,v_test_node0003. Loading snapshot catalog from backup. Include objects: s1.*; exclude objects: s1.temp* Preprocessing snapshot... Preprocessing complete. Restoring objects: s1.t1,s1.t2,s1.t3 ←--★ Approximate bytes to copy: 408. Dry run finished. Run vbr without --dry-run to complete the task. |
[Restoring objects]に表示されているs1.t1,s1.t2,s1.t3がリストア対象のオブジェクトです。
想定しているオブジェクトが過不足なく表示されているかをここで確認できます。
差分データの存在有無による出力の違いについて
Verticaでは、リストアする際に、バックアップデータと現在データベースに存在するデータを突き合わせ、その差分のみを実際にリストアします。つまり、差分がない場合はリストア処理を行いません。
そのため、dry-runを指定したvbrタスクを実行した結果、差分がないとわかった場合はそのタスクを実行する必要はないと判断できます。
バックアップ対象のオブジェクトが、データベース上に既に存在する場合
<実行例>
1 2 3 4 5 6 7 8 |
[dbadmin@motosrv1 backup_scripts]$ vbr --task restore --config-file wildcard.ini --dry-run Starting object restore of database test. Restoring from restore point: t2_20200121_080243 Participating nodes: v_test_node0001,v_test_node0002,v_test_node0003. Loading snapshot catalog from backup. Restoring objects: s1.t1,s1.t2,s1.t3 ←--★ Approximate bytes to copy: 0. ←--★ Dry run finished. Run vbr without --dry-run to complete the task. |
[Restoring objects]にはリストア対象となるオブジェクト名が、また[Approximate bytes to copy]には0(バイト)という値が表示されています。
リストア対象のオブジェクトは、現在のデータベース上に既に存在し、バックアップからのリストア処理を行う必要がないことを表しています。
バックアップ対象のオブジェクトが、データベース上に存在しない場合
<実行例>
1 2 3 4 5 6 7 8 |
[dbadmin@motosrv1 backup_scripts]$ vbr --task restore --config-file wildcard.ini --dry-run Starting object restore of database test. Restoring from restore point: t2_20200121_080243 Participating nodes: v_test_node0001,v_test_node0002,v_test_node0003. Loading snapshot catalog from backup. Restoring objects: s1.t1,s1.t2,s1.t3 ←--★ Approximate bytes to copy: 408. ←--★ Dry run finished. Run vbr without --dry-run to complete the task. |
[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