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

付録A KVStoreコマンド・リファレンス
前 |  | 次

## 付録A KVStoreコマンド・リファレンス

コマンドライン・インタフェース(CLI)または`"java -Xmx256m -Xms256m -jar <kvhome>/lib/kvstore.jar <command>"`を介してKVStoreコマンドにアクセスできます。次の項では、`"java -jar"`を介してアクセスするCLIコマンドとユーティリティ・コマンドの両方について説明します。

## CLIコマンドとサブコマンド

コマンドライン・インタフェース(CLI)は、インタラクティブに実行されるか、1つのコマンドの実行に使用されます。CLIを開始する一般的な使用方法は次のとおりです。

    java -Xmx256m -Xms256m \
    -jar KVHOME/lib/kvstore.jar runadmin
    -host <hostname> -port <port> [single command and arguments]

スクリプト・ファイルを実行する場合、"load"コマンドをコマンドラインで使用できます。

    java -Xmx256m -Xms256m \
    -jar KVHOME/lib/kvstore.jar runadmin
    -host <hostname> -port <port> load -file <path-to-script>

オプションの引数が何も渡されていない場合は、インタラクティブに開始します。追加的な引数が渡されている場合は、実行してから返される1つのコマンドとして解釈されます。CLIのインタラクティブなプロンプトは次のとおりです。

    "kv-> "

コマンドが正常に完了すると、CLIのプロセス終了コードはゼロです。エラーがある場合、終了コードはゼロ以外になります。

CLIには多数のコマンドが含まれますが、一部のコマンドにはサブコマンドがあります。複合的なコマンドは、情報を表示するための"show"やスキーマを操作するための"ddl"などの一般的な機能でグループ化されます。すべてのコマンドで次のフラグを使用できます。

- -help

  コマンドまたはサブコマンドのオンライン・ヘルプを表示します。

- ?

  -helpと同じ意味です。コマンドまたはサブコマンドのオンライン・ヘルプを表示します。

- -verbose

  コマンドの冗長出力を有効にします。

CLIコマンドの一般的な形式は次のとおりです。

1. コマンドはすべて、次のような構造になります。

       "kv-> command [sub-command] [arguments]

2. 引数はすべて、"-"で始まるフラグを使用して指定します。

3. コマンドとサブコマンドでは大/小文字は区別されず、可能な場合は一部の文字列(接頭辞)で照合されます。ただし、引数では大/小文字が区別されます。

この付録ではコマンドとサブコマンドに関する次の情報が示されます。

### aggregate

数値フィールドに対し、count、sum、average、keys、startおよびendなどの単純なデータ集計操作を実行します。aggregateコマンドはストア内のキーまたは行のマッチングを繰り返すため、指定されたキーまたは行のサイズによっては、完了するのにとても長い時間がかかる可能性があります。

aggregateサブコマンドは次のとおりです。

- aggregate kv

- aggregate table

#### aggregate kv

    aggregate kv [-count] [-sum <field[,field,..]>] [-avg <field[,field,..]>]
                  [-key <key>] [-schema <name>]
                  [-start <prefixString>] [-end <prefixString>]

指定キーを使用した単純なデータ集計操作を実行します。

説明:

- `-count`

  一致するレコードの件数を返します。

- `-sum`

  一致するフィールドの値の合計を返します。指定されたフィールドを持つスキーマのすべてのレコードがマッチングされます。一致しないレコードは無視されます。

- `-avg`

  一致するフィールドの値の平均を返します。指定されたフィールドを持つスキーマのすべてのレコードがマッチングされます。一致しないレコードは無視されます。

- `-key`

  使用するキー(接頭辞)を指定します。

- `-schema`

  使用するAvroスキーマを指定します。

- `-start`および`-end`フラグ

  反復に使用される範囲を制限します。これは特に、適切にフォーマットされた文字列などのキー・コンポネントに基づいたレコードの範囲を取得する場合に有効です。`-start`および`-end`引数は、両端を含みます。

たとえば、ストア内のすべてのレコードの単純な`count`は次のとおりです。

    kv-> aggregate kv -count
    count: 33508

`Sum`および`average`は、一致するレコードの特定のフィールド名を操作しますが、これは、その名前のフィールドを含むAvroレコードのみが使用されるということです。Sumおよびaverageは、AvroタイプがINT、LONG、FLOATおよびDOUBLEの数値フィールドのみを操作します。

たとえば、次のようなスキーマがあるとします。

    {
       "type" : "record",
       "name" : "Cookie",
       "fields" : [ {
       "name" : "id",
       "type" : "string",
       "default" : ""
       }, {
         "name" : "frequency",
         "type" : "int",
         "default" : 0
       }, {
         "name" : "lastVisit",
         "type" : "string",
         "default" : ""
       }, {
         "name" : "segments",
         "type" : {
            "type" : "array",
         "items" : "string"
         },
         "default" : [ ]
       } ]
    }

`frequency`という名前のフィールドの`sum`の例:

    kv-> aggregate kv -sum frequency -key /visits/charitable_donors/date
    sum(frequency): 2068

`frequency`という名前のフィールドの`average`の例:

    kv -> aggregate kv -avg frequency -key /visits/charitable_donors/date
    avg(frequency): 2.494571773220748

#### aggregate table

    aggregate table -name <name>
                  [-count] [-sum <field[,field,..]>]
                  [-avg <field[,field,..]>]
                  [-index <name>]
                  [-field <name> -value <value>]*
                  [-field <name> [-start <value>] [-end <value>]]
                  [-json <string>]

表の数値フィールドに対し、単純なデータ集計操作を実行します。

説明:

- `-table`

  操作を行う表を指定します。

- `-count`

  一致するレコードの件数を返します。

- `-sum`

  一致するフィールドの値の合計を返します。

- `-avg`

  一致するフィールドの値の平均を返します。

- `-index`

  使用する索引の名前を指定します。索引を使用する場合、指定されたフィールドが指定の索引に属する必要があり、索引エントリが一致する行全体で集計が実行されます。

- `-field`および`-value`のペアを使用して、集計用の照合に使用する主キーのフィールド値を指定するか、キーを空にして表全体を照合できます。

- `-field`フラグと、その`-start`および`-end`フラグは、行の照合に使用する範囲の制限に使用できます。

- `-json`

  集計に使用するフィールドおよび値をJSON入力文字列として指定します。

### change-policy

    change-policy [-dry-run] -params [name=value]*

まだデプロイされていないサービスに適用される、ストア全体ポリシーのパラメータを変更します。変更するパラメータは-paramsフラグの後に続き、スペースで区切られます。

スペースが埋め込まれたパラメータ値は、name="value with spaces"のように引用符で囲む必要があります。-dry-runが指定された場合、変更は行われずに新規パラメータが返されます。

ポリシー・パラメータの設定の詳細は、「ストア全体ポリシー・パラメータの設定」を参照してください。

### configure

    configure -name <storename>

新規ストアを構成します。他の管理を実行できるようにするには、このコールを事前に行う必要があります。

`-name`オプションを使用すると、構成するKVStoreの名前を指定できます。名前は、ストアに保持されるレコードのパスの形成に使用されます。このため、ファイル・パス内での使用に支障を来たす可能性のある文字をストア名に使用しないでください。コマンドライン・インタフェースでは無効なストア名は使用できません。有効な値は英数字、'-'、'_'、および'.'です。

### connect

指定されたホストおよびレジストリ・ポートに接続して管理機能を実行する、または指定されたストアに接続してデータ・アクセス機能を実行するコマンドをカプセル化します。

現行のストアがある場合は、別のストアに接続する前にクローズされます。特定のKVStoreのオープンに失敗した場合、次の警告が表示されます。"Warning: You are no longer connected to KVStore"

サブコマンドは次のとおりです。

- connect admin

- connect store

#### connect admin

    connect admin -host <hostname> -port <registry port> [-username <user>]
    [-security <security-file-path>]

指定されたホストおよびレジストリ・ポートに接続して、管理機能を実行します。管理サービスがターゲット・ホストでアクティブである必要があります。インスタンスが保護されている場合、ログイン資格証明を入力する必要がある可能性があります。

#### connect store

    connect store -host <hostname> -port <port> -store <storename> [-username
    <user>] [-security <security-file-path>]

KVStoreに接続し、データ・アクセス機能を実行します。インスタンスが保護されている場合、ログイン資格証明を入力する必要がある可能性があります。

### delete

ストアまたは表の行からキー/値のペアを削除するコマンドをカプセル化します。サブコマンドは次のとおりです。

- delete kv

- delete table

#### delete kv

    delete kv [-key <key>] [-start prefixString] [-end prefixString] [-all]

1つ以上のキーを削除します。`-all`が指定される場合、指定のキーで始まるすべてのキーを削除します。キーが指定されていない場合、ストア内のすべてのキーを削除します。`-start` および`-end`フラグは、削除に使用する範囲の制限に使用できます。

たとえば、rootで始まるストア内のすべのキーを削除するには、次のようにします。

    kv -> delete kv -all
    301 Keys deleted starting at root

#### delete table

    delete table -name <name>
     [-field <name> -value <value>]*
     [-field <name> [-start <value>] [-end <value>]]
     [-ancestor <name>]* [-child <name>]*
     [-json <string>] [-delete-all]

指定された表から1つまたは複数の行を削除します。表名はピリオドで区切られた名前で、フォーマットは`tableName[.childTableName]*`です。

- `-field`および`-value`のペアを使用して主キーのフィールド値を指定するか、キーを空にして表のすべての行を削除することも可能です。

- `-field`フラグと、その`-start`および`-end`フラグを使用して、親キーに関連する削除のサブ範囲を制限できます。

- `-ancestor`および`-child`フラグを使用して、ターゲット表に加えて特定の祖先表または子孫表(あるいはその両方)の行を削除します。

- `-json`はキー・フィールド値がJSON形式であることを示します。

- `-delete-all`を使用すると、表内のすべての行を削除します。

### ddl

ストア内のスキーマを操作する作業をカプセル化します。サブコマンドは次のとおりです。

- ddl add-schema

- ddl enable-schema

- ddl disable-schema

ストア内のスキーマの管理の詳細は、「Avroスキーマの管理」を参照してください。

#### ddl add-schema

    ddl add-schema <-file <file> | -string <schema string>>
    [-evolve] [-force]

新しいスキーマを追加するか、または同じ名前を持つ既存のスキーマを変更(展開)します。-evolveフラグを使用して、スキーマが変更されていることを示します。-forceフラグを使用して、変更の警告を無視してスキーマを追加します。

#### ddl enable-schema

    ddl enable-schema -name <name>.<ID>

以前無効だった既存のスキーマを有効にします。

#### ddl disable-schema

    ddl disable-schema -name <name>.<ID>

既存のスキーマを無効にします。

### exit

    exit | quit

インタラクティブなコマンド・シェルを終了します。

### get

ストアからキー/値のペアを取得または表から行を取得するコマンドをカプセル化します。サブコマンドは次のとおりです。

- get kv

- get table

#### get kv

    get kv [-key <keyString>] [-json] [-file <output>] [-all] [-keyonly]
    [-valueonly] [-start <prefixString>] [-end <prefixString>]

指定されたキーを使用して単純なget操作を実行します。取得した値に表示可能な文字が含まれている場合はそれが出力され、そうでない場合は、そのバイト配列がBase64を使用して表示用にエンコーディングされます。この変換を示すために"[Base64]"が追加されます。getコマンドの引数は次のとおりです。

- `-key <keyString>`

  使用するフル・パスまたは接頭辞キー・パスを示します。`<keyString>`がフル・キー・パスの場合、1つの値の情報が返されます。この`get`コマンドのフォーマットは、`<keyString>`です。`<keyString>`が接頭辞キー・パスである場合、複数のキー/値のペアが返されます。この`get`コマンドのフォーマットは、`get -key <keyString> -all`です。キーは、メジャーおよびマイナー・キー・パスの両方、またはメジャー・キー・パスのみから構成されます。<keyString>フォーマットは、"major-key-path/-/minor-key-path"です。さらに、接頭辞キー・パスの場合、キーはメジャー・キー・パスの接頭辞部分から構成されます。

  たとえば、KVStoreにある次のサンプル・キーを考えます。

      /group/TC/-/user/bob
      /group/TC/-/user/john
      /group/TC/-/dep/IT
      /group/SZ/-/user/steve
      /group/SZ/-/user/diana

  メジャー・キー・パスの接頭辞部分のみを含むキーを指定したgetコマンドは、次のようになります。

      kv -> get kv -key /group -all -keyonly
      /group/TC/-/user/bob
      /group/TC/-/user/john
      /group/TC/-/dep/IT
      /group/SZ/-/user/steve
      /group/SZ/-/user/diana

  メジャー・キー・パスを含むキーを指定したgetコマンドは、次のようになります。

      kv -> get kv -key /group/TC -all -keyonly
      /group/TC/-/user/bob
      /group/TC/-/user/john
      /group/TC/-/dep/IT

  メジャーおよびマイナー・キー・パスを含むキーを指定したgetコマンドは、次のようになります。

      kv -> get kv -key /group/TC/-/user -all -keyonly
      /group/TC/-/user/bob
      /group/TC/-/user/john

      kv -> get kv -key /group/TC/-/user/bob
      {
          "name"  : "bob.smith",
          "age"   : 20,
          "email" : "bob.smith@gmail.com",
          "phone" : "408 555 5555"
      }

- `-json`

  レコードがJSONの場合、指定する必要があります。

- `-file <output>`

  切り捨てられる出力ファイルを指定して、既存の内容をすべて、新しい内容で置き換えます。

  次の例では、キー`/Smith/Bob`からのレコードが、ファイル`"data.out"`に書き込まれます。

      kv -> get kv -key /Smith/Bob -all -file ./data.out

  次の例では、ファイル`"data.out"`の内容が、キー`/Wong/Bill`からのレコードで置き換えられます。

      kv -> get kv -key /Wong/Bill -all -file ./data.out

- `-all`

  指定のキーで始まる反復に指定されます。キーの引数が指定されていない場合、ストア全体が反復されます。

- `-keyonly`

  `-all`とともに指定され、キーのみを返します。

- `-valueonly`

  `-all`とともに指定され、値のみを返します。

- `-start <prefixString>`および`-end <prefixString>`

  反復に使用される範囲を制限します。これは特に、適切にフォーマットされた文字列などのキー・コンポネントに基づいたレコードの範囲を取得する場合に有効です。`-start`および`-end`引数は、どちらも両端を含みます。

  ### 注意

  `-start`および`-end`は、`-key <keyString>`で指定されるキー・コンポーネントにのみ影響します。`<keyString>`の値は単純な文字列で構成する必要があり、複数のキー・コンポーネントは指定できません。

  たとえば、キー構造が次のようになっているログを考えます。

      /log/<year>/<month>/-/<day>/<time>

  同じ日のすべてのログ・エントリは同じパーティションに入れられますが、日付によってシャード間での分割が行われます。`time`フォーマットは、"hour.minute"です。

  そのため、次のように指定して、2013年2月および3月のすべてのログ・エントリの`get`が可能です。

      kv-> get kv -all -keyonly -key /log/2013 -start 02 -end 03
      /log/2013/02/-/01/1.45
      /log/2013/02/-/05/3.15
      /log/2013/02/-/15/10.15
      /log/2013/02/-/20/6.30
      /log/2013/02/-/28/8.10
      /log/2013/03/-/01/11.13
      /log/2013/03/-/15/2.28
      /log/2013/03/-/22/4.52
      /log/2013/03/-/31/11.55

  より完全なキー・パスを指定すると、より明確な`get`コマンドになります。たとえば、4月1日から4月4日までのすべてのログ・エントリを表示するには、次のようにします。

      kv-> get kv -all -keyonly -key /log/2013/04 -start 01 -end 04
      /log/2013/04/-/01/1.03
      /log/2013/04/-/01/4.05
      /log/2013/04/-/02/7.22
      /log/2013/04/-/02/9.40
      /log/2013/04/-/03/4.15
      /log/2013/04/-/03/6.30
      /log/2013/04/-/03/10.25
      /log/2013/04/-/04/4.10
      /log/2013/04/-/04/8.35

サブコマンド「get table」を参照してください。

#### get table

    get table -name <name> [-index <name>]
    [-field <name> -value <value>]*
    [-field <name> [-start <value>] [-end <value>]]
    [-ancestor <name>]* [-child <name>]*
    [-json <string>] [-file <output>] [-pretty]

取得操作を実行し、指定された表から行を取得します。表名はピリオドで区切られた名前で、フォーマットは`tableName[.childTableName]*`です。

- `-field`および`-value`のペアを使用して主キーのフィールド値を指定するか、`-index`で指定された索引を使用している場合は索引キーのフィールド値を指定するか、あるいはキーを空にして表全体で繰り返します。

- `-field`フラグと、その`-start`および`-end`フラグを使用して、親キーに関連する取得のサブ範囲を制限できます。

- `-ancestor`および`-child`フラグを使用して、ターゲット表に加えて特定の祖先表または子孫表(あるいはその両方)の結果を返します。

- `-file`を使用して出力ファイルを指定します。出力ファイルは切り捨てられます。

- `-pretty`は、インデントおよび改行できれいにフォーマットされたJSON文字列に使用されます。

### help

    help [command [sub-command]]

ヘルプ・メッセージを出力します。引数がない場合は最上位のシェル・コマンドが一覧表示されます。追加的なコマンドおよびサブコマンドがある場合は、追加の詳細が示されます。

    kv-> help load load -file <path to file>
      Loads the named file and interpret its contents as a script of
      commands to be executed. If any of the commands in the script
      fail, execution will stop at that point.

### hidden

通常は非表示になっているパラメータの可視性と設定を切り替えます。このパラメータは、Oracle Supportでアドバイスされた場合のみ使用してください。

### history

    history [-last <n>] [-from <n>] [-to <n>]

コマンド履歴を表示します。デフォルトではすべての履歴が表示されます。表示範囲の選択にはオプションのフラグが使用されます。

### load

    load -file <path to file>

指定したファイルをロードし、その内容を実行対象のコマンドのスクリプトとして解釈します。スクリプト内のいずれかのコマンドが失敗した場合、実行はその時点で停止します。

たとえば、スクリプト・ファイル`load-contacts-5.txt`に次のコマンドが収集されているとします。

    ### Begin Script ###
    put -key /contact/Bob/Walker -value "{\"phone\":\"857-431-9361\", \
    \"email\":\"Nunc@Quisque.com\",\"city\":\"Turriff\"}" \
    -json example.ContactInfo
    put -key /contact/Craig/Cohen -value "{\"phone\":\"657-486-0535\", \
    \"email\":\"sagittis@metalcorp.net\",\"city\":\"Hamoir\"}" \
    -json example.ContactInfo
    put -key /contact/Lacey/Benjamin -value "{\"phone\":\"556-975-3364\", \
    \"email\":\"Duis@laceyassociates.ca\",\"city\":\"Wasseiges\"}" \
    -json example.ContactInfo
    put -key /contact/Preston/Church -value "{\"phone\":\"436-396-9213\", \
    \"email\":\"preston@mauris.ca\",\"city\":\"Helmsdale\"}" \
    -json example.ContactInfo
    put -key /contact/Evan/Houston -value "{\"phone\":\"028-781-1457\", \
    \"email\":\"evan@texfoundation.org\",\"city\":\"Geest-G\"}" \
    -json example.ContactInfo
    exit
    ### End Script ###

スクリプトを実行するには、データ・コマンドライン・インタフェースで`load`コマンドを使用します。

### 注意

スクリプトを実行する前に、ストアにスキーマをロードしておく必要があります。スキーマの追加に関する詳細は、『Oracle NoSQL Databaseスタート・ガイド』のスキーマの追加に関する項を参照してください。

    > java -Xmx256m -Xms256m \
    -jar KVHOME/lib/kvstore.jar runadmin -host node01 -port 5000 \
    -store mystore
    kv-> load -file ./load-contacts-5.txt
    Operation successful, record inserted.
    Operation successful, record inserted.
    Operation successful, record inserted.
    Operation successful, record inserted.
    Operation successful, record inserted.

ストアには次のスキーマが事前にロードされていました。

    {
         "type": "record",
         "name": "ContactInfo",
         "namespace": "example",
         "fields": [
             {"name": "phone", "type": "string", "default": ""},
             {"name": "email", "type": "string", "default": ""},
             {"name": "city", "type": "string", "default": ""}
         ]
    }

ロード・コマンドの使用の詳細は、「ストアを構成するためのスクリプトの使用」を参照してください。

### logtail

ストア全体のログ・ファイルを、[Enter]キーが押されて中断されるまで監視します。

### ping

ストアのランタイム・コンポーネントに対してPingを実行します。トポロジから使用可能なコンポーネントにのみアクセスできます。これにより、管理サービスが除外されます。

### plan

ストア状態を変更する作業またはジョブをカプセル化します。interruptおよびwait以外のすべてのサブコマンドが永続的な状態を変更します。プランは非同期ジョブであるため、`-wait`が使用されていなければすぐに返されます。プラン・ステータスは`show plans`を使用してチェックできます。すべてのプラン用のオプションの引数は、次のとおりです。

- `-wait`

  プランが返される前に終了するまで待機します。

- `-plan-name`

  プランの名前。これらは一意です。

- `-noexecute`

  プランを実行しません。指定された場合、プランは後で`plan execute`を使用して実行できます。

- `-force`

  プラン実行およびプラン再試行を強制実行するために使用されます。

サブコマンドは次のとおりです。

- plan add-index

- plan add-table

- plan cancel

- plan change-parameters

- plan change-storagedir

- plan change-user

- plan create-user

- plan deploy-admin

- plan deploy-datacenter

- plan deploy-sn

- plan deploy-topology

- plan deploy-zone

- plan drop-user

- plan evolve-table

- plan execute

- plan interrupt

- plan migrate-sn

- plan remove-admin

- plan remove-datacenter

- plan remove-index

- plan remove-sn

- plan remove-table

- plan remove-zone

- plan repair-topology

- plan start-service

- plan stop-service

- plan wait

#### plan add-index

    plan add-index -name <name> -table <name> [-field <name>]*
    [-desc <description>]
    [-plan-name <name>] [-wait] [-noexecute] [-force]

ストア内の表に索引を追加します。表名はピリオドで区切られた名前で、フォーマットは`tableName[.childTableName]*`です。

#### plan add-table

    plan add-table -name <name>
    [-plan-name <name>] [-wait] [-noexecute] [-force]

ストアに新しい表を追加します。表名はピリオドで区切られた名前で、フォーマットは`tableName[.childTableName]*`です。

表を追加する前に、まず`table create`コマンドを使用して指定された表を作成します。次の例では、表を定義します(名前で表を作成し、フィールドおよびその他の表メタデータを追加します)。

    ## Enter into table creation mode
    table create -name user -desc "A sample user table"
    user->
    user-> help
    Usage: add-array-field |
    add-field |
    add-map-field |
    add-record-field |
    add-schema |
    cancel |
    exit |
    primary-key |
    remove-field |
    set-description |
    shard-key |
    show

    ## Now add the fields
    user-> help add-field
    Usage: add-field -type <type> [-name <field-name> ] [-not-required]
    [-nullable] [-default <value>] [-max <value>] [-min <value>]
    [-max-exclusive] [-min-exclusive] [-desc <description>]
    [-size <size>] [-enum-values <value[,value[,...]]
    <type>: INTEGER, LONG, DOUBLE, FLOAT, STRING, BOOLEAN, DATE, BINARY, FIX
    ED_BINARY, ENUM

    ## Adds a field. Ranges are inclusive with the exception of String,
    ## which will be set to exclusive.
    user-> add-field -type Integer -name id
    user-> add-field -type String -name firstName
    user-> add-field -type String -name lastName
    user-> help primary-key
    Usage: primary-key -field <field-name> [-field <field-name>]*
    ## Sets primary key.
    user-> primary-key -field id
    ## Exit table creation mode
    user-> exit
    ## Table User built.

`table list -create`を使用すると、追加できる表の一覧を表示します。次の例はデプロイメントの準備が整っている表を一覧表示します。

    kv-> table list
    ## Tables to be added:
    ## User -- A sample user table
    kv-> table list -name user
    ## Add table User:
    {
      "type" : "table",
      "name" : "User",
      "id" : "User",
      "description" : "A sample user table",
      "shardKey" : [ "id" ],
      "primaryKey" : [ "id" ],
      "fields" : [ {
        "name" : "id",
        "type" : "INTEGER"
      }, {
        "name" : "firstName",
        "type" : "STRING"
      }, {
        "name" : "lastName",
        "type" : "STRING"
      } ]
    }

次の例では、ストアに表を追加します。

    ## Add the table to the store.
    kv-> help plan add-table
    kv-> plan add-table -name user -wait
    Executed plan 5, waiting for completion...
    Plan 5 ended successfully
    kv-> show tables -name user
    {
      "type" : "table",
      "name" : "User",
      "id" : "r",
      "description" : "A sample user table",
      "shardKey" : [ "id" ],
      "primaryKey" : [ "id" ],
      "fields" : [ {
        "name" : "id",
        "type" : "INTEGER"
      }, {
        "name" : "firstName",
        "type" : "STRING"
      }, {
        "name" : "lastName",
        "type" : "STRING"
      } ]
    }

表デザインに関する詳細および例は、Oracle NoSQL Database表および索引の概要を参照してください。

#### plan cancel

    plan cancel -id <plan id> | -last

実行中ではないプランを取り消します。実行中のプランを取り消すにはその前に中断する必要があります。

`-last`オプションを使用して、最も最近作成されたプランを参照します。

#### plan change-parameters

    plan change-parameters -security | -service <id> | -all-rns [-zn <id> | -
    znname <name>] | -all-admins [-zn <id> | -znname <name>] [-dry-run]
    [-plan-name <name>] [-wait] [-noexecute] [-force] -params [name=value]*

指定されたゾーンまたはすべてのゾーンにデプロイされた、指定されたサービスまたは同じタイプのすべてのサービス・インスタンスのパラメータを変更します。

`-security`フラグにより、ストア全体のグローバル・セキュリティ・パラメータの変更が可能です。他のフラグとともに使用しないでください。

`-service`フラグにより、単一インスタンスが影響を受けるようにできます。`-zn`または`-znname`フラグとともに使用しないでください。

`-all-*`フラグは、サービス・タイプのすべてのインスタンスを変更する際に使用できます。変更するパラメータは`-params`フラグの後に続き、スペースで区切られます。スペースが埋め込まれたパラメータ値は、name="value with spaces"のように引用符で囲む必要があります。

-all-*フラグの1つを-znまたは-znnameフラグを組み合せて、指定されたゾーンにデプロイされたサービス・タイプのすべてのインスタンスを変更できます。別のゾーンにデプロイされた指定タイプのインスタンスは変更しません。-all-*フラグの1つがゾーンを指定せずに使用された場合、必要なパラメータ変更は、ゾーンに関係なくストア内の指定されたタイプのすべてのインスタンスに適用されます。

`-dry-run`が指定された場合、新規パラメータが変更されずに返されます。変更できるパラメータを表示するには、コマンド`show parameters`を使用します。詳細は、「show parameters」を参照してください。

ストア内のパラメータの変更の詳細は、「ストアのパラメータの設定」を参照してください。

#### plan change-storagedir

    plan change-storagedir -sn <id> -storagedir <path> -add | -remove
    [-plan-name <name>] [-wait] [-noexecute]
    [-force]

レプリケーション・ノードを格納するために、ストレージ・ノード上のストレージ・ディレクトリを追加または削除します。

#### plan change-user

    plan change-user -name <user name>
    [-disable | -enable] [-set-password [-password <new password>]
    [-retain-current-password]] [-clear-retained-password]
    [-plan-name <name>] [-wait] [-noexecute] [-force]

ストアで指定された名前でユーザーを変更します。-retain-current-password引数オプションによって、構成された保存時間の間または-clear-retained-passwordを使用して消去されるまで、-set-password操作で有効な代替パスワードとして現行パスワードを保持します。保持されたパスワードがすでにユーザーに設定されている場合、再度パスワードを設定するとエラーが発生し、レポートされます。

#### plan create-user

    plan create-user -name <user name>
    [-admin] [-disable] [-password <new password>]
    [-plan-name <name>] [-wait] [-noexecute] [-force]

ストアで指定された名前でユーザーを作成します。-admin引数は作成されたユーザーに完全な管理者権限があることを示します。

#### plan deploy-admin

    plan deploy-admin -sn <id> -port <http port> [-plan-name <name>]
    [-wait] [-noexecute] [-force]

指定されたストレージ・ノードにAdminをデプロイします。このグラフィカル・インタフェースは指定されたポート上でリスニングします。

管理のデプロイの詳細は、「特定のホストでの管理プロセスの作成」を参照してください。

#### plan deploy-datacenter

非推奨。かわりに「plan deploy-zone」を参照してください。

#### plan deploy-sn

    plan deploy-sn -zn <id> | -znname <name> -host <host> -port <port>
    [-plan-name <name>] [-wait] [-noexecute] [-force]

指定されたホストおよびポートにおけるストレージ・ノードを指定されたゾーンにデプロイします。

ストレージ・ノードのデプロイの詳細は、「残りのストレージ・ノードの作成」を参照してください。

#### plan deploy-topology

    plan deploy-topology -name <topology name> [-plan-name <name>]
    [-wait] [-noexecute] [-force]

指定されたトポロジをストアにデプロイします。この操作は、ストアのサイズおよび状態によって、時間がかかる場合があります。

申し分のないトポロジ候補のデプロイの詳細は、「トポロジ候補のデプロイ」を参照してください。

#### plan deploy-zone

    plan deploy-zone -name <zone name>
    -rf <replication factor>
    [-type [primary | secondary]]
    [-plan-name <name>] [-wait] [-noexecute] [-force]

-typeが指定されていない場合、指定されたゾーンをストアにデプロイし、プライマリ・ゾーンを作成します。

ゾーンの作成に関する詳細は、「ゾーンの作成」を参照してください。

#### plan drop-user

    plan drop-user -name <user name>
    [-plan-name <name>] [-wait] [-noexecute] [-force]

ストア内の指定された名前でユーザーを削除します。ログイン・ユーザーは自身を削除することはできません。

#### plan evolve-table

    plan evolve-table -name <name>
    [-plan-name <name>] [-wait] [-noexecute] [-force]

ストア内で表を展開します。表名はピリオドで区切られ、フォーマットは`tableName[.childTableName]*`です。

`table evolve`コマンドを使用して、指定された表を展開します。次の例では、表を展開しています。

    ## Enter into table evolution mode
    kv-> table evolve -name User
    kv-> show
    {
      "type" : "table",
      "name" : "User",
      "id" : "r",
      "description" : "A sample user table",
      "shardKey" : [ "id" ],
      "primaryKey" : [ "id" ],
      "fields" : [ {
        "name" : "id",
        "type" : "INTEGER"
      }, {
        "name" : "firstName",
        "type" : "STRING"
      }, {
        "name" : "lastName",
        "type" : "STRING"
      } ]
    }
    ## Add a field
    kv-> add-field -type String -name address
    ## Exit table creation mode
    kv-> exit
    ## Table User built.

    kv-> plan evolve-table -name User -wait
    ## Executed plan 6, waiting for completion...
    ## Plan 6 ended successfully
    kv-> show tables -name User
    {
      "type" : "table",
      "name" : "User",
      "id" : "r",
      "description" : "A sample user table",
      "shardKey" : [ "id" ],
      "primaryKey" : [ "id" ],
      "fields" : [ {
        "name" : "id",
        "type" : "INTEGER"
      }, {
        "name" : "firstName",
        "type" : "STRING"
      }, {
        "name" : "lastName",
        "type" : "STRING"
      }, {
        "name" : "address",
        "type" : "STRING"
      } ]
    }

`table list -evolve`を使用すると、展開できる表の一覧を表示します。詳細は、「plan add-table」および「table list」を参照してください。

#### plan execute

    plan execute -id <id> | -last [-wait] [-force]

作成済でまだ実行されていないプランを実行します。プランは、`-noexecute`フラグを使用して事前に作成されているはずです。

`-last`オプションを使用して、最も最近作成されたプランを参照します。

#### plan interrupt

    plan interrupt -id <plan id> | -last

実行中のプランを中断します。中断されたプランは再実行または取消のみが可能です。-lastを使用して、最も最近作成されたプランを参照します。

#### plan migrate-sn

    plan migrate-sn -from <id> -to <id> [-admin-port <admin port>]
    [-plan-name <name>] [-wait] [-noexecute] [-force]

あるストレージ・ノードから別のストレージ・ノードにサービスを移行します。古いノードは実行中ではないことが必要です。

古いノードが管理サービスをホストしていた場合は、`-admin-port`オプションが必要です。

`plan migrate-sn`コマンドを実行する前に、`-java -Xmx256m -Xms256m -jar KVHOME/lib/kvstore.jar stop -root KVROOT`を使用して実行中の古いストレージ・ノードを停止できます。

#### plan remove-admin

     plan remove-admin -admin <id> | -zn <id> | -znname <name> [-force]
    [-plan-name <name>] [-wait] [-noexecute] [-force]

必要な管理インスタンス(単一の指定されたインスタンスまたはデプロイされたすべてのインスタンス)を指定されたゾーンに移動します。

ストア内で実行されている管理が3つ以下で`-admin`フラグを使用する場合、あるいは`-zn`または`-znname`フラグを使用して指定されたゾーンからすべての管理を削除することでストア内に残る管理が1つか2つのみの場合、`-force`フラグを使用した場合にのみ必要な管理が削除されます。

また、ストア内の管理が1つのみで`-admin`フラグを使用する場合、あるいは、`-zn`または`-znname`フラグを使用して指定されたゾーンからすべての管理を削除することでストアからすべての管理が削除されることになる場合、必要な管理は削除されません。

#### plan remove-index

    plan remove-index -name <name> -table <name>
    [-plan-name <name>] [-wait] [-noexecute] [-force]

表から索引を削除します。表名はピリオドで区切られた名前で、フォーマットはtableName[.childTableName]*です。

#### plan remove-datacenter

    plan remove-datacenter

非推奨。かわりに「plan remove-zone」を参照してください。

#### plan remove-sn

    plan remove-sn -sn <id> [-plan-name <name>]
    [-wait] [-noexecute] [-force]

指定されたストレージ・ノードをトポロジから削除します。

このコマンドは、未使用の古いストレージ・ノードをストアから削除する場合に便利です。これを行うには、「障害が発生したストレージ・ノードの置換」を参照してください。

#### plan remove-table

    plan remove-table -name <name> [-keep-data]
    [-plan-name <name>] [-wait] [-noexecute] [-force]

ストアから表を削除します。指定された表が存在し、子表を持っていない必要があります。表の索引は自動的に削除されます。デフォルトでは、この表に格納されているデータも削除されます。表データは-keep-dataフラグを指定することにより、オプションで保存できます。索引および表に格納されているデータの量によっては、長時間のプランになる可能性があります。

次の例では、表を削除しています。

    ## Remove a table.
    kv-> plan remove-table -name User
    ## Started plan 7. Use show plan -id 7 to check status.
    ## To wait for completion, use plan wait -id 7.
    kv-> show tables
    ## No table found.

詳細はOracle NoSQL Database表および索引の概要を参照してください。

#### plan remove-zone

    plan remove-zone -zn <id> | -znname <name>
    [-plan-name <name>] [-wait] [-noexecute] [-force]

指定されたゾーンをストアから削除します。

このコマンドを実行する前に、`plan remove-sn`コマンドを使用して、指定されたゾーンに属するすべてのストレージ・ノードをまず削除する必要があります。

#### plan repair-topology

    plan repair-topology
    [-plan-name <name>] [-wait] [-noexecute] [-force]

前回のdeploy-topologyまたはmigrate-snプランの中断か取消から発生した可能性がある、デプロイされた現行トポロジにおける位置メタデータの不整合を検証します。可能であれば、不整合は修復されます。この操作は、ストアのサイズおよび状態によって、時間がかかる場合があります。

#### plan start-service

    plan start-service -service <id> | -all-rns [-plan-name <name>]
    [-wait] [-noexecute] [-force]

指定されたサービスを開始します。

#### plan stop-service

    plan stop-service -service <id> | -all-rns
    [-plan-name <name>] [-wait] [-noexecute] [-force]

指定されたサービスを停止します。

このコマンドを使用して、システムによる通信の試行が行われなくなるように、影響を受けるサービスを停止します。その結果、すでに認識している障害に関連するエラー出力の量が減少します。

このコマンドは、ディスク置換プロセスの際に役立ちます。障害が発生したディスクを削除する前に、影響を受けるサービスを停止するには、`plan stop-service`コマンドを使用します。詳細は、「障害が発生したディスクの置換」を参照してください。

#### plan wait

    plan wait -id <id> | -last [-seconds <timeout in seconds>]

オプションのタイムアウトが指定されていない場合は、指定したプランが完了するまで無期限に待機します。

`-seconds`オプションを使用すると、プランが完了するまで待機する時間を指定できます。

`-last`オプションは、最も最近作成されたプランを参照します。

### pool

リソース割当てに使用されるストレージ・ノード・プールを操作するコマンドをカプセル化します。サブコマンドは次のとおりです。

- pool create

- pool join

- pool remove

#### pool create

    pool create -name <name>

ストアの作成または変更時にリソース・ディストリビューションに使用される、新規ストレージ・ノード・プールを作成します。

ストレージ・ノード・プールの作成の詳細は、「ストレージ・ノード・プールの作成」を参照してください。

#### pool join

    pool join -name <name> [-service] <snX>*

ストレージ・ノードを既存のストレージ・ノード・プールに追加します。

#### pool remove

    pool remove -name <name>

ストレージ・ノード・プールを削除します。

### put

ストアにキー/値のペアを格納または表に行を格納するコマンドをカプセル化します。サブコマンドは次のとおりです。

- put kv

- put table

#### put kv

    put kv -key <keyString> -value <valueString> [-file]
    [-hex | -json <schemaName>] [-if-absent] [-if-present]

指定のキー/値のペアをストアに格納します。次の引数が、putコマンドに適用されます。

- `-key<keyString>`

  ストアに格納するキーの名前を指定します。キーはメジャーおよびマイナー・キー・パスの両方、またはメジャー・キー・パスのみから構成されます。<keyString>フォーマットは、"major-key-path/-/minor-key-path"です。

  たとえば、メジャーおよびマイナー・キー・パスを含むキーは、次のとおりです。

      kv-> put -key /Smith/Bob/-/email -value
      "{\"id\": 1,\"email\":\"bob.smith@gmail.com\"}" -json schema.EmailInfo

  たとえば、メジャー・キー・パスのみを含むキーは、次のとおりです。

      kv-> put -key /Smith/Bob -value"{\"name\":
       \"bob.smith\", \"age\": 20, \"phone\":\"408 555 5555\", \"email\":
       \"bob.smith@gmail.com\"}" -json schema.UserInfo

- `-value <valueString>`

  -jsonと-fileのどちらも指定しない場合、<valueString>は、RAWバイト配列して扱われます。

  次に例を示します。

      kv-> put -key /Smith/Bob/-/phonenumber -value "408 555 5555"

  ### 注意

  RAW配列とデータ構造とのマッピング(シリアライズおよびデシリアライズ)はすべて、アプリケーションで行う必要があります。これは推奨される方法ではありません。かわりに、非常に単純な値に対しても、Avroを使用してください。

  `-json`でJSON文字列を指定する場合、`valueString`は引用符でカプセル化する必要があり、その内部フィールド名および文字型の値も、文字列引用文字でカプセル化する必要があります。

  次に例を示します。

      kv-> put -key /Smith/John/-/email -value
      "{\"id\": 1,\"email\":\"john.smith@gmail.com\"}" -json schema.EmailInfo

- `-file`

  値がファイルから取得されることを示します。使用するファイルは値パラメータで識別されます。

  次に例を示します。

      kv-> put -key /Smith/Bob -value ./smith-bob-info.txt
       -file -json schema.UserInfo

- `-hex`

  値が、BASE64エンコーディングによるBinHexエンコード・バイト値であることを示します。

- `-json<schemaName>`

  値がJSON文字列であることを示します。`-file`とともに指定できます。

- `-if-absent`

  指定のキーに値が存在しない場合のみ、キー/値ペアが`put`であることを示します。

- `-if-present`

  指定のキーに値が存在する場合のみ、キー/値ペアが`put`であることを示します。

#### put table

    put table -name <name> [if-absent | -if-present ]
    [-json <string>] [-file <file>] [-update]

指定された表に行を格納します。表名はピリオドで区切られた名前で、フォーマットはtable[.childTableName]*です。

説明:

- `-if-absent`

  行が存在しない場合のみ、行を格納することを示します。

- `-if-present`

  行がすでに存在する場合のみ、行を格納することを示します。

- `-json`

  値がJSON文字列であることを示します。

- `-file`

  ファイルからJSON文字列をロードするために使用できます。

- `-update`

  既存のレコードを部分的に更新するために使用できます。

### show

ストアおよびそのコンポーネントまたはスキーマの状態を表示するコマンドをカプセル化します。サブコマンドは次のとおりです。

- show admins

- show datacenters

- show events

- show faults

- show indexes

- show parameters

- show perf

- show plans

- show pools

- show schemas

- show snapshots

- show tables

- show topology

- show upgrade-order

- show users

- show zones

#### show admins

    show admins

管理サービスの基本情報を表示します。

#### show datacenters

    show datacenters

非推奨。かわりに「show zones」を参照してください。

#### show events

    show events [-id <id>] | [-from <date>] [-to <date> ]
    [-type <stat | log | perf>]

イベント詳細またはストア・イベントのリストを表示します。ステータス・イベントは、サービス・ステータスの変更を示します。

ログ・イベントは、注意が必要な場合は示されます。

パフォーマンス・イベントは通常クリティカルではありませんが、調査の評価に値します。"SEVERE"とマークされたイベントは調査する必要があります。

次の日付/時間の形式を使用できます。これはローカル・タイム・ゾーンで解釈されます。

MM-dd-yy HH:mm:ss:SS
MM-dd-yy HH:mm:ss
MM-dd-yy HH:mm
MM-dd-yy
HH:mm:ss:SS
HH:mm:ss
HH:mm

イベントの詳細は、「イベント」を参照してください。

#### show faults

    show faults [-last] [-command <command index>]

失敗しているコマンドを表示します。デフォルトではすべての使用可能な失敗コマンドが表示されます。個々の失敗の詳細は、-lastおよび-commandフラグを使用して表示できます。

#### show indexes

    show indexes [-table <name>] [-name <name>]

索引メタデータを表示します。デフォルトでは、すべての表の索引メタデータがリストされます。

特定の表が指定された場合、その表の索引メタデータが表示されます。特定の表の索引が指定された場合、その索引のメタデータが表示されます。詳細は、「plan add-index」を参照してください。

#### show parameters

    show parameters -policy | -service <name>

指定されたサービスのサービス・パラメータおよび状態を表示します。サービスには、任意の有効な文字列(たとえば、rg1-rn1、sn1、admin2)で識別されるレプリケーション・ノード、ストレージ・ノードまたは管理サービスを指定できます。-policyフラグを使用してグローバル・ポリシー・パラメータを表示します。

#### show perf

    show perf

各レプリケーション・ノードの最近のパフォーマンス情報を表示します。

#### show plans

    show plans [-id <id> | -last]

指定されたプランの詳細を表示するか、対応するプランIDおよびステータスとともに作成されているすべてのプランを一覧表示します。

`-id`オプションを使用すると、追加の詳細およびステータスを表示するプランを指定できます。

`-last`オプションは、最も最近作成されたプランの詳細を表示します。

プラン確認の詳細は、「プランの確認」を参照してください。

#### show pools

    show pools

ストレージ・ノード・プールを一覧表示します。

#### show schemas

    show schemas [-disabled] | [-name <name>]

指定されたスキーマのスキーマ詳細、またはストアに登録されているスキーマのリストを表示します。

`-name`オプションを使用すると、ストアで現在有効かどうかを確認するスキーマの名前を指定できます。

`-disabled`オプションを使用すると、現在無効なスキーマも含めて、すべてのスキーマを表示できます。

#### show snapshots

    show snapshots [-sn <id>]

指定されたストレージ・ノード上のスナップショットを一覧表示します。ストレージ・ノードが指定されていない場合、ストアからストレージ・ノードが1つ選択されます。このコマンドを使用して既存のスナップショットを表示できます。

#### show tables

    show tables -name <name>

表情報を表示します。展開のために表を構築している場合、`-original`フラグを使用して、元の表情報を表示します。追加するために表を構築している場合、フラグは無視されます。詳細は、「plan add-table」および「plan evolve-table」を参照してください。

#### show topology

    show topology [-zn] [-rn] [-sn] [-store] [-status] [-perf]

現在のデプロイ済トポロジを表示します。デフォルトではトポロジ全体が表示されます。オプションのフラグにより、ゾーン、レプリケーション・ノード、ストレージ・ノードおよびストア名の表示を限定するか、あるいはサービス・ステータスまたはパフォーマンスを指定します。

このコマンドを使用すると、ストレージ・ノードをデプロイできるゾーンのIDを取得できます。

#### show upgrade-order

    show upgrade-order

アップグレードが必要なストレージ・ノードを、ストアの操作が中断しないような順序でリストします。

このコマンドでは、1つ以上のストレージ・ノードが1行に表示されます。1行に複数のストレージ・ノードが表示される場合、スペースで区切られます。1行に複数のストレージ・ノードが表示されている場合、そのノードをまとめて安全にアップグレードできます。複数のノードをまとめてアップグレードする場合、すべてのノードのアップグレードが完了してからでなければ、リストの次のノードはアップグレードできません。

ある時点で次にアップグレードするノードのグループがわからなくなった場合は、show upgrade-orderコマンドをいつでも再実行できます。

#### show users

    show users [-name <name>

すべてのユーザーの名前をリストするか、特定のユーザーに関する情報を表示します。ユーザーが指定されていない場合、すべてのユーザーの名前がリストされます。`-name`オプションを使用して、ユーザーが指定されている場合、ユーザーに関する詳細情報がリストされます。

#### show zones

    show zones [-zn <id>] | -znname <name>

すべてのゾーンの名前をリストするか、特定のゾーンに関する情報を表示します。

`-zn`または`-znname`フラグを使用して、追加情報を表示するゾーンを指定します。追加情報には、指定されたゾーン内のすべてのストレージ・ノードの名前、およびそのゾーンがプライマリ・ゾーンかセカンダリ・ゾーンかを含みます。

### snapshot

バックアップおよびリストアに使用されるスナップショットを作成および削除するコマンドをカプセル化します。サブコマンドは次のとおりです。

- snapshot create

- snapshot remove

#### snapshot create

    snapshot create -name <name>

指定された名前を接頭辞として使用して、新規スナップショットを作成します。

`-name`オプションを使用すると、作成するスナップショットの名前を指定できます。

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

#### snapshot remove

    snapshot remove -name <name> | -all

指定されたスナップショットを削除します。-allが指定されている場合、すべてのスナップショットを削除します。

`-name`オプションを使用すると、削除するスナップショットの名前を指定できます。

`-all`オプションが指定されている場合、すべてのスナップショットを削除します。

スナップショットを使用してストアのバックアップを作成するには、「スナップショットの作成」を参照してください。

以前に作成したスナップショットからストアをリカバリするには、ロード・ユーティリティを使用するか、またはスナップショットから直接リストアします。詳細は、「Loadプログラムの使用」または「スナップショットからの直接リストア」を参照してください。

### table

追加または展開するための表を構築するコマンドをカプセル化します。表名はピリオドで区切られた名前で、フォーマットは`tableName[.childTableName]*`です。表は2つのステップで作成および変更されます。

表コマンドは、新しい表を作成するか既存の表を展開し、管理クライアントの一時的で非永続的なストレージに保存します。これらの表は、`create`および`evolve`サブコマンド実行時に名前で使用されます。

2番目のステップでは、`plan`コマンドを使用して、ストア自身に新規および変更された表をデプロイします。表の一時リストは、`list`および`clear`サブコマンドを使用して検証および消去できます。

サブコマンドは次のとおりです。

- table clear

- table create

- table evolve

- table list

- table size

#### table clear

    table clear [-name <name> | -all]

構築されているが、まだ作成または展開されていない表を消去します。

`-name <name>`を使用して、指定された表を消去します。

`-all`を使用してすべての表を消去します。

#### table create

    table create -name <name> [-desc <description>] [-r2-compat]

ストアに追加する新しい表を構築します。`plan add-table`コマンドを使用して新しい表を追加します。`-r2-compat`フラグを使用して、既存のR2キー/値のペア上に表を作成します。

使用方法:

- add-array-field

      add-array-field -name <field-name> -desc <description>
      [-not-required] [-nullable]

  配列フィールドを構築します。

- add-field

  フィールドを追加します。

- add-map-field

      add-map-field -name <field-name> -desc <description>
      [-not-required] [-nullable]

  マップ・フィールドを構築します。

- add-record-field

      add-map-field -name <field-name> -desc <description>
      [-not-required] [-nullable]

  レコード・フィールドを構築します。

- add-schema

      add-schema -name <schema-name>

  Avroスキーマから表を構築します。

- primary-key

      primary-key -field <field-name> [-field <field-name>]*

  主キーを設定します。

- remove-field

      remove-field -name <field-name>

  フィールドを削除します。

- set-description

      set-description -desc <description>

  表の説明を設定します。

- shard-key

      shard-key -field <field-name> [-field <field-name>]*

  共有キーを設定します。

- show

      {
        "type" : "table",
        "name" : "User",
        "id" : "User",
        "description" : "A sample user table",
        "shardKey" : [ ],
        "primaryKey" : [ ],
        "fields" : [ ]
      }

  表情報を表示します。`show table`に関する詳細は、「show tables」を参照してください。

- cancel

      cancel

  構築操作を終了して、作成中の表(またはフィールド)を取消します。

- exit

      exit

  構築操作を終了して、ストアに対する追加(または展開)として表(またはフィールド)を保存します。

表デザインに関する詳細および例は、「plan add-table」およびOracle NoSQL Database表および索引の概要を参照してください。

#### table evolve

    table evolve -name <name>

展開する表を構築します。

`plan`コマンドを使用して表を展開します。詳細は、「plan evolve-table」およびOracle NoSQL Database表および索引の概要を参照してください。

#### table list

    table list [-name <name>] [-create | -evolve]

まだ作成または展開されていない、構築済の表をリストします。

- `-name <name>`を使用して、指定された表の詳細を表示します。

- `-create`を使用して、追加する表を表示します。

- `-evolve`を使用して、展開する表を表示します。

詳細は、「plan add-table」およびOracle NoSQL Database表および索引の概要を参照してください。

#### table size

    table size -name <name> -json <string>
    [-rows <num> [[-primarykey | -index <name>] -keyprefix <size>]]

行入力を使用して指定の表のキーおよびデータ・サイズを計算し、必要に応じて、同じ書式の指定行数に必要なNoSQL DBキャッシュ・サイズを見積もります。複数のサンプル行でこのコマンドを実行することにより、ストア・パフォーマンスに必要なキャッシュ・サイズを決定するのに役立ちます。

-jsonオプションでは、計算に使用するサンプル行を指定します。

-rowsオプションでは、キャッシュ・サイズの計算に使用する行数を指定します。

-indexまたは-primarykeyおよび-keyprefixオプションを使用して、索引キーの予期する共通点をバイト数単位で指定できます。

### time

    time command [sub-command]

timeコマンドは、指定のコマンドを指定の引数とともに実行し、実行の経過時間を出力します。

たとえば、レコードの取得およびそれらのファイルへの書込みにかかった時間を表示するには、次のようにします。

    kv-> time get -all -file ./data.out
    209 Records returned.
    Wrote value to file ./data.out.
    Time: 265 ms.

たとえば、すべての既存のキーを削除するのにかかった時間を表示するには、次のようにします。

    kv-> time delete -all
    210 Keys deleted starting at root
    Time: 265 ms.

### topology

ストア・トポロジを操作するコマンドをカプセル化します。たとえば、ノードの再ディストリビューション/再均衡化、レプリケーション係数の変更などです。トポロジは、このコマンドを使用して作成および変更されます。次に`plan deploy-topology`コマンドを使用してデプロイされます。詳細は、「plan deploy-topology」を参照してください。サブコマンドは次のとおりです。

- topology change-repfactor

- topology clone

- topology create

- topology delete

- topology list

- topology preview

- topology rebalance

- topology redistribute

- topology validate

- topology view

#### topology change-repfactor

    topology change-repfactor -name <name>  -pool <pool name>
    -zn <id> | -znname <name> -rf <replication factor>

トポロジを変更して、指定されたゾーンのレプリケーション係数を新しい値に変更します。レプリケーション係数はこのとき減少しない可能性があります。

レプリケーション係数の変更の詳細は、「レプリケーション係数の増加」を参照してください。

#### topology clone

    topology clone -from <from topology> -name <to topology>

または

    topology clone -current -name <to topology>

トポロジ変更操作に使用される新規のトポロジ候補を作成するために、既存のトポロジをクローニングします。

#### topology create

    topology create -name <candidate name> - pool <pool name>
    -partitions <num>

指定されたストレージ・プールを使用して、指定されたパーティション数の新規トポロジを作成します。

最初のトポロジ候補の作成の詳細は、「トポロジ候補の作成」を参照してください。

#### topology delete

    topology delete -name <name>

トポロジを削除します。

#### topology list

    topology list

既存のトポロジを一覧表示します。

#### topology preview

    topology preview -name <name> [-start <from topology>]

起動トポロジから指定されたターゲット・トポロジに移行するために実行される操作について説明します。-startが指定されていない場合、現行トポロジが使用されます。このコマンドは、新規トポロジをデプロイする前に使用する必要があります。

#### topology rebalance

    topology rebalance -name <name> -pool <pool name>
    [-zn <id> | -znname <name>]

均衡の取れたトポロジを作成するため、指定されたトポロジを変更します。オプションの`-zn`フラグが使用されている場合、指定されたゾーンからのストレージ・ノードのみが操作に使用されます。

非コンプライアンス・トポロジの均衡化の詳細は、「非コンプライアンス・トポロジの均衡化」を参照してください。

#### topology redistribute

    topology redistribute -name <name> -pool <pool name>

使用可能なリソースのより効率的な利用のためにリソースを再配布するため、指定されたトポロジを変更します。

書込みスループットを向上させるためのリソースの再配布の詳細は、「データ配布の増加」を参照してください。

#### topology validate

    topology validate [-name <name>]

指定されたトポロジを検証します。トポロジが指定されていない場合、現行トポロジが検証されます。検証ではviolationsとnotesが生成されます。

violationsは問題を引き起こす可能性があり、調査が必要です。

notesは情報的で、問題になる可能性がある、または予測が可能であるという、構成上の目立つ差異を示します。

詳細は、「トポロジ候補の検証」を参照してください。

#### topology view

    topology view -name <name>

指定されたトポロジの詳細を表示します。

### verbose

グローバル冗長性設定を切り替えます。このプロパティは、`-verbose`フラグを使用して各コマンド・ベースで設定することもできます。

### verify

ストアの様々なパラメータをチェックするコマンドをカプセル化します。サブコマンドは次のとおりです。

- verify configuration

- verify prerequisite

- verify upgrade

#### verify configuration

    verify configuration [-silent]

コンポーネントを反復してその状態を、管理データベースで予測されていたものに対してチェックすることで、ストア構成を検証します。このコールは、規模の大きいストアでは時間がかかる可能性があります。

`-silent`オプションは、検証の進行中に表示される冗長な検証メッセージを非表示にします。かわりに、最初の起動メッセージおよび最後の検証メッセージのみが表示されます。

#### verify prerequisite

    verify prerequisite [-silent] [-sn snX]*

ストレージ・ノードが、現行バージョンにアップグレードするために必要な前提条件となるソフトウェア・バージョン以上であることを確認します。このコールは、規模の大きいストアでは時間がかかる可能性があります。

検証プロセスの一部として、このコマンドは前提条件を満たしていない、またはアクセスできないコンポーネントを表示します。また、インストールされているソフトウェアが現行バージョンより新しいマイナー・リリースであるという無効なダウングレード状況にならないか確認します。

このコマンドを使用する場合、現行バージョンとはコマンドライン・インタフェースを実行しているソフトウェアのバージョンのことです。

検証するストレージ・ノードを指定するには、`-sn`オプションを使用します。ストレージ・ノードが指定されていない場合は、ストア内のすべてのノードがチェックされます。

`-silent`オプションは、検証の進行中に表示される冗長な検証メッセージを非表示にします。かわりに、最初の起動メッセージおよび最後の検証メッセージのみが表示されます。

#### verify upgrade

    verify upgrade [-silent] [-sn snX]*

ストレージ・ノード(およびその管理対象コンポーネント)が現行バージョン以上であることを確認します。このコールは、規模の大きいストアでは時間がかかる可能性があります。

検証プロセスの一部として、このコマンドはアップグレードされていない、またはアクセスできないコンポーネントを表示します。

このコマンドを使用する場合、現行バージョンとはコマンドライン・インタフェースを実行しているソフトウェアのバージョンのことです。

検証するストレージ・ノードを指定するには、`-sn`オプションを使用します。ストレージ・ノードが指定されていない場合は、ストア内のすべてのノードがチェックされます。

`-silent`オプションは、検証の進行中に表示される冗長な検証メッセージを非表示にします。かわりに、最初の起動メッセージおよび最後の検証メッセージのみが表示されます。

前 |  | 次
ストア・ターゲット | ホーム | ユーティリティのコマンド