ManualInterventionRequired状態について

TimesTenClassicオブジェクトがManualInterventionRequired状態になると、オペレータはこのオブジェクトに対してそれ以上の処理を実行しません。TimesTenの状態を判断するためにオブジェクトに関連付けられたTimesTenエージェントは問合せされず、TimesTenは何も実行しません。TimesTenClassicオブジェクトがこの状態である理由に対処することが重要です。

TimesTenClassicオブジェクトがManualInterventionRequired状態であり、それが最初にBothDown状態であったことの結果ではない場合、いずれかのデータベースを手動で修復するために必要な操作を実行します。次に、このデータベースを起動するステップを実行します。これらのステップについては、この章の後半の「1つのデータベースの起動について」で説明します。

ただし、TimesTenClassicオブジェクトが最初にBothDown状態になった結果としてManualInterventionRequired状態である場合は、次のとおりです。

  • どちらのデータベースが(ある場合)、新しいアクティブに適しているか明確でない可能性があります。スタンバイ・データベースにはコミットされておらず、アクティブ・データベースにコミットされているトランザクションがある可能性があり、同時にアクティブ・データベースにはコミットされておらず、スタンバイ・データベースにコミットされているトランザクションがある可能性があります。

  • 両方のデータベースを手動で調べる必要があります。また、どのデータベースを新規アクティブにするかを選択する前に、データを調整する必要がある場合もあります。

  • データを調整でき、データベースの1つを手動で修正できる場合は、1つのデータベースを起動するためのステップを実行できます。これらのステップについては、この章の後半の「1つのデータベースの起動について」で説明します。データを調整できない場合は、Oracleサポートに連絡してください。

TimesTenClassicオブジェクトをManualInterventionRequired状態から移動するようオペレータに指示するには、次のいずれかを行う必要があります。

  • データベースを1つのみ起動: オペレータはこのデータベースをアクティブ・データベースとして扱います。次のすべての条件を満たす必要があります。

    • コンテナのTimesTenエージェントが実行中です。

    • コンテナ内のTimesTenインスタンスが実行中です。

    • TimesTenデータベースがロードされています。

    • データベースにレプリケーション・スキームがありません。

    • レプリケーション・エージェントは稼働していません。

    • レプリケーションの状態はIDLEです。

    これらの条件が満たされると、オペレータはTimesTenClassicオブジェクトをStandbyDown状態にします。これらの条件のいずれかが満たされていない場合、TimesTenClassicオブジェクトはManualInterventionRequired状態のままです。データベースにレプリケーション・スキームが存在しない場合でも、オペレータはTimesTenClassicオブジェクト定義でレプリケーション・スキームがどのように定義されているかに基づいて適切なレプリケーション・スキームを作成します。1つのデータベースが起動して実行されるとオペレータに処理を指示できるようになる例は、「1つのデータベースの起動について」を参照してください。

  • 両方のデータベースを起動します。この場合、アクティブ・スタンバイ・ペアを構成する必要があります。具体的には、各データベースが次のすべての条件を満たしている必要があります。

    • コンテナのTimesTenエージェントが実行中です。

    • コンテナのTimesTenインスタンスが実行中です。

    • データベースがロードされています。

    • レプリケーション・スキームが両方のデータベースで定義されています。

    • レプリケーション・エージェントが起動し、実行中です。

    • 1つのデータベースがACTIVE状態であり、もう1つのデータベースがSTANDBY状態である必要があります。

    これらの条件が満たされると、オペレータはTimesTenClassicオブジェクトをNormal状態にします。これらの条件のいずれかが満たされていない場合、TimesTenClassicオブジェクトはManualInterventionRequired状態のままです。

いずれのデータベースも起動できない場合は、TimesTenClassicオブジェクトはManualInterventionRequired状態のままです。

.spec.ttspec.reexamineデータ項目を指定することで、データベースを調べるようオペレータに指示します。オペレータは、.spec.ttspec.pollingIntervalごとに.spec.ttspec.reexamineの値を調べます。このTimesTenClassicオブジェクトの最後の反復以降にその値が変更されていた場合、オペレータはこのオブジェクトのTimesTenコンテナの状態を調べます。.spec.ttspec.pollingIntervalデータ項目と.spec.ttspec.reexamineデータ項目の詳細は、TimesTenClassicSpecSpecを参照してください。

データベースの確認は、.spec.ttspec.reexamine値を変更した後に1回のみ実行されます。必要な条件を満たさなかった場合は、再度条件を満たすことを試行できます。その場合は、.spec.ttspec.reexamine値を再度変更して、オペレータによってデータベースが再確認されるようにする必要があります。

TimesTenClassicオブジェクトの状態が変更されると、常にKubernetesイベントが作成されることに注意してください。このような状態遷移が通知されるように、kubectl describeコマンドを使用してこれらのイベントを監視できます。