KVLocalストアのバックアップ

スナップショットを使用すると、KVLocalストアのバックアップを作成してそのデータと構成をコピーできます。後で、スナップショットからKVLocalストアのデータおよび構成をリストアできます。

アプリケーションで次のKVLocal APIを呼び出すことで、スナップショットの作成、スナップショットからのリストア、またはスナップショットの削除ができます。
メソッド名 説明 パラメータ 結果
String createSnapshot(String name) 指定された名前を接尾辞として使用して、新しいスナップショットを作成します。

このメソッドでは、リストア・アクティビティに必要なファイルを含め、KVLocalストアのデータファイルおよび構成ファイルがバックアップされます。スナップショット・データは、kvrootディレクトリ内のディレクトリに格納されます。

ノート:

スナップショットを作成すると、ホスト・マシンのサブディレクトリにそれが格納されます。ただし、これらのスナップショットは、個別のストレージにコピーされないかぎり、永続バックアップにはなりません。ユーザーは、データの安全性を確保するために、各スナップショットを別の場所(できれば別のマシン上)にコピーする必要があります。
name: スナップショット名に使用する接尾辞を指定します。 生成されたスナップショット名。生成されたスナップショット名には、日時接頭辞が付いています。date-time接頭辞は、YYMMDD形式の6桁の年、月、日の値と、HHMMSS形式の6桁の時間、分、秒のタイムスタンプで構成されます。その日付と時間の値はダッシュ(-)で区切られており、その後にダッシュ(-)が付けられてから、入力したスナップショット名が示されています。

例: nameパラメータの値としてThursdayを指定した場合、生成されるスナップショット名は110915-153514-Thursdayのようになります。

KVLocal restoreFromSnapshot(String rootDir, String name) スナップショットからストアをリストアします。

このメソッドでは、kvrootディレクトリ内のデータが、スナップショット内の指定されたデータと置き換えられてから、埋込みNoSQLデータベース・インスタンスが起動されます。このAPIを使用して取得したKVLocalインスタンスは、KVLocal停止APIを使用して明示的に停止する必要があります。

rootDir: ストアのルート・ディレクトリを指定します。

name: スナップショットの名前を指定します(日付と時間を含む、createSnapshot APIで生成された名前)。

KVLocalのインスタンス。
void removeSnapshot(String name) スナップショットを削除します。

ヒント:

格納場所がなくならないように、古いスナップショットを定期的に削除する必要があります。
name: スナップショットの完全名を指定します(日付と時間を含む、createSnapshot APIで生成された名前)。  
String[] listSnapshots() すべてのスナップショットの名前をリストします。   スナップショットの名前の配列。
import oracle.kv.KVLocalConfig;
import oracle.kv.KVLocal;

/* Start the KVLocal */
KVLocalConfig config = new KVLocalConfig.InetBuilder("/home/kvstore").build();
KVLocal local = KVLocal.start(config);

/* Create a Snapshot */
String snapshotName = local.createSnapshot("sp1");

/* List all Snapshots */
String snapshotName = local.listSnapshots();

/* Stop the KVLocal */
local.stop();

/* Restore from a Snapshot */
local = KVLocal.restoreFromSnapshot(rootDir,snapshotName);
import oracle.kv.KVLocalConfig;
import oracle.kv.KVLocal;

/* Start the KVLocal */
KVLocalConfig config = new KVLocalConfig.UnixDomainBuilder("/home/kvstore").build();
KVLocal local = KVLocal.start(config);

/* Create a Snapshot */
String snapshotName = local.createSnapshot("sp1");

/* List all Snapshots */
String snapshotName = local.listSnapshots();

/* Stop the KVLocal */
local.stop();

/* Restore from a Snapshot */
local = KVLocal.restoreFromSnapshot(rootDir,snapshotName);