プランの使用

プランを使用してデータ・ストアを構成します。プランは、管理操作で構成されます。プランでは、管理サービスで管理される状態を変更したり、ストレージ・ノードやレプリケーション・ノードなどのデータ・ストア・コンポーネントにリクエストを発行できます。プランの中には、単純な状態変更操作で構成されるものもありますが、データ・ストア内のすべてのストレージ・ノードおよびレプリケーション・ノードに影響する一連のタスクを実行するものもあります。たとえば、プランを使用してゾーンやストレージ・ノードを作成したり、レプリケーション・ノードでパラメータを再構成します。

管理コマンドライン・インタフェースから使用可能なplanコマンドを使用して、プランを作成および実行し、その他の多くのタスクを実行します。planコマンドの使用方法の詳細は、CLIコマンド・リファレンスを参照してください。

デフォルトでは、planコマンドを実行すると、バックグラウンドで非同期に実行されます。コマンドライン・プロンプトは、バックグラウンド・プロセスが開始されるとすぐに返されます。実行中のプランの進行状況は、show plan idコマンドを使用して確認できます。

planコマンドは、次の2つの方法で同期的に実行できます。

plan action_to_complete —wait

plan wait -id plan_id

–waitフラグまたはplan waitコマンドのいずれかを使用すると、コマンドライン・プロンプトはコマンドが完了した後にのみ返されます。

-waitフラグとplan waitコマンドは、スクリプトからプランを実行する場合に役立ち、通常、各コマンドが次のコマンドを処理する前に終了することを想定しています。

プランを作成して、次のように、オプションの-noexecuteフラグを使用してその実行を遅延できます。
plan action –name plan-name -noexecute
後で、次のようにオンデマンドで実行できます。
plan execute -id id_num

プランの進捗の追跡

プランの進捗を追跡する方法がいくつかあります。

  • show plan -idコマンドは実行中のプランの進捗に関する情報を提供します。詳細を取得するには、オプションの-verboseフラグを使用します。

  • CLIのverifyコマンドは、プランの実行中およびサービスが開始するときに、サービス・ステータスの情報を提供します。

    ノート:

    verifyコマンドは、トポロジ関連プランのみに関係します。プランによってパラメータが変更される場合、そのような変更はverifyコマンドを使用して表示できない場合があります。

  • CLIのlogtailコマンドでは、ストア全体のログを確認できます。

プランの状態

プランは、次のいずれかの状態になります。プランは、一度に1つの状態にのみ設定されます。設定される可能性がある状態は次のとおりです。

名前 説明
APPROVED プランは正しい操作で存在しますが、実行されていません。
CANCELED 手動でINTERRUPTEDにしたプラン、またはERRORが発生したプランは、終了できます。プランを終了するには、cancelコマンドを使用します。
ERROR RUNNING状態のプランで問題が発生すると、この状態に遷移し、正常に完了せずに処理を終了します。プランがエラーを処理し、ERROR状態に遷移する前に、ストレージ・ノードとレプリケーション・ノードでエラーが発生することがあります。
INTERRUPTED CLIでinterruptコマンドを実行すると、RUNNINGプランはこの状態に遷移します。
INTERRUPT REQUESTED 実行中のプランが中断リクエストを受け取ると、プランは、実行中に行われたそれまでのステップをクリーンアップまたはリバースすることが必要になる場合があります。プランがこの状態に遷移する場合は、データ・ストアが一定の状態で保持されるようにするためです。
RUNNING プランは現在、そのコマンドを実行しています。
SUCCEEDED プランは正常に完了しました。

プランがINTERRUPTEDINTERRUPT REQUESTEDまたはERROR状態になった場合は常に、plan executeコマンドを使用できます。根本の問題が一時的なものだったか、修正された場合は、再試行が適切です。プランを再試行すると、ステップが再度処理されます。各ステップの結果は変わらず、安全に繰り返すことができます。

プランの確認

CLIのshow plansコマンドを使用して、プランの実行履歴を確認できます。このコマンドにより、プランID番号、プラン名および各プランの状態もリストされます。プランIDでshow plan -id <plan number>コマンドを使用して、特定のプランの詳細を確認します。

次の例は、show plansコマンドとshow plan -id <plan number>コマンドの両方の出力を示しています。show planコマンドは、プラン名、試行回数、開始日時と終了日時、プランが完了したタスクの合計数およびプランが正常に完了したかどうかを返します。

kv-> show plans
1 Deploy KVLite        SUCCEEDED
2 Deploy Storage Node  SUCCEEDED
3 Deploy Admin Service SUCCEEDED
4 Deploy KVStore       SUCCEEDED
kv-> show plan -id 3
Plan Deploy Admin Service (3)
Owner: null
State:          SUCCEEDED
Attempt number: 1
Started:        2022-11-22 22:05:31 UTC
Ended:          2022-11-22 22:05:31 UTC
Total tasks:    1
Successful:     1

プラン所有者

セキュアなOracle NoSQL Databaseデプロイメントでは、各planコマンドが所有者としてその作成者と関連付けられます。プラン所有者のみがそれを参照および操作できます。プランがOracle NoSQL Databaseの以前のバージョンで作成されたか、またはセキュアでないデータ・ストアで作成された場合、所有者はnullです。

ノート:

SYSOPER権限を使用すると、プランの取消し、実行、中断、待機の実行をユーザーに許可します。

SYSVIEW権限を持つユーザーは、他のユーザーが所有しているプラン、null所有者のプラン、およびOracle NoSQL Databaseから削除された所有者のプランを参照できます。

ユーザー権限およびOracle NoSQL Databaseを安全に構成する方法の詳細は、セキュリティ・ガイドを参照してください。

プランのプルーニング

削除する必要があるプランは自動的にプルーニングされます。プランが次の両方の条件と一致する場合、管理ストアから削除されます。
  • 最終状態(SUCCEEDEDまたはCANCELLED)である

  • プランID番号が最新のプランIDより1000小さい
たとえば、最新のプランIDが2000である場合、ID番号が1000以下で、最終状態であるすべてのプランがプルーニングされます。最終状態でないプランは削除されません。
プランのプルーニングは自動的に行われますが、次の状況ではプルーニングが行われたことを検出できます。
  • プルーニングされた特定のIDを持つプランを表示しようとしている。

  • 削除された1つ以上のプランを含む一連のプランを指定している。