plan
 ストア状態を変更する作業またはジョブをカプセル化します。interruptおよびwait以外のすべてのサブコマンドが永続的な状態を変更します。プランは非同期ジョブであるため、-waitが使用されていなければすぐに返されます。プラン・ステータスはshow plansを使用してチェックできます。すべてのプラン用のオプションの引数は、次のとおりです。 
               
-  
                     -waitプランが返される前に終了するまで待機します。 
-  
                     -plan-nameプランの名前。これらは一意です。 
-  
                     -noexecuteプランを実行しません。指定された場合、プランは後で plan executeを使用して実行できます。
-  
                     -forceプラン実行およびプラン再試行を強制実行するために使用されます。 
- 
                     -json | -json-v1プランの出力をjsonまたはjson-v1として表示します。 -jsonフラグを使用すると、新しいjson形式で出力できます。-json-v1フラグを使用すると、json-v1形式で出力できます。古いバージョンのJSON出力に依存する既存のスクリプトがある場合は、既存のスクリプトが引き続き機能するように、-json-v1フラグの使用を検討できます。
サブコマンドは次のとおりです。
plan add-index
plan add-index -name <name> -table <name> [-field <name>]*
    [-desc <description>]
    [-plan-name <name>] [-wait] [-noexecute] [-force]ストア内の表に索引を追加します。
説明:
-  
                        -name表に追加する索引の名前を指定します。 
-  
                        -table索引を追加する表名を指定します。表名はピリオドで区切られた名前で、フォーマットは tableName[.childTableName]*です。
-  
                        -field主キーのフィールド値を指定します。 
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 |
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"
  } ]
  } 表設計の詳細と例は、SQLリファレンス・ガイドの表の管理を参照してください。
plan cancel
plan cancel -id <plan id> | -last - json実行中ではないプランを取り消します。実行中のプランを取り消すにはその前に中断する必要があります。
 show plansを使用して、対応するプランIDおよびステータスとともに作成されているすべてのプランを一覧表示します。 
                  
-lastオプションを使用して、最も最近作成されたプランを参照します。kv-> plan cancel -id 23 -json
{
"operation" : "plan cancel|interrupt",
"returnCode" : 5000,
"description" : "Plan 23 was canceled",
"returnValue" : null
}plan change-parameters
plan change-parameters -security | -service <id> |
    -all-rns [-zn <id> | -znname <name>] | -all-ans [-zn <id> |
    -znname <name>] | -all-admins [-zn <id> | -znname <name>]
    [-dry-run] [-plan-name <name>]
    [-json] [-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」を参照してください。 
                  
ストア内のパラメータの変更の詳細は、「ストアのパラメータの設定」を参照してください。
- change-policyコマンドを実行して、将来レプリケーション・ノードを作成するときに使用するパラメータ値を設定します。
- コマンドplan change-parameters -all-rnsを実行して、既存のレプリケーション・ノードのパラメータ値を変更します。
ノート:
plan change-parametersは、コンポーネントが使用できない場合でも、ストア・メタデータ・データベースを更新します。コンポーネントの構成の不整合がKVStoreシステムによって検出されると、整合性がとられます。
                  kv-> plan change-parameters -service rg1-rn2 -json -wait -params
loggingConfigProps="oracle.kv.level=DEBUG"
{
	"operation" : "Change RepNode Params",
	"returnCode" : 5000,
	"description" : "Operation ends successfully",
	"returnValue" : {
		"id" : 20,
		"owner" : "root(id:u1)",
		"name" : "Change RepNode Params",
		"isDone" : true,
		"state" : "SUCCEEDED",
		"start" : "2017-09-28 05:31:05 UTC",
		"interrupted" : null,
		"end" : "2017-09-28 05:31:10 UTC",
		"error" : null,
		"executionDetails" : {
			"taskCounts" : {
				"total" : 4,
				"successful" : 4,
				"failed" : 0,
				"interrupted" : 0,
				"incomplete" : 0,
				"notStarted" : 0
			},
		"finished" : [ {
			"taskNum" : 1,
			"name" : "Plan 20 [Change RepNode Params] task [WriteNewParams rg1-rn2]",
			"state" : "SUCCEEDED",
			"start" : "2017-09-28 05:31:05 UTC",
			"end" : "2017-09-28 05:31:06 UTC"
		}, {
			"taskNum" : 2,
			"name" : "Plan 20 [Change RepNode Params] task [StopNode rg1-rn2]",
			"state" : "SUCCEEDED",
			"start" : "2017-09-28 05:31:06 UTC",
			"end" : "2017-09-28 05:31:07 UTC"
		}, {
			"taskNum" : 3,
			"name" : "Plan 20 [Change RepNode Params] task [StartNode]",
			"state" : "SUCCEEDED",
			"start" : "2017-09-28 05:31:07 UTC",
			"end" : "2017-09-28 05:31:07 UTC"
		}, {
			"taskNum" : 4,
			"name" : "Plan 20 [Change RepNode Params] task [WaitForNodeState rg1-rn2 to reach RUNNING]",
			"state" : "SUCCEEDED",
			"start" : "2017-09-28 05:31:07 UTC",
			"end" : "2017-09-28 05:31:10 UTC"
		} ],
		"running" : [ ],
		"pending" : [ ]
		}
	}
}plan change-storagedir
plan change-storagedir -sn <id> -storagedir <path> -add | -remove
    [-storagedirsize <size>] [-plan-name <name>] [-json] [-wait] [-noexecute]
    [-force] レプリケーション・ノードを格納するために、ストレージ・ノード上のストレージ・ディレクトリを追加または削除します。
説明:
-  
                        -snストレージ・ディレクトリを追加または削除するストレージ・ノードを指定します。 
-  
                        -storagedirレプリケーション・ノードを格納するためのストレージ・ノード上のストレージ・ディレクトリへのパスを指定します。 
-  
                        -add | -removeストレージ・ディレクトリを追加( -add)するように指定します。ストレージ・ディレクトリを削除( -remove)するように指定します。
-  
                        -storagedirsize-storagedirで指定したディレクトリのサイズを指定します。このパラメータはオプションです。ただし、すべてのストレージ・ディレクトリではありませんが、一部については、このパラメータを指定するとエラーになります。一部のハードウェアのストレージ容量が他のハードウェアよりも大きい異種インストール環境については、このパラメータを使用することをお薦めします。すべてのストレージ・ディレクトリについてこのパラメータを指定した場合、ストアのトポロジによって、記憶域が大きいシャードにより多くのデータが配置されます。このパラメータを使用しない場合は、すべてのシャード間でデータが均等に分散されます。 このパラメータに指定する値はlongである必要があり、オプションで、その後に単位文字列を付けることができます。使用可能な単位文字列は、KB、MB、GBおよびTBです(それぞれ1024、1024^2、1024^3、1024^4に対応)。指定可能な文字列では大/小文字は区別されません。long値と単位文字列の間の有効なデリミタは、「 」、「-」または「_」です。 -storagedirsize 200 MB -storagedirsize 4_tb -storagedirsize 5000-Mb kv-> plan change-storagedir -sn sn2 -storagedir /tmp/kvroot -add -json -wait { "operation" : "Change Storage Node Params", "returnCode" : 5000, "description" : "Operation ends successfully", "returnValue" : { "id" : 21, "owner" : "root(id:u1)", "name" : "Change Storage Node Params", "isDone" : true, "state" : "SUCCEEDED", "start" : "2017-09-28 05:33:14 UTC", "interrupted" : null, "end" : "2017-09-28 05:33:14 UTC", "error" : null, "executionDetails" : { "taskCounts" : { "total" : 1, "successful" : 1, "failed" : 0, "interrupted" : 0, "incomplete" : 0, "notStarted" : 0 }, "finished" : [ { "taskNum" : 1, "name" : "Plan 21 [Change Storage Node Params] task [WriteNewSNParams sn2]", "state" : "SUCCEEDED", "start" : "2017-09-28 05:33:14 UTC", "end" : "2017-09-28 05:33:14 UTC" } ], "running" : [ ], "pending" : [ ] } } }
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> [-plan-name <name>]
    [-wait] [-noexecute] [-force] 指定されたストレージ・ノードにAdminをデプロイします。管理のタイプ(PRIMARY/SECONDARY)は、ストレージ・ノードが置かれているゾーンのタイプと同じです。
kv-> plan deploy-admin -sn sn1 -json -wait
"operation" : "plan deploy-admin -sn 1",
"returnCode" : 5000,
"description" : "Operation ends successfully",
"returnValue" : {
	"id" : 22,
	"owner" : "root(id:u1)",
	"name" : "Deploy Admin Service",
	"isDone" : true,
	"state" : "SUCCEEDED",
	"start" : "2017-09-28 05:34:26 UTC",
	"interrupted" : null,
	"end" : "2017-09-28 05:34:27 UTC",
	"error" : null,
	"executionDetails" : {
		"taskCounts" : {
			"total" : 4,
			"successful" : 4,
			"failed" : 0,
			"interrupted" : 0,
			"incomplete" : 0,
			"notStarted" : 0
		},
	"finished" : [ {
			"taskNum" : 1,
			"name" : "Plan 22 [Deploy Admin Service] task [DeployAdmin admin1 on sn1]",
			"state" : "SUCCEEDED",
			"start" : "2017-09-28 05:34:26 UTC",
			"end" : "2017-09-28 05:34:27 UTC"
		}, {
			"taskNum" : 2,
			"name" : "Plan 22 [Deploy Admin Service] task [WaitForAdminState admin1 to reach RUNNING]",
			"state" : "SUCCEEDED",
			"start" : "2017-09-28 05:34:27 UTC",
			"end" : "2017-09-28 05:34:27 UTC"
		}, {
			"taskNum" : 3,
			"name" : "Plan 22 [Deploy Admin Service] task [UpdateAdminHelperHost admin1]",
			"state" : "SUCCEEDED",
			"start" : "2017-09-28 05:34:27 UTC",
			"end" : "2017-09-28 05:34:27 UTC"
		}, {
			"taskNum" : 4,
			"name" : "Plan 22 [Deploy Admin Service] task [NewAdminParameters refresh admin1 parameter state
			without restarting]",
			"state" : "SUCCEEDED",
			"start" : "2017-09-28 05:34:27 UTC",
			"end" : "2017-09-28 05:34:27 UTC"
		} ],
	"running" : [ ],
	"pending" : [ ]
	},
	"planId" : 22,
	"resourceId" : "admin1",
	"snId" : "sn1"
	}
}
plan deploy-sn
plan deploy-sn -zn <id> | -znname <name> -host <host> -port <port>
    [-plan-name <name>] [-json] [-wait] [-noexecute] [-force] 指定されたホストおよびポートにおけるストレージ・ノードを指定されたゾーンにデプロイします。
説明:
-  
                        -snデプロイするストレージ・ノードを指定します。 
-  
                        -zn <id> | -znname <name>ストレージ・ノードをデプロイするゾーンを指定します。 
-  
                        -hostストレージ・ノードをデプロイするホスト名を指定します。 
-  
                        -portホストのポート番号を指定します。 
ストレージ・ノードのデプロイの詳細は、「残りのストレージ・ノードの作成」を参照してください。
kv-> plan deploy-sn -zn 1 -json -host localhost -port 10000 -wait
{
"operation" : "plan deploy-sn -zn 1 -host localhost -port 10000",
"returnCode" : 5000,
"description" : "Operation ends successfully",
"returnValue" : {
	"id" : 25,
	"owner" : "root(id:u1)",
	"name" : "Deploy Storage Node",
	"isDone" : true,
	"state" : "SUCCEEDED",
	"start" : "2017-09-28 05:40:50 UTC",
	"interrupted" : null,
	"end" : "2017-09-28 05:40:51 UTC",
	"error" : null,
	"executionDetails" : {
		"taskCounts" : {
			"total" : 1,
			"successful" : 1,
			"failed" : 0,
			"interrupted" : 0,
			"incomplete" : 0,
			"notStarted" : 0
		},
	"finished" : [ {
		"taskNum" : 1,
		"name" : "Plan 25 [Deploy Storage Node] task [DeploySN sn4(localhost:10000)]",
		"state" : "SUCCEEDED",
		"start" : "2017-09-28 05:40:50 UTC",
		"end" : "2017-09-28 05:40:51 UTC"
		} ],
	"running" : [ ],
	"pending" : [ ]
	},
	"planId" : 25,
	"resourceId" : "sn4",
	"zoneId" : "zn1",
	"host" : "localhost",
	"port" : 10000
	}
}plan deploy-topology
plan deploy-topology -name <topology name> [-plan-name <name>]
    [-json] [-wait] [-noexecute] [-force]  指定されたトポロジをストアにデプロイします。KVStoreのサイズによって、このコマンドがレプリケーションおよびアービタ・ノードをデプロイして、それらが完全に機能するシャード・メンバーになるまでに要する時間が決まります。plan deploy-topologyコマンドは、このコマンドの終了を待機しません。 
                  
plan deploy-topologyコマンドを実行したら、verify configurationコマンドを使用して、トポロジ内のコンポーネントの実行状態をチェックしてください。トポロジ候補のデプロイを参照してください。 
                  
kv-> plan deploy-topology -name MyStoreLayout -json -wait
{
"operation" : "plan deploy-topology -name MyStoreLayout",
"returnCode" : 5000,
"description" : "Operation ends successfully",
"returnValue" : {
	"id" : 26,
	"owner" : "root(id:u1)",
	"name" : "Deploy Topo",
	"isDone" : true,
	"state" : "SUCCEEDED",
	"start" : "2017-09-28 05:56:25 UTC",
	"interrupted" : null,
	"end" : "2017-09-28 05:56:26 UTC",
	"error" : null,
	"executionDetails" : {
	"taskCounts" : {
	"total" : 6,
	"successful" : 6,
	"failed" : 0,
	"interrupted" : 0,
	"incomplete" : 0,
	"notStarted" : 0
	},
"finished" : [ {
	"taskNum" : 1,
	"name" : "Plan 26 [Deploy Topo] task [UpdateDatacenterV2 zone=zn1]",
	"state" : "SUCCEEDED",
	"start" : "2017-09-28 05:56:25 UTC",
	"end" : "2017-09-28 05:56:25 UTC"
	}, {
	"taskNum" : 2,
	"name" : "Plan 26 [Deploy Topo] task [UpdateDatacenterV2 zone=zn2]",
	"state" : "SUCCEEDED",
	"start" : "2017-09-28 05:56:25 UTC",
	"end" : "2017-09-28 05:56:25 UTC"
	}, {
	"taskNum" : 3,
	"name" : "Plan 26 [Deploy Topo] task [UpdateDatacenterV2 zone=zn3]",
	"state" : "SUCCEEDED",
	"start" : "2017-09-28 05:56:25 UTC",
	"end" : "2017-09-28 05:56:25 UTC"
	}, {
	"taskNum" : 4,
	"name" : "Plan 26 [Deploy Topo] task [BroadcastTopo]",
	"state" : "SUCCEEDED",
	"start" : "2017-09-28 05:56:25 UTC",
	"end" : "2017-09-28 05:56:26 UTC"
	}, {
	"taskNum" : 5,
	"name" : "Plan 26 [Deploy Topo] task [BroadcastMetadata]",
	"state" : "SUCCEEDED",
	"start" : "2017-09-28 05:56:26 UTC",
	"end" : "2017-09-28 05:56:26 UTC"
	}, {
	"taskNum" : 6,
	"name" : "Plan 26 [Deploy Topo] task [BroadcastTopo]",
	"state" : "SUCCEEDED",
	"start" : "2017-09-28 05:56:26 UTC",
	"end" : "2017-09-28 05:56:26 UTC"
	} ],
	"running" : [ ],
	"pending" : [ ]
	},
	"planId" : 26,
	"topoName" : "MyStoreLayout"
	}
}plan deploy-zone
plan deploy-zone -name <zone name>
    -rf <replication factor>
    [-type [primary | secondary]]
    [-arbiters | -no-arbiters]
    [-json ]
    [–master-affinity | –no-master-affinity]
    [-plan-name <name>] [-wait] [-noexecute] [-force]  -typeを指定しない場合、指定したゾーンがストアにデプロイされ、プライマリ・ゾーンが作成されます。 
                  
説明:
-  
                        -nameデプロイするゾーンの名前を指定します。 
-  
                        -rfゾーンのレプリケーション係数を指定します。 
-  
                        -typeデプロイするゾーンのタイプを指定します。プライマリ・ゾーンまたはセカンダリ・ゾーンにすることができます。-typeを指定しない場合は、プライマリ・ゾーンがデプロイされます。 
- 
                        -jsonコマンド出力の形式をJSONに設定します。 
-  
                        -arbiters | -no-arbiters-arbitersを指定すると、ゾーン内のストレージ・ノードにアービタ・ノードを割り当てることができます。このフラグは、プライマリ・ゾーンでのみ指定できます。-no-arbitersを指定すると、ゾーン内のストレージ・ノードにアービタ・ノードを割り当てることはできません。デフォルト値は -no-arbitersです。
- 
                        -master—affinity | -no-master-affinity-master-affinityを指定すると、このゾーンがマスターをホストできることを示します。-no-master-affinityを指定すると、このゾーンがマスターをホストできないことを示します。デフォルト値は -no-master-affinityです。
ゾーンの作成に関する詳細は、「ゾーンの作成」を参照してください。
kv-> plan deploy-zone -name zn6 -rf 1 -json -wait
{
	"operation" : "plan deploy-zone -name zn6 -rf 1 -type PRIMARY -no-arbiters -no-master-affinity",
	"returnCode" : 5000,
	"description" : "Operation ends successfully",
	"returnValue" : {
		"id" : 27,
		"owner" : "root(id:u1)",
		"name" : "Deploy Zone",
		"isDone" : true,
		"state" : "SUCCEEDED",
		"start" : "2017-09-28 05:57:29 UTC",
		"interrupted" : null,
		"end" : "2017-09-28 05:57:29 UTC",
		"error" : null,
		"executionDetails" : {
			"taskCounts" : {
			"total" : 1,
			"successful" : 1,
			"failed" : 0,
			"interrupted" : 0,
			"incomplete" : 0,
			"notStarted" : 0
		},
	"finished" : [ {
		"taskNum" : 1,
		"name" : "Plan 27 [Deploy Zone] task [DeployDatacenter zone=zn6]",
		"state" : "SUCCEEDED",
		"start" : "2017-09-28 05:57:29 UTC",
		"end" : "2017-09-28 05:57:29 UTC"
		} ],
		"running" : [ ],
		"pending" : [ ]
		},
	"planId" : 27,
	"zoneName" : "zn6",
	"zoneId" : "zn4",
	"type" : "PRIMARY",
	"rf" : 1,
	"allowArbiters" : false,
	"masterAffinity" : false
	}
}plan deregister-es
plan deregister-es  deregister-es planコマンドを使用して、ElasticsearchクラスタをOracle NoSQL Databaseストアから登録解除します。これは、plan remove-indexコマンドを使用してすべての全文索引を最初に削除した場合にのみ可能です。plan remove-indexを参照してください。 
                  
たとえば:
kv-> plan deregister-es
Cannot deregister ES because these text indexes exist:
mytestIndex
JokeIndex 詳細は、統合ガイドの全文検索のためのエラスティック・サーチとの統合を参照してください。
plan drop-user
plan drop-user -name <user name>
    [-plan-name <name>] [-wait] [-noexecute] [-force] ストア内の指定された名前でユーザーを削除します。ログイン・ユーザーは自身を削除することはできません。
このコマンドは非推奨です。詳細は、セキュリティ・ガイドのユーザーの削除を参照してください。
plan enable-requests
このコマンドは、一連のシャードまたはストア全体によってサポートされているユーザー・リクエストのタイプを変更します。
plan enable-requests 
    -request-type {all|readonly|none} 
    {-shards <shardId[,shardId]*> | -store} 
    [-plan-name <name>] [-wait] 
    [-noexecute] [-force] 
    [-json|-json-v1] 特定のシャードまたはストア全体に対して有効なリクエストのタイプを制限します。
-request-typeフラグは、読取りおよび書込みリクエストを構成します。このコマンドでは、次のリクエスト・タイプを構成できます。
                     
- allは、ストアまたはシャードが読取りリクエストと書込みリクエストの両方を処理できることを意味します。
- readonlyは、ストアまたはシャードが読取りリクエストにのみ応答するようにします。
- noneは、ストアまたはシャードが読取りまたは書込みリクエストを処理しないことを意味します。
-shardsフラグは、構成を1つ以上のシャードで実行する場合に構成するシャードのリストを指定します。shardidの詳細を取得するには、show topologyコマンドを実行します。トポロジ表示出力のrgXX部分は、shardidを示します。show topologyを参照してください。
                     
-storeフラグは、ストア全体で構成を実行することを指定します。
                     
-shardフラグまたは-storeフラグを指定する必要があります。
                     
例5-1 plan enable-requests
たとえば、シャードrg1を読取り専用モードにする場合は、shardidとしてrg1を指定し、request-typeとしてreadonlyを指定します。
                     
kv-> plan enable-requests 
    -request-type readonly -shards rg1
Started plan 25. Use show plan -id 25 to check status.
    To wait for completion, use plan wait -id 25例5-2 plan enable-requests
たとえば、ストア全体を読取り専用モードにしてjson形式で出力を取得する場合は、store属性、request-type属性をreadonlyおよびjson属性として指定します。
                     
kv-> plan enable-requests 
    -request-type readonly -store -json
{
  "operation" : "plan enable-requests",
  "returnCode" : 5000,
  "description" : "Operation ends successfully",
  "returnValue" : {
    "planId" : 26
  }
}例5-3 plan enable-requests
たとえば、ストア全体を読取り専用モードにし、json v1形式で出力を取得する場合は、store属性、request-type属性をreadonlyおよびjson-v1属性として指定します。
                     
kv-> plan enable-requests 
    -request-type readonly -store -json-v1
{
  "operation" : "plan enable-requests",
  "return_code" : 5000,
  "description" : "Operation ends successfully",
  "return_value" : {
    "plan_id" : 27
  }
}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
    [-plan-name <name>] [-json] [-wait] [-noexecute] [-force]  まだ実行されていない既存のプランを実行します。プランは、-noexecuteフラグを使用して事前に作成されているはずです。 
                  
 -lastオプションを使用して、最も最近作成されたプランを参照します。 
                  
kv-> plan execute -id 19 -json -wait
{
	"operation" : "plan deploy-zone -name zn6 -rf 1 -type PRIMARY -no-arbiters -no-master-affinity",
	"returnCode" : 5000,
	"description" : "Operation ends successfully",
	"returnValue" : {
		"id" : 19,
		"name" : "Deploy Zone",
		"isDone" : true,
		"state" : "SUCCEEDED",
		"start" : "2017-09-28 09:35:31 UTC",
		"interrupted" : null,
		"end" : "2017-09-28 09:35:31 UTC",
		"error" : null,
		"executionDetails" : {
			"taskCounts" : {
			"total" : 1,
			"successful" : 1,
			"failed" : 0,
			"interrupted" : 0,
			"incomplete" : 0,
			"notStarted" : 0
		},
	"finished" : [ {
		"taskNum" : 1,
		"name" : "Plan 19 [Deploy Zone] task [DeployDatacenter zone=zn6]",
		"state" : "SUCCEEDED",
		"start" : "2017-09-28 09:35:31 UTC",
		"end" : "2017-09-28 09:35:31 UTC"
} ],
"running" : [ ],
"pending" : [ ]
},
"planId" : 19,
"zoneName" : "zn6",
"zoneId" : "zn4",
"type" : "PRIMARY",
"rf" : 1,
"allowArbiters" : false,
"masterAffinity" : false
}
}plan failover
plan failover  { [-zn <zone-id> | -znname <zone-name>]
    -type [primary | offline-secondary] }...
    [-plan-name <name>] [-wait] [-noexecute] [-force] 説明:
- 
                        -zn <zone-id> | -znname <zone-name>ゾーンは、ゾーンIDか名前で指定します。 
- 
                        -type [primary | offline-secondary]関連するゾーンの新しいタイプを指定します。 
プライマリ・ゾーンで障害が発生して定数が失われた場合は常に、ゾーン・タイプを変更してプライマリまたはセカンダリ・ゾーンにフェイルオーバーします。アービタが作成されたり、トポロジから削除されることはありません。アービタを含むゾーンをセカンダリ-オフラインとして指定した場合、このコマンドによって違反が発生することがあります。アービタ違反が発生する場合は、forceフラグを使用してください。
新しいタイプがprimaryのゾーンは、障害が発生したプライマリ・ゾーンを引き継いで定数を再確立します。これらのゾーンについては、ゾーン内の各シャードのストレージ・ノードの定数が使用可能であり、リクエストに応答している必要があります。
新タイプがoffline-secondaryのゾーンは、現在オフラインになっているプライマリ・ゾーンに対応します(これによって現在の定数不足が生じています)。このようなゾーンでは、ゾーン内のストレージ・ノードすべてが現在使用できません。コマンドの開始時にこのような要件が満たされない場合、ゾーン・タイプの変更を実行することはできません。
ノート:
アービタ・ノードは現在、フェイルオーバーおよびスイッチオーバー操作中にはサポートされていません。
 トポロジ・コンポーネントが修復された後に違反を修正するために、plan failoverコマンドはrebalanceコマンドを実行します。rebalanceの後に新しいトポロジを正常にデプロイするには、トポロジ・コンポーネントをホストしているストレージ・ノードが実行中である必要があります。セカンダリ・ゾーンにフェイルオーバーされたゾーン内のストレージ・ノードにアービタが含まれていた場合、SNが再起動すると、アービタはシャードに再び参加します。 
                  
データ・ストアについて他のプランが進行しているときに、このコマンドを実行することはできません。このプランを実行する前に、他のプランを取り消すか、中断してください。
plan grant
plan grant [-role <role name>]* -user <user_name> ユーザーにロールを付与できるようにします。
説明:
-  
                        -role <role name>付与するロールを指定します。ロール名は、セキュリティ・ガイドに記載されているシステム定義ロール( publicを除く)である必要があります。
-  
                        -user <user_name>ロールを付与するユーザーを指定します。 
このコマンドは非推奨です。詳細は、セキュリティ・ガイドのロールまたは権限の付与を参照してください。
plan interrupt
plan interrupt -id <plan id> | -last [-json]実行中のプランを中断します。中断されたプランは再実行または取消のみが可能です。-lastを使用して、最も最近作成されたプランを参照します。
kv-> plan interrupt -id 20 -json
{
"operation" : "plan cancel|interrupt",
"returnCode" : 5000,
"description" : "Plan 20 was interrupted",
"returnValue" : null
}plan migrate-sn
plan migrate-sn -from <id> -to <id> 
    [-plan-name <name>] [-wait] [-noexecute] [-force] あるストレージ・ノードから別のストレージ・ノードにサービスを移行します。古いノードは実行中ではないことが必要です。
説明:
-  
                        -from移行元の(古い)ストレージ・ノードを指定します。 
-  
                        -to移行先の(新しい)ストレージ・ノードを指定します。 
たとえば、ストレージ・ノード25から26に移行するとすると、次のようなコマンドを使用します。
kv-> plan migrate-sn -from sn25 -to sn26  plan migrate-snコマンドを実行する前に、-java -Xmx64m -Xms64m -jar KVHOME/lib/kvstore.jar stop -root KVROOTを使用して、実行中の古いストレージ・ノードを停止できます。 
                  
plan network-restore
plan network-restore -from <id> -to <id> -retain-logs 
    [-plan-name <name>] [-wait] [-noexecute] [-force] [-json|-json-v1]plan network-restoreコマンドは、レプリケーション・ノード(RN)をリストアして、ネットワーク接続を失ってからRNが受け取ることができなかった更新を反映します。ここで説明する自動手順でRNをリストアできない場合にのみ、これを使用します。 
                  
レプリケーション・ノードがなんらかの理由で切断されると、接続されていない間に行われた更新を受け取ることができません。Oracle NoSQL Databaseでは、2つの方法を使用して、リカバリされたRNがオンラインに戻った後にRNを更新します。
1つの方法は、RNのレプリケーション・グループ内で行われます。リカバリされたRNが復帰すると、レプリケーション・グループのマスター・ノードによって、RNが切断された時点から操作を再開した時点までの、受け取ることができなかったすべての更新がストリームされます。
再接続されたRNをリストアするもう1つの方法は、ネットワーク接続を介して行われます。ネットワーク・リストアを実行すると、データ・ログ・ファイル(*.jdb)の完全なセットがピアからコピーされ、リカバリされたRNに包括的なデータ・セットが提供されます。この内容には、現在のストアの内容に反映されていない多くの中間変更が含まれています。これは、受信側のRNが収集するデータ・ログ・ファイル(*.jdb)には、中間変更も含め、すべての変更が含まれているためです。 
                  
データ・ストアのアクティビティを格納するデータ・ログ・ファイル(*.jdb)を、デバッグ目的で使用されるデバッグ・ログ・ファイル(*.log)と混同しないでください。 
                  
Oracle NoSQL Databaseの自動RN再移入の試行がどちらも成功しない場合、予期しない状況や、複数のホスト上のデータを破壊する致命的な状況が原因となっている可能性があります。この場合は、管理CLIからplan network-restoreを手動で実行できます。ただし、これを行うには、更新されたデータを提供するRNを指定する必要があります。  
                  
plan network-restoreコマンドを使用します。 kv-> plan network-restore -help 
Usage: plan network-restore -from <id> -to <id> [-retain-logs] \
[-plan-name <name>] [-wait] [-noexecute] [-force] [-json | json-v1] 
Network restore a RepNode from another one in their replication group. 
- -fromフラグ - 同じレプリケーション・グループ(一致するrgX)のレプリケーション・ノードIDを指定します。- -fromノードは、完全に最新であり、- *.dbdログ・ファイルを宛先RNに提供できる必要があります。たとえば、受信側の- -toRN IDが- rg1-rn3であり、ping出力に- rg1-rn2がマスターであることが示されている場合、そのID (- rg1-rn2)は- -fromの値に適しています。
- -toフラグ - 受信側のRNのID (rgX-rnY)を指定します。
- -retain-logsフラグ - 古いログ・ファイルを遅延レプリカに保持します。ファイルが削除されるかわりに、ファイルの名前が変更されます。リカバリする側のRNでログ・ファイルが破損している疑いがある場合を除き、通常、このフラグを使用する必要はありません。
plan register-es
plan register-es -clustername <name> -host <host>
    -port <transport port> [-force]  register-es planコマンドを使用して、ElasticsearchクラスタをOracle NoSQL Databaseストアに登録します。クラスタの1つのノードを登録するのみでかまいません。クラスタ内のその他のノードは自動的に検出されます。 
                  
説明:
-  
                        -clusternameElasticsearchクラスタの名前を指定します。 
-  
                        -hostクラスタ内のノードのホスト名を指定します。 
-  
                        -portクラスタ内のノードのトランスポート・ポートを指定します。 
詳細は、統合ガイドの全文検索のためのエラスティック・サーチとの統合を参照してください。
plan remove-admin
plan remove-admin -admin <id> | -zn <id> | -znname <name>
    [-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] 表から索引を削除します。
説明:
-  
                        -name削除する索引の名前を指定します。 
-  
                        -table索引を削除する表名を指定します。表名はピリオドで区切られた名前で、フォーマットはtableName[.childTableName]*です。 
plan remove-sn
plan remove-sn -sn <id>
    [-plan-name <name>] [-wait] [-noexecute] [-force] 指定されたストレージ・ノードをトポロジから削除します。ストレージ・ノードは、削除する前に自動的に停止されます。
このコマンドは、未使用の古いストレージ・ノードをストアから削除する場合に便利です。これを行うには、「障害が発生したストレージ・ノードの置換」を参照してください。
- まず、topology change-replication-factorおよびplan deploy-topologyコマンドを使用してレプリケーション・ノードを削除する必要があります。また、
- plan remove-adminコマンドを使用して、管理ノードを削除する必要があります。
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. 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] [-json] [-noexecute] [-force] 前回のdeploy-topologyまたはmigrate-snプランの中断か取消から発生した可能性がある、デプロイされた現行トポロジにおける位置メタデータの不整合を検証します。可能であれば、不整合は修復されます。この操作は、ストアのサイズおよび状態によって、時間がかかる場合があります。
kv-> plan repair-topology -json -wait
{
"operation" : "Repair Topology",
"returnCode" : 5000,
"description" : "Operation ends successfully",
"returnValue" : {
	"id" : 25,
	"name" : "Repair Topology",
	"isDone" : true,
	"state" : "SUCCEEDED",
	"start" : "2017-09-28 09:43:06 UTC",
	"interrupted" : null,
	"end" : "2017-09-28 09:43:06 UTC",
	"error" : null,
	"executionDetails" : {
		"taskCounts" : {
		"total" : 1,
		"successful" : 1,
		"failed" : 0,
		"interrupted" : 0,
		"incomplete" : 0,
		"notStarted" : 0
		},
	"finished" : [ {
		"taskNum" : 1,
		"name" : "Plan 25 [Repair Topology] task [VerifyAndRepair]",
		"state" : "SUCCEEDED",
		"start" : "2017-09-28 09:43:06 UTC",
		"end" : "2017-09-28 09:43:06 UTC"
	} ],
	"running" : [ ],
	"pending" : [ ]
	}
	}
}plan revoke
plan revoke [-role <role name>]* -user <user_name> ユーザーからロールを取り消すことができるようにします。
説明:
-  
                        -role <role name>取り消されるロールを指定します。ロール名は、セキュリティ・ガイドに記載されているシステム定義ロール( publicを除く)である必要があります。
-  
                        -user <user_name>ロールが取り消されるユーザーを指定します。 
このコマンドは非推奨です。詳細は、セキュリティ・ガイドのロールまたは権限の取消しを参照してください。
plan start-service
plan start-service {-service <id> | -all-rns [-zn <id> |
    -znname <name>] | -all-ans [-zn <id> | -znname <name>] |
    -zn <id> | -znname <name> } [-plan-name <name>]
    [-json] [-wait] [-noexecute] [-force] 指定されたサービスを開始します。サービスとして、有効な文字列によって識別されるレプリケーション・ノード、アービタ・ノードまたは管理サービスを指定できます。
 たとえば、レプリケーション・ノードを識別するには、-service shardId-nodeIdを使用します。shardId-nodeIdは、ハイフンを1つ埋め込んだ、スペースなしの単一の引数として指定する必要があります。shardId識別子はrgXで表されます。Xはシャード番号を指します。 
                  
説明:
-  
                        -service開始するサービスの名前を指定します。 
-  
                        -all-rns指定した場合、ストア内のすべてのレプリケーション・ノードのサービスが開始されます。 
-  
                        -all-ans指定した場合、指定したゾーン内のすべてのアービタ・ノードが開始されます。 
ノート:
このプランをストレージ・ノードの開始に使用することはできません。さらに、最初にストレージ・ノード自体を開始せずに、ストレージ・ノードのサービスを再開することはできません。ストレージ・ノードを開始するには、ストレージ・ノード・ホストに移動し、次のコマンドを入力します。
nohup java -Xmx64m -Xms64m \
-jar <KVHOME>/lib/kvstore.jar start -root <KVROOT> & 
kv-> plan start-service -service rg1-rn3 -json -wait
{
	"operation" : "Start Services",
	"returnCode" : 5000,
	"description" : "Operation ends successfully",
	"returnValue" : {
		"id" : 21,
		"name" : "Start Services",
		"isDone" : true,
		"state" : "SUCCEEDED",
		"start" : "2017-09-28 09:50:54 UTC",
		"interrupted" : null,
		"end" : "2017-09-28 09:50:57 UTC",
		"error" : null,"executionDetails" : {
		"taskCounts" : {
			"total" : 2,
			"successful" : 2,
			"failed" : 0,
			"interrupted" : 0,
			"incomplete" : 0,
			"notStarted" : 0
		},
	"finished" : [ {
		"taskNum" : 1,
		"name" : "Plan 21 [Start Services] task [StartNode]",
		"state" : "SUCCEEDED",
		"start" : "2017-09-28 09:50:54 UTC",
		"end" : "2017-09-28 09:50:55 UTC"
		}, {
	"taskNum" : 2,
	"name" : "Plan 21 [Start Services] task [WaitForNodeState rg1-rn3 to reach RUNNING]",
	"state" : "SUCCEEDED",
	"start" : "2017-09-28 09:50:55 UTC",
	"end" : "2017-09-28 09:50:57 UTC"
		} ],
	"running" : [ ],
	"pending" : [ ]
		}
	}
}plan stop-service
plan stop-service {-service <id> |
    -all-rns [-zn <id> | -znname <name>] | -all-ans [-zn <id> |
    -znname <name>] | -zn <id> | -znname <name> }
    [-plan-name <name>] [-json] [-wait] [-noexecute] [-force] 指定されたサービスを停止します。サービスとして、有効な文字列によって識別されるレプリケーション・ノード、アービタ・ノードまたは管理サービスを指定できます。
 たとえば、レプリケーション・ノードを識別するには、-service shardId-nodeIdを使用します。shardId-nodeIdは、ハイフン(-)を1つ埋め込んだ、スペースなしの単一の文字列である必要があります。shardId識別子はrgXとして表されます。Xはシャード番号を表します。 
                  
 -serviceの後に指定する他のオプションには、次のものがあります。 
                  
-  
                        -all-rnsストア内のすべてのレプリケーション・ノードのサービスを停止します。 
-  
                        -all-ans指定したゾーン内のすべてのアービタ・ノードのサービスを停止します。 
このコマンドを使用して、影響を受けるサービスを停止し、システムがサービスとの通信を試みても受け入れないようにします。1つ以上のサービスとの通信を停止すると、すでに認識している障害に関するエラー出力の量が減少します。
plan stop-serviceコマンドを実行するたびに、ヘルス・チェックが自動的に開始されます。ヘルス・チェックでは、指定したサービスを停止すると定数が失われるかどうかが確認されます。それ以上のチェックは実行されず、サービスを停止した場合に定数が失われるかどうかのみがチェックされます。定数が失われるのを回避するために、ヘルス・チェックが失敗すると、plan stop-serviceは実行に失敗し、次のような詳細なヘルス・チェック情報が出力されます。
                  
One of the groups is not healthy enough for the operation:
[rg1] Only 1 primary nodes are running such that a simple 
majority cannot be formed which requires 2 primary nodes. 
The shard is vulnerable and will not be able to elect a new master. 
Nodes not running: [rg1-rn1]. Nodes to stop: {rg1=[rg1-rn2]}
...
定数が失われるためにサービスを停止できない場合は、サービスの停止を試みる前に、発生している問題を確認する必要があります。
一方、サービスを停止すると定数が失われることがわかっていても、重要な変更を行うためにそのようなイベントが必要な場合は、-forceフラグを追加することでplan stop-serviceコマンドを強制的に実行できます。
                  
ノート:
管理サービスを強制的に停止し、管理定数が失われた場合、それ以降はstart-serviceプランを使用して管理サービスを開始できなくなります。それ以降、プランの操作もすべて失敗します。
                   plan stop-serviceコマンドは、ディスク置換プロセス中にも役立ちます。障害が発生したディスクを削除する前に、このコマンドを使用して、影響を受けるサービスを停止します。詳細は、「障害が発生したディスクの置換」を参照してください。 
                  
ノート:
- 
                           このプランをストレージ・ノードの停止に使用することはできません。ストレージ・ノードを停止するには、まず、そのノード上で実行されているすべてのサービスを停止します。次に、ストレージ・ノード・ホストに移動し、次のコマンドを発行して、ストレージ・ノード・プロセスのIDを確認します。 ps -af | grep -e "kvstore.jar.*start.*<KVROOT>"次を使用してプロセスを強制終了します。 kill <storage node id>
- 
                           また、 plan stop-service -all-rnsコマンドでは常に定数が失われるため、このオプションを指定してplan stop-serviceを実行すると、ヘルス・チェックの実行はスキップされます。さらに、-all-rnsオプションを使用する場合、-forceフラグを使用する必要はありません。
plan update-tls-credentials
plan update-tls-credentialsコマンドは、データ・ストア内のストレージ・ノード・エージェント(SNA)で使用される共有TLS (Transport Layer Security、旧称はSSL)資格証明のセットに対する資格証明更新を取得しインストールします。このプランは、すべてのSNAで同じ資格証明が共有されているデータ・ストアでのみ使用し、ホスト固有の資格証明があるデータ・ストアの場合は使用しないでください。
                  
フラグを指定しなかった場合、このplanコマンドでは、取得タスクとインストール・タスクが両方実行されます。-retrieve-onlyまたは-install-onlyのどちらかを指定した場合は、対応するアクションのみ(取得またはインストールのどちらか)が実行されます。両方のフラグを同時に指定することはできません。このplanコマンドにはSYSOPER権限が必要です。これは、デフォルトでsysadmin組込みロールに付与されています。
                  
plan update-tls-credentials  [-retrieve-only|-install-only] [-force]- -retrieve-only: このオプションにより、取得アクションのみを実行するようにplanコマンドに指示します。SNAごとに、プランによってSNAルート・ディレクトリの下の- security/updates/retrieveという名前のスクリプトが検索されます。そのスクリプトが存在する場合は、SNAによってそのスクリプトが起動され、このplanコマンドは、そのスクリプトが完了するまで待機します。プランにより、インストールされた資格証明と保留になっている更新について、一致するセットが各SNAにあるかどうかがチェックされます。プランにより、新しい資格証明に関する潜在的な問題を検出するための追加要件をそれらの更新が満たしているかどうかもチェックされます。このplanコマンドのしくみについて詳細を次に示します。
- -install-only: このオプションにより、更新された資格証明のみを、データ・ストア内のSNAで使用される共有TLS資格証明のセットにインストールします。ストア管理者は、- -retrieve-onlyオプションを使用してこのコマンドを先にコールしておくか、別のメカニズムによって、更新された資格証明を取得するよう手配する必要があります。プランにより、インストールされた資格証明と保留になっている更新について、一致するセットが各SNAにあるかどうかがチェックされます。プランにより、新しい資格証明に関する潜在的な問題を検出するための追加要件をそれらの更新が満たしているかどうかもチェックされます。このplanコマンドのしくみについて詳細を次に示します。
- -force: このオプションを指定した場合は、プランによって、新しい資格証明に関する潜在的な問題を検出するための追加要件をそれらの更新が満たしているかどうかのチェックがスキップされます。
retrieve-onlyフラグを指定した場合に実行されます。SNAごとに、プランによって、SNAルート・ディレクトリ($KVROOT)の下のsecurity/updates/retrieveという名前の実行可能ファイルが検索されます。デフォルトでは、このファイルは存在しません。システム管理者が取得スクリプト(これにより、資格証明の変更内容をチェックし、更新されたキーストアおよびトラストストア・ファイルを取得し、それらを更新用ディレクトリ($KVROOT/security/updates)にコピーする)を作成する必要があります。これらの資格証明変更は、それらをデータ・ストアに適用する前に、必要に応じてストア・クライアント(CLI管理クライアントやMRエージェント(該当する場合)など)に適用する必要があります。
                  このplanコマンドは、retrieveスクリプトが完了するまで待機します。retrieveスクリプトがゼロ以外のリターン・コードで終了した場合は、その失敗が標準出力と標準エラーへの出力とともにログ記録され、プランは失敗します。retrieveスクリプトは短時間で終了する必要があります。これは、このplanコマンドがそのスクリプトが戻るまで待機するのは、wait -idパラメータで指定された時間までであるためです。このパラメータのデフォルト値は5分です。取得スクリプトの実行時間がその時間より長くなると、そのスクリプトが強制終了され、プランは失敗します。
                  
- SNAに、別々のインストール済ファイルがあり更新がない場合。
- SNAのどれかに更新があり、それらの更新が、更新を必要とするすべてのSNA上で一致していないか存在しない場合。
- SNAのどれかに、アンインストールされた更新があり、それらの更新に、キーストア・ファイルとトラストストア・ファイルが両方含まれていない場合。
その後、プランにより、新しい資格証明に関する潜在的な問題を検出するための追加要件をそれらの更新が満たしているかどうかがチェックされます。-forceフラグが指定されている場合、これらのチェックはスキップされます。チェックされるキーストア・ファイルとトラストストア・ファイルの名前は、keystoreおよびtruststoreパラメータを使用して指定したものになります。これらは、デフォルトで、それぞれstore.keysおよびstore.trustに設定されます。詳細は、SSLキーと証明書の更新中の追加検証を参照してください。更新が追加検証のどれかに合格しなかった場合は、-forceフラグが指定されていないかぎり、プランは失敗します。
                  
前述のチェックのどれかに不合格だった場合、planコマンドは終了しエラー・コードが示されます。それ以外の場合で、-retrieve-onlyフラグを指定した場合は、このステップの後でプランが正常に完了します。フラグを指定しなかった場合、プランは、次に示すようにインストール・ステップに進みます。
                  
資格証明のインストールでは、更新をインストールした後であっても、更新用ディレクトリの内容は変更されません。retrieveスクリプト、または更新された資格証明を追加するための手動プロセスは、更新用ディレクトリに以前の更新が含まれているという状況に対処するために準備する必要があります。retrieveスクリプトでは、必要に応じて他のファイルを更新用ディレクトリに格納して、新しい資格証明を使用可能かどうかチェックすることもできます。
                  
新しい資格証明のインストールの一環として、まず、このplanコマンドによって必要に応じて、truststoreSigPublicKeyAliasパラメータの値を変更することなくすべてのSNA上のインストール済トラストストアが更新されてすべての証明書が新しいトラストストアに含まれるようになります。次に、すべてのSNAに新しいキーストアがインストールされます。最後に、SNAごとに、新しいトラストストアがインストールされます。
                  
- 試行を繰り返した後、データ・ストア内のすべてのSNAに接続できない。SNAは、資格証明の更新があるかチェックするために最初に、また、SNAに変更が加えられる各ステージで、使用可能である必要があります。その他のサービス(管理、レプリケーション・ノード、アービタなど)は、オンラインである必要はありません。
- プランが作成されるときからそれが実行されるときまでに、データ・ストア内のSNAのセットが変更された場合。これは、プランに関連付けられているタスクがストア・トポロジ内のSNAに固有のものであるためです。
plan verify-data
plan verify-data 
    [-verify-log <enable|disable> [-log-read-delay <milliseconds>]]
    [-verify-btree <enable|disable> [-btree-batch-delay <milliseconds>]
        [-index <enable|disable>] [-datarecord <enable|disable>]]
    [-valid-time <time>]
    [-show-corrupt-files <enable|disable>]
    -service <id> | -all-services [-zn <id> | -znname <name>] |
    -all-rns [-zn <id> | -znname <name>] |
    -all-admins [-zn <id> | -znname <name>]
    [-plan-name <name>] [-wait] [-noexecute] [-force] [-json|-json-v1]
verify-dataの各パラメータおよびオプションの説明は、次のとおりです。
                     | オプション | 説明 | 
|---|---|
| -verify-log | JEのJEログ・ファイル内の各データ・レコードのチェックサムを検証します。Berkeley DB Java Edition (JE)は、Oracle NoSQL Databaseのデータ・ストレージ・エンジンです。 デフォルトは有効です。 | 
| -log-read-delay | ファイル読取り間の遅延時間を構成します。 デフォルト値は100ミリ秒です。 | 
| -verify-btree | メモリー内のデータベースのBツリーに、ディスク上の各データ・レコードへの有効な参照が含まれていることを検証します。 デフォルトは有効です。 | 
| -btree-batch-delay | バッチ間の遅延時間をミリ秒単位で構成します。 遅延のデフォルト値は10ミリ秒です。 | 
| -datarecord | データ・レコードがキャッシュ内にない場合、ディスクからデータ・レコードを読み取って検証します。 これはデフォルトでは無効です。 | 
| -index | 索引を検証します。 デフォルトは有効です。 | 
| -valid-time | 既存の検証が有効とみなされ、再実行されない時間を指定します。形式は'number unit'で、unitは分または秒です。unitは大/小文字が区別されず、スペース、"-"または"_"でnumberと区切ることができます。 デフォルトは'10 minutes'です。 | 
| -show-corrupt-files | 参照されている欠落ファイルおよび予約済ファイルを含め、破損したファイルを表示するかどうかを指定します。 これはデフォルトでは無効です。 | 
| -service id | 指定したサービス(id)で検証を実行します | 
| -all-services [-zn id | -znname name]  | 指定したゾーンまたはすべてのゾーン(何も指定しなかった場合)内のすべてのサービス(RNと管理の両方)で検証を実行します。 | 
| | -all-rns [-zn id | -znname name] | 指定したゾーンまたはすべてのゾーン(何も指定しなかった場合)内のすべてのRNで検証を実行します。 | 
| | -all-admins [-zn id | -znname name] | 指定したゾーンまたはすべてのゾーン(何も指定しなかった場合)内のすべての管理で検証を実行します。 | 
| [-plan-name name]  | 保存した指定のプランを実行して、 plan verify-dataおよび使用可能なそのオプションを実行します。 | 
| [-wait]  | プランを同期的に実行して、コマンドが完了したらコマンドライン・プロンプトが返されるようにします。 | 
| [-noexecute] | プランを作成しますが、その実行を遅らせます。逆に、プランを実行するには、 plan executeコマンドを使用します。 | 
| [-force] | フラグを検証せずに、CLIで入力したとおりにプランを実行します。 | 
| [-json|-json-v1] | プランの出力をjsonまたはjson-v1として表示します。 | 
verify-dataの実行
plan verify-dataコマンドを使用して、プライマリ表とセカンダリ索引の両方を検証できます。このコマンドでは、データ・レコードのチェックサムまたはデータベースのBツリーを検証できます。 
                     
ノート:
Oracle NoSQL Databaseでは、基盤となるストレージ・エンジンとしてOracle Berkeley DB Java Edition (JE)が使用されるため、plan verify-dataを使用したデータの検証は、ここでは説明していない、また参照することもできない下位レベルのいくつかのJE機能に依存しています。この項全体を通して、Oracle Berkeley DB Java Edition (JE)に関連する用語や概念は、その組織を表すBerkeleyという用語で示しています。Oracle Berkeley DB Java Editionの詳細は、Oracle Berkeley DB Java Editionを参照してください。
                           
plan verify-dataには、検証の対象として次の2つの部分があります。 
                        - ディスク上のログ・レコードの整合性
- Bツリーの整合性
verify-dataは各レコードのチェックサムにアクセスして検証します。この手順にはディスク読取りが含まれるため、I/Oリソースを消費し、比較的時間がかかります。パフォーマンスに対する検証の影響を軽減するには、ログ・ファイルの各バッチを読み取る間の遅延時間を長めに構成します。遅延時間を長くすると、全体的な操作時間が長くなりますが、消費するI/Oアクティビティは少なくなります。この選択肢が要件に適している場合は、-btree-batch-delayを使用して、I/O操作のピーク中におけるログ・ファイルの整合性チェック間の遅延を長くします。 
                     Bツリーの整合性を検証する場合、plan verify-dataプロセスはメモリー内の整合性を検証します。基本検証では、プライマリ表内の各データ・レコードのLSN (Berkeley)が有効かどうかのみがチェックされます。セカンダリ索引の整合性に加え、ディスク上のデータ・レコードを含むように検証を構成できます。 
                     
データ・レコードの検証を有効にしない場合、セカンダリ索引の検証では、セカンダリ索引からプライマリ表への参照のみがチェックされ、プライマリ表から索引への参照はチェックされません。基本検証ではメモリー内データ構造のみがチェックされるため、ディスク読取りを含む検証よりも大幅に高速になるとともに、リソース消費量が少なくなります。
plan wait
plan wait -id <id> | -last [-seconds <timeout in seconds>] [-json]オプションのタイムアウトが指定されていない場合は、指定したプランが完了するまで無期限に待機します。
 -secondsオプションを使用すると、プランが完了するまで待機する時間を指定できます。 
                  
 -lastオプションは、最も最近作成されたプランを参照します。 
                  
kv-> plan wait -id 26 -json
{
	"operation" : "plan wait",
	"returnCode" : 5000,
	"description" : "Operation ends successfully",
	"returnValue" : {
		"planId" : 26,
		"state" : "CANCELED"
	}
}