第7章 管理手順

目次

ストアのバックアップ
スナップショットの作成
スナップショットの管理
ストアのリカバリ
Loadプログラムの使用
スナップショットからの直接リストア
Avroスキーマの管理
スキーマの追加
スキーマの変更
スキーマの無効化および有効化
スキーマの表示
障害が発生したストレージ・ノードの置換
ストアの検証
ストアの監視
イベント
ストアのパラメータの設定
パラメータの変更
ストア全体ポリシー・パラメータの設定
管理パラメータ
ストレージ・ノード・パラメータ
レプリケーション・ノード・パラメータ
Oracle NoSQL Databaseデプロイの削除
既存のOracle NoSQL Databaseデプロイの更新
不適切なストレージ・ノードHAポート範囲の修正

この章には、Oracle NoSQL Databaseの管理者にとって一般的に有用な手順が含まれています。

ストアのバックアップ

KVStoreをバックアップするには、ストア内のノードのスナップショットを作成し、作成したスナップショットを必要に応じて安全な場所にコピーします。Oracle NoSQL Databaseの分散特性や規模の点から、1つのマシンにストア全体のバックアップが収容されることはあまりないということに注意してください。次の手順では、スナップショットの格納場所と格納方法については説明しません。

スナップショットの作成

バックアップを作成するには、ストアのスナップショットを作成します。スナップショットによって、同じパーティション内の全レコード間の整合性はとられますが、各シャードのパーティション間の整合性はとられません。基になるスナップショット操作は、潜在的な不整合を最小限に抑えるために可能なかぎり並列で実行されます。

管理CLIでスナップショットを作成するには、snapshot createコマンドを使用します。

kv-> snapshot create -name <snapshot name>

このコマンドを使用すると、名前付きのスナップショットを作成または削除できます。(スナップショットの名前は、<name>パラメータを使用して指定します。)現在ストアに格納されているすべてのスナップショットを削除することもできます。

たとえば、スナップショットの作成と削除を行うには、次のようにします。

kv-> snapshot create -name thursday
Created snapshot named 110915-153514-thursday
kv-> snapshot remove -name 110915-153514-thursday
Removed snapshot 110915-153514-thursday 

現在ストアに格納されているすべてのスナップショットを削除することもできます。

kv-> snapshot create -name thursday
Created snapshot named 110915-153700-thursday
kv-> snapshot create -name later
Created snapshot named 110915-153710-later
kv-> snapshot remove -all
Removed all snapshots

注意

スナップショットは、構成の(トポロジ的な)変更が行われている間は作成しないでください。スナップショットに整合性がなく、使用できなくなる可能性があるためです。

スナップショットの管理

スナップショットを実行すると、システムの各レプリケーション・ノード(マスターとレプリカの両方を含む)からデータが収集されます。操作が成功しないノードがシャード内に1つでもあると、その操作は失敗します。

スナップショットのストア外コピーを作成する場合、シャードごとに1つのノードに対してのみスナップショット・データをコピーします。可能なかぎり、スナップショットの作成時にマスターとして稼働していたノードから取得したスナップショット・データをコピーします。

現在マスターとして稼働しているノードは、pingコマンドを使用して特定できます。ストア内のシャードごとに1つのマスターが存在し、MASTERというキーワードで識別されます。たとえば、次の例では、ストレージ・ノードsn1で実行されているレプリケーション・ノードrg1-rn1が現在のマスターです。

> java -jar KVHOME/lib/kvstore.jar ping -port 5000 -host node01
Pinging components of store mystore based upon topology sequence #107
mystore comprises 300 partitions on 3 Storage Nodes
Datacenter:Boston [dc1]
Storage Node [sn1] on node01:5000   Datacenter: Boston [dc1] Status: 
RUNNING Ver: 11gR2.1.0.28
       Rep Node [rg1-rn1] Status:RUNNING,MASTER at sequence number:31
haPort:5011
Storage Node [sn2] on node02:5000   Datacenter: Boston [dc1] Status: 
RUNNING Ver: 11gR2.1.0.28
       Rep Node [rg1-rn2] Status:RUNNING,REPLICA at sequence number:31
haPort:5011
Storage Node [sn3] on node03:5000   Datacenter: Boston [dc1] Status: 
RUNNING Ver: 11gR2.1.0.28
       Rep Node [rg1-rn3] Status:RUNNING,REPLICA at sequence number:31
haPort:5011 

注意

スナップショットには、管理データベースが含まれます。ストアのリストア方法によっては、管理データベースが有用な場合も有用でない場合もあります。

ローカル・ストレージ・ノードのスナップショット・データは、KVROOTディレクトリ内のディレクトリに格納されます。ストア内の各ストレージ・ノードに次の名前のディレクトリが作成されます。

KVROOT/<store>/<SN>/<resource>/snapshots/<snapshot_name>/files

説明:

  • <store>は、ストアの名前です。

  • <SN>は、ストレージ・ノードの名前です。

  • <resource>は、ストレージ・ノードで実行されているリソースの名前です。通常これは、レプリケーション・ノードの名前です。

  • <snapshot_name>は、スナップショットの名前です。

スナップショット・データは、多数のファイルで構成され、それらはすべて重要です。次に例を示します。

 > ls /var/kvroot/mystore/sn1/rg1-rn1/snapshots/110915-153828-later
00000000.jdb 00000002.jdb 00000004.jdb 00000006.jdb
00000001.jdb 00000003.jdb 00000005.jdb 00000007.jdb