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

CLIスクリプト・ファイルの中では、#を使用してコメントを記入できます。また、行の終わりに円記号(\)を付けると、コマンドを次の行に続けることができます。

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

aggregate

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

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

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入力文字列として指定します。

次の例を参照してください。

# Create a table 'user_test' with an index on user_test(age):
kv-> execute 'CREATE TABLE user_test (id INTEGER,
firstName STRING, lastName STRING, age INTEGER, PRIMARY KEY (id))'
Statement completed successfully

kv-> execute 'CREATE INDEX idx1 on user_test (age)'
Statement completed successfully

# Insert 3 rows:
kv-> put table -name user_test -json 
'{"id":1,"firstName":"joe","lastName":"wang","age":21}'
Operation successful, row inserted.
kv-> put table -name user_test -json
'{"id":2,"firstName":"jack","lastName":"zhao","age":32}'
Operation successful, row inserted.
kv-> put table -name user_test -json
'{"id":3,"firstName":"john","lastName":"gu","age":43}'
Operation successful, row inserted.

# Get count(*), sum(age) and avg(age) of rows in table:
kv-> aggregate table -name user_test -count -sum age -avg age
Row count: 3
Sum:
        age(3 values): 96
Average:
        age(3 values): 32.00

# Get count(*), sum(age) and avg(age) of rows where
age >= 30, idx1 is utilized to filter the rows:
kv-> aggregate table -name user_test -count -sum age
-avg age -index idx1 -field age -start 30
Row count: 2
Sum:
        age(2 values): 75
Average:
        age(2 values): 37.50

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 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 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

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

ストア内のスキーマの管理の詳細は、「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> 

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

execute

execute <statement> 

Oracle NoSQL Databaseでは、表および索引を生成する文に使用するデータ定義言語(DDL)が用意されています。executeコマンドを使用して、指定した文を非同期に実行します。文は一重引用符または二重引用符で囲む必要があります。このコマンドを使用する前に、まずストアに接続する必要があります。

次に例を示します。

kv-> execute 'CREATE TABLE users (id INTEGER, name STRING, 
pets ARRAY(STRING), primary key (id))'
Statement completed successfully 
kv-> execute 'DESCRIBE AS JSON TABLE users'
{
  "type" : "table",
  "name" : "users",
  "comment" : null,
  "shardKey" : [ "id" ],
  "primaryKey" : [ "id" ],
  "fields" : [ {
    "name" : "id",
    "type" : "INTEGER",
    "nullable" : true,
    "default" : null
  }, {
    "name" : "name",
    "type" : "STRING",
    "nullable" : true,
    "default" : null
  }, {
    "name" : "pets",
    "type" : "ARRAY",
    "collection" : {
      "type" : "STRING"
    },
    "nullable" : true,
    "default" : null
  } ]
} 

表操作を実行するデータ定義言語(DDL)の使用の詳細は、『NoSQL Database Table APIスタート・ガイド』を参照してください。

exit

exit | quit 

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

get

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

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]] [-include-deprecated] 

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

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.

非推奨となったコマンドを表示するには、-include-deprecatedを使用します。

次に例を示します。

kv-> help show -include-deprecated
Usage: show admins 
            datacenters
            events
            faults
            indexes
            parameters
            perf
            plans
            pools
            schemas
            snapshots
            tables
            topology
            upgrade-order
            users
            zones 

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 [-json] 

ストアのランタイム・コンポーネントに対してPingを実行します。トポロジから使用可能なコンポーネントと管理サービスに接続します。

説明:

  • -json

    出力をJSON形式で表示します。

plan

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

  • -wait

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

  • -plan-name

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

  • -noexecute

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

  • -force

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

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

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操作で有効な代替パスワードとして現行パスワードを保持します。保持されたパスワードがすでにユーザーに設定されている場合、再度パスワードを設定するとエラーが発生し、レポートされます。

このコマンドは非推奨です。詳細は、『Oracle NoSQL Database管理者ガイド』ユーザーの変更に関する項を参照してください。

plan create-user

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

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

このコマンドは非推奨です。詳細は、『Oracle NoSQL Database管理者ガイド』ユーザーの作成に関する項を参照してください。

plan deploy-admin

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

指定されたストレージ・ノードにAdminをデプロイします。管理のタイプ(PRIMARY/SECONDARY)は、ストレージ・ノードが置かれているゾーンのタイプと同じです。このグラフィカル・インタフェースは指定されたポート上でリスニングします。

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

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] 

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

このコマンドは非推奨です。詳細は、『Oracle NoSQL Database管理者ガイド』ユーザーの削除に関する項を参照してください。

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」を参照してください。

plan execute

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

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

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

plan grant

plan grant [-role <role name>]* -user <user_name> 

ユーザーにロールを付与できるようにします。

説明:

  • -role <role name>

    付与するロールを指定します。ロール名は、Oracle NOSQL Databaseセキュリティ・ガイドにリストされているシステム定義ロール(public以外)である必要があります。

  • -user <user_name>

    ロールを付与するユーザーを指定します。

このコマンドは非推奨です。詳細は、『Oracle NoSQL Database管理者ガイド』ロールまたは権限の付与に関する項を参照してください。

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 revoke

plan revoke [-role <role name>]* -user <user_name> 

ユーザーからロールを取り消すことができるようにします。

説明:

  • -role <role name>

    取り消されるロールを指定します。ロール名は、Oracle NOSQL Databaseセキュリティ・ガイドにリストされているシステム定義ロール(public以外)である必要があります。

  • -user <user_name>

    ロールが取り消されるユーザーを指定します。

このコマンドは非推奨です。詳細は、『Oracle NoSQL Database管理者ガイド』ロールまたは権限の取消しに関する項を参照してください。

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 create -name <name> 

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

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

pool join

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

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

pool remove

pool remove -name <name> 

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

put

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

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 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 create -name <name> 

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

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

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

snapshot remove

snapshot remove -name <name> | -all 

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

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

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

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

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

table

table sizeを除いて非推奨となりました。かわりにexecuteを参照してください。詳細は、「table size」を参照してください

table size

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

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

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

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

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

主に次の内容を実行します。

  1. JSON形式の入力行に基づいてキーとデータのサイズを計算します。

  2. 同じJSON形式で指定された行数に必要なDBキャッシュ・サイズを推定します。

    出力には、主キー/索引に関する詳細なサイズ情報と合計サイズが含まれ、内部的にJEのDbCacheSizeユーティリティを呼び出して、入力パラメータを利用し、主キーと索引に必要なキャッシュ・サイズを計算します。

    java -jar $KVHOME/dist/lib/je.jar DbCacheSize
    -records <num> -key <size> -data <size> -keyprefix
    <size> -outputproperties -replicated <JE properties...>
    -duplicates] 

    説明:

    • -records <num>: -row <num>によって指定される行の数。

    • -key <size>: ステップ1で取得されるキーのサイズ。

    • -data <size>: ステップ1で取得されるデータのサイズ。

    • -keyprefix <size>: -primarykey | -index <name> -keyprefix <size>を使用して指定される、キーの予測される共通点

    • -duplicates: 表索引のためにのみ使用されます。

    • -<JE properties...>: kvstoreで使用されるJE構成パラメータ。

次に例を示します。

表ユーザー(idは整数、addressは文字列、zip_codeは文字列)を作成し、ユーザー(zip_code)上のidx1を作成します

kv-> execute "create table user (id integer, address string,
zip_code string, primary key(id))" 
kv-> execute "create index idx1 on user (zip_code)" 

次の場合を参照してください。

  1. JSONの入力行に基づいてキーとデータのサイズを計算します。

    kv-> table size -name user -json '{"id":1, 
    "address": "Oracle Building ZPark BeiJing China","zip_code":"100000"}'
    
    === Key and Data Size ===
    
          Name         Number of Bytes
    -----------------  ---------------
    Primary Key               8
    Data                     47
    Index Key of idx1         7 

  2. 10000行の表のキー/データのサイズとキャッシュ・サイズを計算します。

    kv-> table size -name user -json '{"id":1,
    "address": "Oracle Building ZPark BeiJing China","zip_code":"100000"}'
    -rows 10000
    === Key and Data Size ===
    
          Name         Number of Bytes
    -----------------  ---------------
    Primary Key               8
    Data                     47
    Index Key of idx1         7
    
    === Environment Cache Overhead ===
    
    16,798,797 minimum bytes
    
    === Database Cache Sizes ===
    
    Name   Number of Bytes             Description
    -----  ---------------  ---------------------------------- 
                 1,024,690  Internal nodes only
    Table        1,024,690  Internal nodes and record versions
                 1,024,690  Internal nodes and leaf nodes
    -----  ---------------  ----------------------------------
                   413,728  Internal nodes only                 
    idx1           413,728  Internal nodes and record versions
                   413,728  Internal nodes and leaf nodes
    -----  ---------------  ----------------------------------
                 1,438,418  Internal nodes only
    Total        1,438,418  Internal nodes and record versions
                 1,438,418  Internal nodes and leaf nodes 

    詳細は、DbCacheSizeのjavadoc (http://docs.oracle.com/cd/E17277_02/html/java/com/sleepycat/je/util/DbCacheSize.html)を参照してください

    注意

    キャッシュ・サイズは次のように計算されます。

    • 表のキャッシュ・サイズ

      java -jar KVHOME/lib/je.jar DbCacheSize -records
      10000 key 8 -data 47 -outputproperties -replicated
      <JE properties...> 

      パラメータは次のとおりです。

      • レコード番号: 10000

      • 主キー・サイズ: 8

      • データ・サイズ: 47

    • 表のキャッシュ・サイズ

       java -jar KVHOME/lib/je.jar DbCacheSize -records
      10000 -key 7 -data 8 -outputproperties -replicated
      <JE properties...> -duplicates 

      パラメータは次のとおりです。

      • レコード番号: 10000

      • 索引キー・サイズ: 7

      • データ・サイズ: 8。セカンダリ索引のデータが主キーなので、ここでは主キー・サイズを使用しています。

      • 索引に-duplicatesを使用します。

    • 合計サイズ = 表のキャッシュ・サイズ+idx1のキャッシュ・サイズ。

  3. idx1のキー接頭辞サイズでキャッシュ・サイズを計算します

    kv-> table size -name user -json 
    '{"id":1, "address":"Oracle Building ZPark BeiJing China",
    "zip_code":"100000"}' -rows 10000 -index idx1 -keyprefix 3
    
    === Key and Data Size ===
    
    
          Name         Number of Bytes
    -----------------  ---------------
    Primary Key               8
    Data                     47
    Index Key of idx1         7
    
    === Environment Cache Overhead ===
    
    16,798,797 minimum bytes
    
    === Database Cache Sizes ===
    
    Name   Number of Bytes             Description
    -----  ---------------  ----------------------------------
                 1,024,690  Internal nodes only
    Table        1,024,690  Internal nodes and record versions
                 1,024,690  Internal nodes and leaf nodes
    -----  ---------------  ----------------------------------
                   413,691  Internal nodes only
    idx1           413,691  Internal nodes and record versions
                   413,691  Internal nodes and leaf nodes
    -----  ---------------  ----------------------------------
                 1,438,381  Internal nodes only
    Total        1,438,381  Internal nodes and record versions
                 1,438,381  Internal nodes and leaf nodes 

    詳細は、DbCacheSizeのjavadoc (http://docs.oracle.com/cd/E17277_02/html/java/com/sleepycat/je/util/DbCacheSize.html)を参照してください

    注意

    idx1にはキー接頭辞サイズが与えられ、idx1のキャッシュ・サイズは次のように計算されます。

    java -jar KVHOME/lib/je.jar DbCacheSize -records
    10000 -key 7 -data 8 -keyprefix 3 -outputproperties -replicated
    <JE properties...> -duplicates 

    上の例では、idx1のキャッシュ・サイズが413,691であり、ケース2の413,728より小さいことがわかります。キー接頭辞の使用方法については、JE DbCacheSizeのドキュメント(http://docs.oracle.com/cd/E17277_02/html/java/com/sleepycat/je/util/DbCacheSize.html)を参照してください

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 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 configuration [-silent] [-json] 

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

-jsonオプションでは、出力をJSON形式で表示することを指定します。

-silentオプションは、検証の進行中に表示される冗長な検証メッセージを非表示にします。かわりに、最初の起動メッセージおよび最後の検証メッセージのみが表示されます。このオプションは、-jsonオプションが指定されている場合は効果を発揮しません。

verify prerequisite

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

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

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

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

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

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

verify upgrade

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

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

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

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

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

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