SQLシェルの実行

SQLシェルは対話型で実行することも、単一のコマンドを実行するために使用することもできます。次に、シェルを起動するための一般的な方法を示します。

java -jar KVHOME/lib/sql.jar
       -helper-hosts <host:port[,host:port]*> -store <storeName>
       [-username <user>] [-security <security-file-path>]
       [-timeout <timeout ms>]
       [-consistency <NONE_REQUIRED(default) |
                              ABSOLUTE | NONE_REQUIRED_NO_MASTER>]
       [-durability <COMMIT_SYNC(default) |
                              COMMIT_NO_SYNC | COMMIT_WRITE_NO_SYNC>]
       [single command and arguments] 

必須パラメータを次に示します。

-helper-hosts:は、ホストおよびポートのカンマ区切りリストを指定します。

-store:は、ストアの名前を指定します。

-security: ストアのセキュア・デプロイメントでのセキュリティ・ファイルへのパスを指定します。

例: $KVROOT/security/user.security

ストアでは、次のオプション・パラメータがサポートされています。

-consistency: このセッションで使用される読取り一貫性を構成します。読取り操作は、構成されている値に応じてマスターまたはレプリカ・ノードのどちらかで処理されます。一貫性の詳細は、一貫性保証を参照してください。次のポリシーがサポートされています。これらは、Java APIのConsistencyクラスで定義します。

この値を指定しなかった場合は、このセッションにデフォルト値ABSOLUTEが適用されます。
  • ABSOLUTE - 読取り操作はマスター・ノードで処理されます。一貫性としてABSOLUTEを指定した場合は、更新された最新データの取得が保証されます。
  • NONE-REQUIRED - 読取り操作をレプリカ・ノードで処理できます。これは、データをレプリカ・ノードから読み取った場合はそれがマスター上のデータと一致しない可能性があるということです。しかしながら、最終的には、それはマスターと一致することになります。

これらのポリシーの詳細は、Javaダイレクト・ドライバAPIリファレンス・ガイドで一貫性を参照してください。

-durability: このセッションで使用される書込み永続性設定を構成します。この値により、マスター・コミット同期の実現のために適用する永続性ポリシー(つまり、書込み操作から正常ステータスで戻るためにマスター・ノードによって実行されるアクション)を定義します。永続性の詳細は、永続性保証を参照してください。

この値を指定しなかった場合は、このセッションにデフォルト値COMMIT_SYNCが適用されます。
  • COMMIT_NO_SYNC - データはホストのメモリー内キャッシュに書き込まれますが、マスター・ノードは、そのデータがファイル・システムのデータ・バッファまたは後続の物理ストレージに書き込まれるまで待ちません。
  • COMMIT_SYNC - データがメモリー内キャッシュに書き込まれ、ファイル・システムのデータ・バッファに転送され、永続的ストレージに同期されてから、書込み操作が正常に完了します。
  • COMMIT_WRITE_NO_SYNC - データはメモリー内キャッシュに書き込まれ、ファイル・システムのデータ・バッファに転送されますが、必ずしも物理ストレージには転送されません。

これらのポリシーの詳細は、Javaダイレクト・ドライバAPIリファレンス・ガイドで永続性を参照してください。

-timeout:は、このセッションで使用されるリクエスト・タイムアウトを構成します。デフォルト値は5000ミリ秒です。

-username: ログインに使用するユーザー名を指定します。

たとえば、次のようにしてシェルを起動できます。

java -jar KVHOME/lib/sql.jar
-helper-hosts node01:5000 -store kvstore
sql->

このコマンドでは、ストアkvstoreがポート5000で実行されていることを前提としています。SQLが正常に起動されたら、問合せを実行します。このドキュメントの次の部分では、SQL for Oracle NoSQL Databaseの概要と問合せ文の作成方法を示します。

JSONまたはCSV形式のファイルからレコードをインポートするには、importコマンドを使用します。詳細は、importを参照してください。

スクリプトを実行する場合は、loadコマンドを使用します。詳細は、loadを参照してください。

sql-> command [arguments]

-single command and arguments: SQLシェルからアクセス可能なユーティリティ・コマンドを指定します。それらは前述の構文で使用できます。

"java -jar" <kvhome>/lib/sql.jar <command>を介してアクセスするユーティリティ・コマンドすべてのリストは、シェル・ユーティリティ・コマンドを参照してください。