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
コマンドを使用してこれらのイベントを監視できます。