ライブラリ・バージョン12.1.3.0

第7章 管理手順
前 |  | 次

## 第7章 管理手順

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

### 注意

Oracle NoSQL Databaseのストレージ・ノードおよび管理では、埋込みデータベース(Oracle Berkeley DB、Java Edition)を利用します。このデータベースで保持されるファイルを直接操作することはできません。通常、オラクル社カスタマ・サポートから要求されないかぎり、KVROOTの下にあるファイルおよびディレクトリを移動、削除または変更するのはお薦めしません。特に、`jdb`接尾辞で終わるファイルは移動および削除しないでください。これは、KVROOTの下の`env`ディレクトリにあります。

## ストアのバックアップ

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 on all 3 nodes
    kv-> snapshot remove -name 110915-153514-thursday
    Removed snapshot 110915-153514-thursday

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

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

### 注意

スナップショットは、構成の(トポロジ的な)変更が行われている間は作成しないでください。スナップショットに整合性がなく、使用できなくなる可能性があるためです。スナップショットの作成時に、pingを使用してから、後でロードまたはリストア中に使用できるよう、マスターを識別する情報を保存します。詳細は、「スナップショットの管理」を参照してください。

### スナップショットの管理

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

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

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

    java -Xmx256m -Xms256m \
    -jar KVHOME/lib/kvstore.jar ping -port 5000 -host node01
    Pinging components of store mystore based upon topology sequence #107
    Time: 2013-12-18 21:07:44 UTC
    mystore comprises 300 partitions on 3 Storage Nodes
    Storage Node [sn1] on node01:5000
    Zone: [name=Boston id=zn1 type=PRIMARY]
    Status: RUNNING   Ver: 12cR1.3.0.1 2013-12-18 06:35:02 UTC
    Build id: 8e70b50c0b0e
        Rep Node [rg1-rn1] Status: RUNNING,MASTER at sequence number: 31
    haPort: 5011
    Storage Node [sn2] on node02:5000
    Zone: [name=Boston, id=zn1 type=PRIMARY]
    Status: RUNNING   Ver: 12cR1.3.0.1 2013-12-18 06:35:02 UTC
    Build id: 8e70b50c0b0e
        Rep Node [rg1-rn2] Status: RUNNING,REPLICA at sequence number: 31
    haPort: 5011
    Storage Node [sn3] on node03:5000
    Zone: [name=Boston, id=zn1 type=PRIMARY]
    Status: RUNNING   Ver: 12cR1.3.0.1 2013-12-18 06:35:02 UTC
     Build id: 8e70b50c0b0e
        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

前 |  | 次
NoSQL DBリリース1.0からNoSQL DBリリース2.0へのアップグレード | ホーム | ストアのリカバリ