シェル・ユーティリティ・コマンド

次の各項では、"java -jar" <kvhome>/lib/sql.jar <command>"を介してアクセスするユーティリティ・コマンドについて説明します。

シェルのインタラクティブ・プロンプトは次のとおりです。

sql-> 

シェルは、複数のコマンドで構成されています。すべてのコマンドで次のフラグを使用できます。

  • -help

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

  • ?

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

シェル・コマンドの一般的な形式は次のとおりです。

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

    sql-> command [arguments] 
  2. 引数はすべて、"-"で始まるフラグを使用して指定します

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

connect

connect -host <hostname> -port <port> -name <storeName>
[-timeout <timeout ms>]
[-consistency <NONE_REQUIRED(default) |
                              ABSOLUTE | NONE_REQUIRED_NO_MASTER>]
[-durability <COMMIT_SYNC(default) |
                              COMMIT_NO_SYNC | COMMIT_WRITE_NO_SYNC>]
[-username <user>] [-security <security-file-path>]

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

consistency

consistency [[NONE_REQUIRED | NONE_REQUIRED_NO_MASTER |
ABSOLUTE] [-time -permissible-lag <time_ms> -timeout <time_ms>]] 

このセッションで使用される読取り一貫性を構成します。

describe


describe | desc [as json] 
 {table table_name [field_name[,...] ] |
 index index_name on table_name
 } 

表または索引に関する情報を記述します。オプションでJSON形式を使用できます。

完全修飾table_nameを次のように指定します。
エントリ指定 説明
table_name 必須。表の完全な名前を指定します。それ以上の修飾子がない場合、このエントリはデフォルトのネームスペース(sysdefault)に作成された表を示します。このネームスペースを指定する必要はありません。
parent-table.child-table 親の子表を指定します。親表、ピリオド(.)、子の名前の順に指定します。たとえば、親表がUsersの場合、MailingAddressという名前の子表はUsers.MailingAddressと指定します。

namespace-name:table-name

デフォルト以外のネームスペースに作成された表を指定します。ネームスペースの後にコロン(:)を付けて使用します。たとえば、Salesネームスペースに作成されたUsers表を参照するには、table_nameSales:Usersのように入力します。
次に、表ns1:t1に対するdescribeの出力を示します。
sql-> describe table ns1:t1;
 === Information ===
 +-----------+------+-----+-------+----------+----------+--------+----------+---------+-------------+
 | namespace | name | ttl | owner | sysTable | r2compat | parent | children | indexes | description |
 +-----------+------+-----+-------+----------+----------+--------+----------+---------+-------------+
 | ns1       | t1   |     |       | N        | N        |        |          |         |             |
 +-----------+------+-----+-------+----------+----------+--------+----------+---------+-------------+

 === Fields ===
 +----+------+---------+----------+-----------+----------+------------+----------+
 | id | name |  type   | nullable |  default  | shardKey | primaryKey | identity |
 +----+------+---------+----------+-----------+----------+------------+----------+
 |  1 | id   | Integer | N        | NullValue | Y        | Y          |          |
 +----+------+---------+----------+-----------+----------+------------+----------+
 |  2 | name | String  | Y        | NullValue |          |            |          |
 +----+------+---------+----------+-----------+----------+------------+----------+

sql->
次の例では、同じ表に対してdescribe as jsonを使用しています。
sql-> describe as json table ns1:t1;
{
  "json_version" : 1,
  "type" : "table",
  "name" : "t1",
  "namespace" : "ns1",
  "shardKey" : [ "id" ],
  "primaryKey" : [ "id" ],
  "fields" : [ {
    "name" : "id",
    "type" : "INTEGER",
    "nullable" : false,
    "default" : null
  }, {
    "name" : "name",
    "type" : "STRING",
    "nullable" : true,
    "default" : null
  } ]
}

durability

durability [[COMMIT_WRITE_NO_SYNC | COMMIT_SYNC |
COMMIT_NO_SYNC] | [-master-sync <sync-policy> -replica-sync <sync-policy>
-replica-ask <ack-policy>]] <sync-policy>: SYNC, NO_SYNC, WRITE_NO_SYNC
<ack-policy>: ALL, NONE, SIMPLE_MAJORITY

このセッションで使用される書込み永続性を構成します。

exit

exit | quit 

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

help

help [command] 

すべてのシェル・コマンドおよびsqlコマンドのヘルプ・メッセージを表示します。

history

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

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

import

import -table table_name -file file_name [JSON | CSV] 

指定されたファイルからtable_name表にレコードをインポートします。

完全修飾table_nameを次のように指定します。
エントリ指定 説明
table_name 必須。表の完全な名前を指定します。それ以上の修飾子がない場合、このエントリはデフォルトのネームスペース(sysdefault)に作成された表を示します。このネームスペースを指定する必要はありません。
parent-table.child-table 親の子表を指定します。親表、ピリオド(.)、子の名前の順に指定します。たとえば、親表がUsersの場合、MailingAddressという名前の子表はUsers.MailingAddressと指定します。

namespace-name:table-name

デフォルト以外のネームスペースに作成された表を指定します。ネームスペースの後にコロン(:)を付けて使用します。たとえば、Salesネームスペースに作成されたUsers表を参照するには、table_nameSales:Usersのように入力します。

-tableを使用して、レコードがロードされる表の名前を指定します。表を指定するもう1つの方法は、ファイル内のレコードの前に、表指定"Table: table_name"を追加することです。

たとえば、このファイルには、usersおよびemailという2つの表に挿入するレコードが含まれています。

Table: users
<records of users>
...
Table: emails
<record of emails>
...          

インポートされたレコードは、JSON形式またはCSV形式のいずれかになります。形式を指定しない場合、JSONであると想定されます。

load

load -file <path to file>

指定したファイルをロードし、その内容を実行するコマンドのスクリプトとして解釈します。スクリプト内のいずれかのコマンドが実行に失敗すると、実行が終了します。

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

### Begin Script ###
load -file test.ddl
import -table users -file users.json
### End Script ###

ファイルtest.ddlには次のような内容が含まれています。

DROP TABLE IF EXISTS users;
CREATE TABLE users(id INTEGER, firstname STRING, lastname STRING,
age INTEGER, primary key (id)); 

また、ファイルusers.jsonには次のような内容が含まれています。

{"id":1,"firstname":"Dean","lastname":"Morrison","age":51}
{"id":2,"firstname":"Idona","lastname":"Roman","age":36}
{"id":3,"firstname":"Bruno","lastname":"Nunez","age":49} 

スクリプトを実行するには、シェルでloadコマンドを使用します。

> java -jar KVHOME/lib/sql.jar -helper-hosts node01:5000 \
-store kvstore
sql-> load -file ./test.sql
Statement completed successfully.
Statement completed successfully.
Loaded 3 rows to users. 

mode

mode [COLUMN | LINE | JSON [-pretty] | CSV] 

問合せ結果の出力モードを設定します。デフォルト値はJSONです。

たとえば、COLUMNモードで表示される表は次のようになります。

sql-> mode column;
sql-> SELECT * from users;
 +-----+-----------+-----------+-----+
 | id  | firstname | lastname  | age |
 +-----+-----------+-----------+-----+
 |   8 | Len       | Aguirre   |  42 |
 |  10 | Montana   | Maldonado |  40 |
 |  24 | Chandler  | Oneal     |  25 |
 |  30 | Pascale   | Mcdonald  |  35 |
 |  34 | Xanthus   | Jensen    |  55 |
 |  35 | Ursula    | Dudley    |  32 |
 |  39 | Alan      | Chang     |  40 |
 |   6 | Lionel    | Church    |  30 |
 |  25 | Alyssa    | Guerrero  |  43 |
 |  33 | Gannon    | Bray      |  24 |
 |  48 | Ramona    | Bass      |  43 |
 |  76 | Maxwell   | Mcleod    |  26 |
 |  82 | Regina    | Tillman   |  58 |
 |  96 | Iola      | Herring   |  31 |
 | 100 | Keane     | Sherman   |  23 |
 +-----+-----------+-----------+-----+
 ...

100 rows returned 

空の文字列は、空のセルとして表示されます。

sql-> mode column;
sql-> SELECT * from tab1 where id = 1;
 +----+------+----+------+
 | id |  s1  | s2 |  s3  |
 +----+------+----+------+
 |  1 | NULL |    | NULL |
 +----+------+----+------+

1 row returned

ネストされた表の場合は、columnモードでネストを示すためにインデントが使用されます。

sql-> SELECT * from nested;
+----+-------+------------------------------------------------------------+
| id | name  |                           details                          |
+----+-------+------------------------------------------------------------+
|  1 | one   | address                                                    |
|    |       |     city    | Waitakere                                    |
|    |       |     country | French Guiana                                |
|    |       |     zipcode | 7229                                         |
|    |       | attributes                                                 |
|    |       |     color   | blue                                         |
|    |       |     price   | expensive                                    |
|    |       |     size    | large                                        |
|    |       | phone       | [(08)2435-0742, (09)8083-8862, (08)0742-2526]|
+----+-------+------------------------------------------------------------+
|  3 | three | address                                                    |
|    |       |     city    | Viddalba                                     |
|    |       |     country | Bhutan                                       |
|    |       |     zipcode | 280071                                       |
|    |       | attributes                                                 |
|    |       |     color   | blue                                         |
|    |       |     price   | cheap                                        |
|    |       |     size    | small                                        |
|    |       | phone       | [(08)5361-2051, (03)5502-9721, (09)7962-8693]|
+----+-------+------------------------------------------------------------+
... 

たとえば、結果が縦に表示され、各行に1つの値が表示されるLINEモードの表は、次のようになります。

sql-> mode line;
sql-> SELECT * from users;

 > Row 1
 +-----------+-----------+
 | id        | 8         |
 | firstname | Len       |
 | lastname  | Aguirre   |
 | age       | 42        |
 +-----------+-----------+

  > Row 2
 +-----------+-----------+
 | id        | 10        |
 | firstname | Montana   |
 | lastname  | Maldonado |
 | age       | 40        |
 +-----------+-----------+

  > Row 3
 +-----------+-----------+
 | id        | 24        |
 | firstname | Chandler  |
 | lastname  | Oneal     |
 | age       | 25        |
 +-----------+-----------+
 ...
100 rows returned 

COLUMNモードと同様に、空の文字列は空のセルとして表示されます。

sql-> mode line;
sql-> SELECT * from tab1 where id = 1;

 > Row 1
 +---------+------+
 | id      | 1    |
 | s1      | NULL |
 | s2      |      |
 | s3      | NULL |
 +---------+------+

1 row returned

たとえば、JSONモードで表示される表は次のようになります。

sql-> mode json;
sql-> SELECT * from users;
{"id":8,"firstname":"Len","lastname":"Aguirre","age":42}
{"id":10,"firstname":"Montana","lastname":"Maldonado","age":40}
{"id":24,"firstname":"Chandler","lastname":"Oneal","age":25}
{"id":30,"firstname":"Pascale","lastname":"Mcdonald","age":35}
{"id":34,"firstname":"Xanthus","lastname":"Jensen","age":55}
{"id":35,"firstname":"Ursula","lastname":"Dudley","age":32}
{"id":39,"firstname":"Alan","lastname":"Chang","age":40}
{"id":6,"firstname":"Lionel","lastname":"Church","age":30}
{"id":25,"firstname":"Alyssa","lastname":"Guerrero","age":43}
{"id":33,"firstname":"Gannon","lastname":"Bray","age":24}
{"id":48,"firstname":"Ramona","lastname":"Bass","age":43}
{"id":76,"firstname":"Maxwell","lastname":"Mcleod","age":26}
{"id":82,"firstname":"Regina","lastname":"Tillman","age":58}
{"id":96,"firstname":"Iola","lastname":"Herring","age":31}
{"id":100,"firstname":"Keane","lastname":"Sherman","age":23}
{"id":3,"firstname":"Bruno","lastname":"Nunez","age":49}
{"id":14,"firstname":"Thomas","lastname":"Wallace","age":48}
{"id":41,"firstname":"Vivien","lastname":"Hahn","age":47}
...
100 rows returned 

空の文字列は、""として表示されます。

sql-> mode json;
sql-> SELECT * from tab1 where id = 1;
{"id":1,"s1":null,"s2":"","s3":"NULL"}

1 row returned

最後に、CSVモードで表示される表は次のようになります。

sql-> mode csv;
sql-> SELECT * from users;
8,Len,Aguirre,42
10,Montana,Maldonado,40
24,Chandler,Oneal,25
30,Pascale,Mcdonald,35
34,Xanthus,Jensen,55
35,Ursula,Dudley,32
39,Alan,Chang,40
6,Lionel,Church,30
25,Alyssa,Guerrero,43
33,Gannon,Bray,24
48,Ramona,Bass,43
76,Maxwell,Mcleod,26
82,Regina,Tillman,58
96,Iola,Herring,31
100,Keane,Sherman,23
3,Bruno,Nunez,49
14,Thomas,Wallace,48
41,Vivien,Hahn,47
...
100 rows returned 

JSONモードの場合と同様に、空の文字列は""と表示されます。

sql-> mode csv;
sql-> SELECT * from tab1 where id = 1;
1,NULL,"","NULL"

1 row returned 

ノート:

CSV形式で表示できるのは、単純なタイプの値を含む行のみです。ネストされた値はサポートされません。

output

output [stdout | file]

問合せ結果のファイルへの出力を有効または無効にします。引数を指定しない場合、現在の出力が表示されます。

page

page [on | <n> | off]

問合せの出力ページ番号のオンとオフを切り替えます。nが指定されると、ページの高さとして使用されます。

nが0の場合、またはonが指定された場合は、デフォルトのページ高さが使用されます。nをoffに設定すると、ページ番号がオフになります。

show faults

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

ストアおよびそのコンポーネントの状態を表示するコマンドをカプセル化します。

show indexes

show_indexes_statement ::= SHOW [AS JSON] INDEXES ON table_name

show indexes文は、指定した表に存在する索引のリストを提供します。パラメータ AS JSONはオプションであり、出力をJSON形式にする場合に指定できます。

例1: 指定した表の索引をリストします

次の文は、users2表に存在する索引をリストします。
SHOW INDEXES ON users2;
indexes
   idx1

例2: 指定した表の索引をJSON形式でリストします

次の文は、users2表に存在する索引をJSON形式でリストします。
SHOW AS JSON INDEXES ON users2;
{"indexes" : 
     ["idx1"]
}

show mrtable-agent-statistics

show mrtable-agent-statistics [-agent <agentID>][-table <tableName>][-json]

複数リージョン表エージェントに関する最後の1分間の最新の統計を表示します。引数を指定しない場合、このコマンドはMR表に含まれるすべてのリージョンの総合統計を表示します。

入力パラメータ

必要に応じて、このコマンドで適切なパラメータを指定して次のフラグを有効にすることもできます。

表A-1 入力パラメータ

フラグ パラメータ 説明
- agent agentID 統計を指定のエージェントIDに制限します。エージェントIDは、エージェントの構成中に作成されたJSON構成ファイルから確認できます。XRegionサービスの構成を参照してください。
- table tableName 統計を指定のMR表に制限します。
- json - 完全な統計をJSON形式で返します。統計はデフォルトでJSON形式で返されますが、このフラグを指定すると、操作、リターン・コード、リターン・コードの説明などの追加情報が出力に追加されます。

出力の統計

show mrtable-agent-statisticsによってレポートされる統計は、次の目的で使用される統計に分類できます。
  • 他のリージョンからのストリームの監視

    表A-2 出力の統計1

    統計 説明
    completeWriteOps リージョン当たりの完全な書込み操作の数。
    lastMessageMs

    エージェントがリモート・リージョンから最後のメッセージを参照したときのタイムスタンプ(ミリ秒)。

    この統計情報を使用できない場合は、出力値として-1が出力されます。

    lastModificationMs

    各リモート・リージョンで実行された最後の操作のタイムスタンプ(ミリ秒)。

    この統計情報を使用できない場合は、出力値として-1が出力されます。
    laggingMs (avg, max, min)

    複数リージョンKVStoreでは、リージョン内の各シャードが、すべての表に対して実行されたすべての操作をエージェントのキューにプッシュします。エージェントは、キューの内容をイベント順に他のすべてのリージョンにレプリケートします。遅延統計は、イベントがキューにプッシュされてからエージェントによって他のリージョンにレプリケートされるまでの時間差を表します。この値が大きい場合は、キューがバックアップされていることを示します。値が小さいほど、エージェントはリモート・リージョンからのイベント数に遅れずに対応できていることを示します。遅延統計は、各リモート・リージョンの平均、最小および最大(ミリ秒)としてレポートされます。

    この統計情報を使用できない場合は、出力値として-1が出力されます。

    latencyMs (avg, max, min) MR表では、レイテンシ統計は、各操作がその起点(リモート)リージョンからターゲット(ローカル)リージョンに移動するのにかかった時間(ミリ秒)を示します。
    レイテンシは、T2 - T1として計算されます。
    • T1は、リモート・リージョンで操作が実行されたときのタイムスタンプです。
    • T2は、エージェントがレプリケートされた操作をローカル・リージョンに永続化したときのタイムスタンプです。
    レイテンシ統計は、リモート・リージョンごとに、そのリージョンからのすべての操作の平均、最小および最大のレイテンシとしてレポートされます。

    この統計情報を使用できない場合は、出力値として-1が出力されます。

  • リモート・データの永続性の確認

    表A-3 出力の統計2

    統計 説明
    puts 受信した書込み操作の数。
    dels 受信した削除操作の数。
    streamBytes リモート・リージョンからレプリケートされた合計バイト数。
    persistStreamBytes ローカル・リージョンで正常にコミットされた合計バイト数をレポートします。これは、リモート・リージョンからレプリケートされた合計バイト数とは異なります。他のリージョンからの操作と競合する場合、操作によっては組込み競合解消ルールに失敗すると永続化されない可能性があるためです。
    winPuts 正常に実行された書込み操作の数。具体的には、この統計では、他のリージョンの書込みと競合した場合に、競合解消ルールで優先されなかった書込みは除外されます。
    winDels 正常に実行された削除操作の数。具体的には、この統計では、他のリージョンの削除と競合した場合に、競合解消ルールで優先されなかった削除は除外されます。
    incompatibleRows 互換性のない表スキーマのために永続化されなかった操作の数。これは、起点リージョンと、その行をローカル・データ・ストアにレプリケートしようとしているリージョンの間にスキーマの不一致がある場合に発生する可能性があります。
  • 管理者とエージェント間のやり取りの監視

    表A-4 出力の統計3

    統計 説明
    requests MR表に対してユーザーが実行したすべてのDDLコマンドは、管理者によってエージェントへのリクエストに変換されます。この統計は、管理者がポストしたリクエストの数をレポートします。
    responses エージェントが処理および応答したリクエストの数。
  • 複数リージョン表の監視
    -tableフラグを指定してshow mrtable-agent-statisticsコマンドを実行すると、次のことを示す表レベルの統計が返されます。
    1. ローカル・リージョンでのリモート・データの永続性: これには、前述のputsdelswinPutswinDelsstreamBytespersistStreamBytesincompatibleRowsなどの統計が含まれます。
    2. 各リモート・リージョンでの表の初期化の進行状況: これは、出力のInitialization statisticsstate属性によって示されます。次の表に、stateの様々な有効値とその意味を示します。

      表A-5 表の初期化の状態

      状態 説明
      NOT_START MR表の初期化が開始されていないか、初期化を実行する必要がありません。たとえば、エージェントが既存のチェックポイントからストリームを正常に再開した場合、MR表を再初期化する必要はありません。
      IN_PROGRESS MR表の初期化が進行中です。つまり、MR表の初期化が開始され、データがリモート・リージョンからレプリケートされています。
      COMPLETE MR表の初期化が完了し、表の転送が完了しています。エージェントはリモート・リージョンからストリーミングしています。
      ERROR リカバリできないエラーのため、MR表の初期化が完了できません。エラーの重大度は、エージェント・ログでWARNINGまたはSEVEREとして確認できます。エージェント・ログはJSON構成ファイルで指定されたディレクトリにあります。XRegionサービスの構成を参照してください。
      SHUTDOWN サービスが停止されたため、MR表の初期化が完了できません。
    3. リモート・リージョンごとの表データの永続性:

      表A-6 出力の統計4

      統計 説明
      transferStartMs

      表の初期化の開始のタイムスタンプ(ミリ秒)。

      この統計情報を使用できない場合は、出力値として-1が出力されます。

      transferCompleteMs

      表の初期化の完了のタイムスタンプ(ミリ秒)。

      この統計情報を使用できない場合は、出力値として-1が出力されます。
      elapsedMs 表の初期化の開始から完了までの経過時間。

      elapsedMs = transferCompleteMs - transferStartMs

      この統計はミリ秒単位でレポートされます。転送が完了するまで、この統計が使用できないことを示す-1がレポートされます。

      transferBytes リモート(起点またはソース)リージョンからローカル(ターゲット)リージョンに転送されるバイト数。
      transferRows リモート・リージョンからローカル・リージョンに正常に転送された行数。
      expireRows リモート・リージョンからの転送前に期限切れになった行数。TTL値のため、行によってはレプリケーション中に期限切れになる可能性があります。このような行は、エージェントに到達するまでに期限切れになります。この統計は、このような期限切れの行をカウントします。
      persistBytes ローカル・リージョンで正常にコミットされた合計バイト数をレポートします。組込み競合解消ルールに失敗したため、ローカル・リージョンでコミットされていない行は除外されます。行の更新の場合、行全体がこの統計にカウントされます。
      persistRows ローカル・リージョンで正常にコミットされた合計行数をレポートします。前述の統計と同様に、組込み競合解消ルールのためにローカル・リージョンでコミットされていない行は、この数から除外されます。

次に、様々な入力パラメータを指定したshow mrtable-agent-statisticsコマンドから返される統計の例をいくつか示します。

ノート:

いずれかの統計情報が使用できない場合は、その統計パラメータの値として-1が出力にレポートされます。
# MR table agent statistics for a specific agent 
kv-> show mrtable-agent-statistics -agent 0 -json
{
  "operation": "show mrtable-agent-statistics",
  "returnCode": 5000,
  "description": "Operation ends successfully",
  "returnValue": {
    "XRegionService-1_0": {
      "timestamp": 1592901180001,
      "statistics": {
        "agentId": "XRegionService-1_0",
        "beginMs": 1592901120001,
        "dels": 1024,
        "endMs": 1592901180001,
        "incompatibleRows": 100,
        "intervalMs": 60000,
        "localRegion": "slc1",
        "persistStreamBytes": 524288,
        "puts": 2048,
        "regionStat": {
          "lnd": {
            "completeWriteOps": 10,
            "laggingMs": {
              "avg": 512,
              "max": 998,
              "min": 31
            },
            "lastMessageMs": 1591594977587,
            "lastModificationMs": 1591594941686,
            "latencyMs": {
              "avg": 20,
              "max": 40,
              "min": 10
            }
          },
          "dub": {
            "completeWriteOps": 20,
            "laggingMs": {
              "avg": 535,
              "max": 1024,
              "min": 45
            },
            "lastMessageMs": 1591594978254,
            "lastModificationMs": 1591594956786,
            "latencyMs": {
              "avg": 30,
              "max": 45,
              "min": 15
            }
          }
        },
        "requests": 12,
        "responses": 12,
        "streamBytes": 1048576,
        "winDels": 1024,
        "winPuts": 2048
      }
    }
  }
}
# MR table agent statistics for a specific MR table 
kv-> show mrtable-agent-statistics -table users -json
{
  "operation": "show mrtable-agent-statistics",
  "returnCode": 5000,
  "description": "Operation ends successfully",
  "returnValue": {
    "XRegionService-1_0": {
      "tableID": 12,
      "tableName": "users",
      "timestamp": 1592901300001,
      "statistics": {
        "agentId": "XRegionService-1_0",
        "beginMs": 1592901240001,
        "dels": 1000,
        "endMs": 1592901300001,
        "expiredPuts": 200,
        "incompatibleRows": 100,
        "initialization": {
          "lnd": {
            "elapsedMs": 476,
            "expireRows": 100,
            "persistBytes": 6492160,
            "persistRows": 6340,
            "state": "COMPLETE",
            "transferBytes": 8115200,
            "transferCompleteMs": 1592822625333,
            "transferRows": 7925,
            "transferStartMs": 1592822624857
          },
          "dub": {
            "transferStartMs": 0,
            "transferCompleteMs": 0,
            "elapsedMs": -1,
            "transferRows": 0,
            "persistRows": 0,
            "expireRows": 0,
            "transferBytes": 0,
            "persistBytes": 0,
            "state": "NOT_START"
          }
        },
        "intervalMs": 60000,
        "localRegion": "fra",
        "persistStreamBytes": 104960000,
        "puts": 100000,
        "streamBytes": 115200000,
        "tableId": 12,
        "tableName": "users",
        "winDels": 745,
        "winPuts": 90000
      }
    }
  }
}

show namespaces

show [AS JSON] namespaces 

システム内のすべてのネームスペースのリストを表示します。

次に例を示します。


sql-> show namespaces
namespaces
  ns1
  sysdefault
sql-> show as json namespaces
{"namespaces" : ["ns1","sysdefault"]}

show query

show query <statement> 

問合せの問合せ計画を表示します。

次に例を示します。

sql-> show query SELECT * from Users;
RECV([6], 0, 1, 2, 3, 4)
[
  DistributionKind : ALL_PARTITIONS,
  Number of Registers :7,
  Number of Iterators :12,
  SFW([6], 0, 1, 2, 3, 4)
  [
    FROM:
    BASE_TABLE([5], 0, 1, 2, 3, 4)
    [Users via primary index] as $$Users

    SELECT:
    *
  ]
] 

show regions

show_regions_statement ::= SHOW [AS JSON] REGIONS

show regions文は、複数リージョンのOracle NoSQL Database設定に存在するリージョンのリストを提供します。パラメータ AS JSONはオプションであり、出力をJSON形式にする場合に指定できます。

例1: 複数リージョンのデータベース設定におけるすべてのリージョンをフェッチします
SHOW REGIONS;
 regions
    my_region1 (remote, active)
    my_region2 (remote, active)
例2: 複数リージョンのデータベース設定におけるすべてのリージョンをJSON形式でフェッチします
SHOW AS JSON REGIONS;
{"regions" : [
    {"name" : "my_region1", "type" : "remote", "state" : "active"},
    {"name" : "my_region2", "type" : "remote", "state" : "active"}
]}

show roles

show [as json] roles | role <role_name>

ストアに対して現在定義されているすべてのロールまたは指定されたロールを表示します。

show tables

show [as json] {tables | table table_name}

データ・ストア内のすべての表または特定の1つの表(table_name)を表示します。

完全修飾table_nameを次のように指定します。
エントリ指定 説明
table_name 必須。表の完全な名前を指定します。それ以上の修飾子がない場合、このエントリはデフォルトのネームスペース(sysdefault)に作成された表を示します。このネームスペースを指定する必要はありません。
parent-table.child-table 親の子表を指定します。親表、ピリオド(.)、子の名前の順に指定します。たとえば、親表がUsersの場合、MailingAddressという名前の子表はUsers.MailingAddressと指定します。

namespace-name:table-name

デフォルト以外のネームスペースに作成された表を指定します。ネームスペースの後にコロン(:)を付けて使用します。たとえば、Salesネームスペースに作成されたUsers表を参照するには、table_nameSales:Usersのように入力します。

次の例は、すべての表または1つの表のみをリストする方法を示しています。空のtableHierarchyフィールドは、表t1がデフォルトのネームスペースに作成されていることを示しています。

sql-> show tables
tables
  SYS$IndexStatsLease
  SYS$PartitionStatsLease
  SYS$SGAttributesTable
  SYS$TableStatsIndex
  SYS$TableStatsPartition
  ns10:t10
  parent
  parent.child
  sg1
  t1

sql-> show table t1
tableHierarchy
  t1
すべての表のリストに示されているように、ネームスペース内に作成された表を表示するには、次のようにtable_nameを完全修飾します。この場合、tableHierarchyフィールドには、表t1が作成されたネームスペースns1がリストされます。この例では、表がjson形式でどのように表示されるかも示しています。

sql-> show tables;
tables
  SYS$IndexStatsLease
  SYS$PartitionStatsLease
  SYS$SGAttributesTable
  SYS$TableStatsIndex
  SYS$TableStatsPartition
  ns1:foo
  ns1:t1

sql-> show table ns1:t1;
tableHierarchy(namespace ns1)
  t1
sql-> show as json table ns1:t1;
{"namespace": "ns1"
"tableHierarchy" : ["t1"]}

show users

show [as json] users | user <user_name>

ストアに現在存在しているすべてのユーザーまたは指定されたユーザーを表示します。

timeout

timeout [<timeout_ms>]

timeoutコマンドは、このセッションのリクエスト・タイムアウトをミリ秒(ms)単位で構成または表示します。

リクエスト・タイムアウトは、クライアントが送信したリクエストへのレスポンスを取得するまで待機する時間です。

オプションのtimeout_ms属性を指定した場合、リクエスト・タイムアウトは指定した値に設定されます。

オプションのtimeout_ms属性を指定しない場合は、リクエスト・タイムアウトの現在の値が表示されます。

例A-1 タイムアウト

次の例では、リクエスト・タイムアウトの現在の値を取得します。

sql-> timeout
Request timeout used: 5,000ms

例A-2 タイムアウト

次の例では、リクエスト・タイムアウト値を20000ミリ秒(20秒)に設定します。

sql-> timeout 20000
Request timeout used: 20,000ms

ノート:

1つのシェル・コマンドで、1つ以上のサーバーに対する複数のリクエストが必要になる場合があります。タイムアウトは、このような個々のリクエストに適用されます。シェル・コマンドは、複数のリクエストを送信し、コマンドが完了する前に、各リクエストが戻るまで待機する必要があります。その結果、シェル・コマンドが指定されたタイムアウトよりも長い時間待機することが必要になることがあり、また、この合計待機時間が個々のリクエストの待機時間を超えることがあります。

timer

timer [on | off]

コマンドの実行時間の計測と表示のオンとオフを切り替えます。指定しない場合は、timerの現在の状態が表示されます。次に例を示します。

sql-> timer on
sql-> SELECT * from users where id <= 10 ;
 +----+-----------+-----------+-----+
 | id | firstname | lastname  | age |
 +----+-----------+-----------+-----+
 |  8 | Len       | Aguirre   |  42 |
 | 10 | Montana   | Maldonado |  40 |
 |  6 | Lionel    | Church    |  30 |
 |  3 | Bruno     | Nunez     |  49 |
 |  2 | Idona     | Roman     |  36 |
 |  4 | Cooper    | Morgan    |  39 |
 |  7 | Hanae     | Chapman   |  50 |
 |  9 | Julie     | Taylor    |  38 |
 |  1 | Dean      | Morrison  |  51 |
 |  5 | Troy      | Stuart    |  30 |
 +----+-----------+-----------+-----+

10 rows returned

Time: 0sec 98ms

verbose

verbose [on | off]

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

version

version 

クライアント・バージョン情報を表示します。