はじめに

Vertica7.2より、フルバックアップから、指定したオブジェクトのみをリストア可能になりました。データベース全体のリストアは時間がかかる事も考えられるため、テーブルを誤って削除した場合など、特定オブジェクトを復旧したい場合に便利な機能です。指定可能なオブジェクトは、スキーマもしくはテーブルです。


テーブルを指定した場合のリストア動作

本機能を利用した場合の実行例をご紹介します。

構文

本機能を利用するには、リストアする時に 「–restore-objects」オプションを指定します。
vbr.py —task […] —restore-objects=[…] —config-file=[…]

【各オプションの説明】
オブション説明
--task {backup | copycluster | init | listbackup | restore } backup
構成ファイルに指定した内容をもとに「フルバックアップ」または「オブジェクトレベル」のオンラインバックアップを取得する。

restore
構成ファイルに指定した内容をもとに「フルバックアップ」または「オブジェクトレベル」のデータをリストアする。

copycluster
Verticaデータベースを別のVerticaクラスタへコピーする。

listbackup
構成ファイルに関連づけられた、既存のバックアップリストが表示される。リストアするバックアップ名を確認する場合に利用する。

init
構成ファイルで指定されているディレクトリを初期化する。最初のバックアップ取得前に、このオプションを指定し vbr.py を実行する必要がある。もし構成ファイルに指定されたディレクトリが存在しない場合は、このタイミングで作成される。
--restore-objects「フルバックアップ」または「オブジェクトレベルのバックアップ」から、リストア対象のオブジェクト名を指定する。
--config-file利用する構成ファイルを指定する。このファイルが存在しないと vbr.py の実行はできない。


実行結果

フルバックアップから「products」テーブルを指定し、リストアした場合の動作になります。

1. 現在のテーブル情報


2. フルバックアップの取得


3. テーブルの削除


4. 復旧対象テーブルのリストア


5. リストア後のテーブル情報


参考情報

・Verticaのバックアップ方法
http://vertica-tech.ashisuto.co.jp/vertica_backup/

・既存のテーブルを上書きしないでリストアする方法 (7.2新機能)
http://vertica-tech.ashisuto.co.jp/coexist/

検証バージョンについて

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