export
java -jar KVHOME/lib/kvtool.jar export
-export-all | -table table_names | -namespace namespaces
-store storeName
-helper-hosts helper_hosts
-config config_file_name
[-format BINARY | JSON]
[-username user]
[-security security-file-path]
[-verbose]
エクスポート・ユーティリティのコマンドライン・パラメータ
-export-all
を指定すると、ストア全体がエクスポートされます。このオプションを指定する場合、-table
および-namespace
は指定できません。-table
は、エクスポートする1つ以上の表の名前です。複数の表をエクスポートするには、表名のカンマ区切りリストを指定します。このパラメータを指定する場合、
-export-all
および-namespace
は指定できません。ノート:
子表をエクスポートする場合は、親表から子表への完全修飾パスを指定する必要があります。たとえば、表grandchild1
をエクスポートするには、parent1.child1.grandhchild1
という完全修飾パスを指定する必要があります。ノート:
ネームスペースを使用している場合は、
-table
フラグで表の完全修飾名を指定する必要があります。たとえば、namespace1:userProfiles
などです。-namespace
は、エクスポートする1つ以上のネームスペースの名前です。複数のネームスペースをエクスポートするには、ネームスペースのカンマ区切りリストを指定します。このパラメータを指定する場合、
-table
または-export-all
は指定できません。-store
は、Oracle NoSQL Databaseからデータをエクスポートするストアの名前です。ノート:
このパラメータは必須で、大/小文字が区別されます。-helper-hosts
は、hostname:port
形式のホスト名とレジストリ・ポートのペアのリストです。このリストでは、各項目をカンマで区切って指定します。少なくとも1つのヘルパー・ホストを指定する必要があります。-config
は、使用する構成ファイルの名前です。ノート:
このパラメータは必須です。-format BINARY | JSON
: Oracle NoSQL Databaseからデータが読み取られる場合、-format
フラグは、データがシンクに格納される形式を指定します。指定しない場合、形式はBINARY
になります。-username
は、データのエクスポートに使用するユーザーの名前です。ストアが認証を必要とするように構成されている場合、このパラメータは必須です。ノート:
このパラメータでは大/小文字が区別されます。-security
は、クライアント・セキュリティ構成ファイルです。ストアが認証を必要とするように構成されている場合、このパラメータは必須です。セキュリティ情報を含むファイルへの完全修飾パスを指定するか、ファイル名を指定できます。完全修飾されていない場合、エクスポート・ユーティリティは、現在の作業ディレクトリでセキュリティ・ファイルを検索します。このファイルに含まれるパラメータの詳細は、Javaダイレクト・ドライバ開発者ガイドのSSLの構成を参照してください。次に例を示します。oracle.kv.auth.username=clientUID1 oracle.kv.auth.pwdfile.file=/home/nosql/login.pwd oracle.kv.transport=ssl oracle.kv.ssl.trustStore=/home/nosql/client.trust
Kerberosを使用している場合、このファイルは次のようになります。
oracle.kv.auth.kerberos.keytab=kerberos/mykeytab oracle.kv.auth.username=krbuser@EXAMPLE.COM oracle.kv.auth.external.mechanism=kerberos oracle.kv.auth.kerberos.services=node01:oraclenosql/node01.example.com@EXAMPLE.COM oracle.kv.auth.kerberos.mutualAuth=false
ノート:
このパラメータでは大/小文字が区別されます。-verbose
を指定すると、トレース、デバッグおよび進捗のメッセージが標準出力に出力されます。このオプションは、特に表またはデータセットが大規模な場合に、エクスポート操作の進捗状況を追跡するために役立ちます。
ノート:
インポート/エクスポート・ユーティリティの詳細は、インポートおよびエクスポート・ユーティリティの使用を参照してください。エクスポート・ユーティリティの構成ファイル
構成ファイルはJSON形式で指定します。エクスポートを実行するための構成ファイルの形式は次のとおりです。
{
"configFileVersion": <version>,
"abortOnError": [false | true],
"errorOutput": <error-dir>,
"errorFileSizeMB": <error-file-chunk-size-mb>,
"errorFileCount": <error-file-chunk-count>,
"checkpointOutput": <checkpoint-dir>,
"requestTimeoutMs": <read-request-timeout-ms>,
"path": <local-output-directory>,
"fileSizeMB": <file-chunk-size-MB>,
"pretty": [false | true]
}
次で記載されていないかぎり、すべての構成パラメータは大/小文字が区別されないことに注意してください。
configFileVersion
- オプション。このフィールドは、構成ファイルのバージョンを表します。この構成オプションでサポートされている値は、1
のみです。abortOnError
- オプション。true
の場合、最初にエラーが発生した時点でユーティリティは終了します。エクスポートされたデータを含むターゲット・ストレージのタイプは実行中状態になり、エラーの前にOracle NoSQL Databaseから抽出されたデータがすべて含まれます。false
の場合、エクスポートは続行され、エラーは構成済のerrorOutput
ディレクトリにあるファイルに記録されます。デフォルトはtrue
です。errorOutput
- オプションで、大/小文字が区別されます。ユーティリティがエラー・ログ・ファイルを作成するディレクトリです。このファイルには、エラーに関連するOracle NoSQL Databaseのデータとともにエラー・メッセージが含まれます。完全修飾ディレクトリまたはディレクトリ名を使用できます。ディレクトリ名を使用する場合、インポート/エクスポート・ユーティリティが実行されている現在の作業ディレクトリに対して相対的な名前を使用します。指定しない場合、<path>/errors
にデフォルト設定されます。サブディレクトリは、それぞれが一連のログ・ファイルを保持し、エクスポートされる表ごとに作成されます。たとえば、
table1
、table2
およびtable3
をエクスポートし、errorOutput
ディレクトリを/users/oracle/nosql
に設定してある場合、エクスポートによって次のファイル・セットが作成されます。/users/oracle/nosql/table1.err* /users/oracle/nosql/table2.err* /users/oracle/nosql/table3.err*
エラー・ファイルは
errorFileSize
(以下を参照)のサイズで作成され、0
から番号が付けられます。errorFileSize
- オプション。単一のエラー・ファイルの最大サイズ(MB)。この制限に達すると、ユーティリティによって別のエラー・ファイルが作成されます。デフォルトは500mb
です。errorFileCount
- オプション。エクスポートされる表ごとに作成されるエラー・ファイルの最大数。この制限に達すると、ユーティリティが終了し、エクスポートも終了します。デフォルトは5
です。たとえば、
errorFileCount
が2
で、3つの表をエクスポートする場合、作成されるエラー・ファイルの最大数は6
です。表ごとに2つのエラー・ファイルが作成されます。checkpointOutput
- オプションで、大/小文字が区別されます。指定する場合は、ユーティリティがチェックポイント情報を格納し、エクスポート操作の進捗状況が記録するディレクトリを示します。完全修飾ディレクトリまたはディレクトリ名を使用できます。ディレクトリ名を使用する場合、インポート/エクスポート・ユーティリティが実行されている現在の作業ディレクトリに対して相対的な名前を使用します。指定しない場合、チェックポイントは無効になります。requestTimeoutMs
- オプション。Oracle NoSQL Databaseからの読取り操作を待機する最大時間をミリ秒単位で指定します。デフォルトは5秒
です。path
- 必須で、大/小文字が区別されます。エクスポート・パッケージが格納されるディレクトリです。完全修飾ディレクトリまたはディレクトリ名を使用できます。ディレクトリ名を使用する場合、インポート/エクスポート・ユーティリティが実行されている現在の作業ディレクトリに対して相対的な名前を使用します。fileSizeMB
- オプション。シンクに格納される表データのチャンクの最大サイズを示します。エクスポート時に、表はfileSizeMB
のチャンクに分割され、各チャンクは別個のファイルとしてシンクに書き込まれます。このパラメータのデフォルト値は1 GB
です。pretty
- オプションで、JSON形式でのみ使用できます。true
の場合、エクスポート・ユーティリティによってJSON出力がフォーマットされ、読みやすくなります。このオプションのデフォルト値はfalse
です。
エクスポートの進捗の監視
-verbose
フラグを使用して、エクスポートの進捗を追跡します。コマンドの標準出力をファイルにリダイレクトするか、Unixコマンドtail -f
にパイプします。-verbose
を使用している場合、エラーは標準エラーに送信されます。必要に応じて、errorOuput
ディレクトリを構成し、進捗メッセージとエラー・メッセージをこのディレクトリに記録できます。
同時エクスポートの実行
複数のエクスポート・ジョブを同時に実行できます。ただし、エクスポートを実行する各インスタンスは、異なるパスで実行されるため、エクスポート・ユーティリティによって書き込まれるファイルのいずれも互いに上書きされないようにすることをお薦めします。
エクスポート・チェックポイントの仕組み
エクスポート操作中のチェックポイントは、表の粒度で機能します。つまり、各表が正常にエクスポートされると、チェックポイント・レコードが書き込まれます。エクスポート操作が完了前に失敗し、再実行された場合、チェックポイント・ファイルが検査され、完了している表がスキップされます。そのため、複数の表をエクスポートする場合は、チェックポイントを使用することをお薦めします。
エクスポート・パッケージの構造
Oracle NoSQL Databaseからファイル・システムにデータをエクスポートすると、次のエクスポート・パッケージ・ディレクトリ構造が作成されます。ディレクトリ構造は、次の2つの部分で構成されます。
- 共通 - ディレクトリ構造のこの部分は、エクスポート・ユーティリティに指定したオプションに関係なく常に作成されます。
- Export-all - ディレクトリ構造のこの部分には、Oracle NoSQL Databaseストアに格納されているすべてのラージ・オブジェクト・データまたはキー/値のRAWデータが含まれ、
-export-all
オプションを使用してエクスポート・ユーティリティを実行した場合にのみエクスポートされます。ノート:
「Other」と示されたこのサブツリー部分には、Oracle NoSQL Databaseストアからのキー/値のRAWデータが含まれます。
スキーマ管理
ストアのスキーマは、長時間実行されるエクスポート・プロセス中に変更されることがあります。export
ユーティリティは、次のようにスキーマの変更に対処します。
-
スキーマがエクスポート・プロセス中に展開された場合、プロセスではプロセス開始時に使用可能な最新バージョンが使用されます。このデータが後でストアに再インポートされた場合、インポートされたすべてのデータがこのバージョンのスキーマと互換性を持つようになります。
この場合、
export
ユーティリティは、エクスポート中にスキーマが変更されたことを示す警告をエクスポート・プロセスの最後に表示します。スキーマの変更方法を識別するためにメタデータ差分が提供されます。 -
エクスポート・プロセス中に表が削除された場合、プロセスは何もメッセージを出さずに続行します。この場合、
export
ユーティリティは、エクスポート中に1つ以上の表が削除されたことを示す警告をエクスポート・プロセスの最後に表示します。 -
エクスポート・プロセス中に新規の表がストアに追加された場合、その表は無視されます。エクスポート・プロセスの開始時に存在した表のみがエクスポートされます。
エクスポート終了コード
データ・エクスポートのスクリプトを作成し、スケジュール済ジョブとして実行することが必要な場合があります。インポート/エクスポート・ユーティリティの実行をスクリプト処理する場合、スクリプトでインポート/エクスポートの終了コードを調べて、実行のステータスを確認できます。インポート/エクスポート・ユーティリティのエクスポート・フェーズには、次の終了コードが定義されています。
名前 | コード | 説明 |
---|---|---|
EXIT_OK |
0 | エラーは見つかりませんでした。 |
EXIT_USAGE |
100 | エクスポート・コマンドの使用方法が不正です。 |
EXIT_EXPSTR_NOCONNECT |
102 | サービス接続パラメータを使用してソース・ストアにアクセスできませんでした。 |
EXIT_NOCONNECT |
103 | 指定されたストア名およびヘルパー・ホストを使用してソース・ストアに接続できませんでした。 |
EXIT_UNEXPECTED |
104 | ユーティリティで予期しないエラーが発生しました。 |
EXIT_NOWRITE |
105 | エクスポート・パッケージに書込み権限がありません。 |
EXIT_NO_EXPORT_FOLDER |
108 | 指定された名前のエクスポート・フォルダが存在しません。 |
EXIT_SECURITY_ERROR |
110 | セキュリティ・ファイルのロード中にエラーが発生しました。 |
EXIT_NOSQL_PERM |
111 | ユーザーにオブジェクトの読取り権限がありません。 |