Datastream のストリームでレプリケーション エラーが発生すると、ステータスが Failed または Failed permanently に変わります。 Google Cloud コンソールで、エラー メッセージを検査し、ストリームまたは接続プロファイルの設定を更新して問題を解決できます。修復不可能なエラーの場合は、ストリームを復元してデータの損失を防ぐことができます。
ストリームのトラブルシューティング
Google Cloud コンソールの [ストリーム] ページに移動します。
ページ右上にある列の表示オプション アイコンをクリックします。アイコンは縦に並んだ 3 つの列として表示されます。
選択されていない場合は、[ステータス] チェックボックスをオンにして、[OK] をクリックします。Datastream には次のステータスが表示されます。
Failed:Runningストリームで発生したエラー。このようなエラーは、ストリームがまだアクティブであるか、実行の試みがくり返されていることを意味します。Failed permanently: 実行を継続できないストリームの場合。このようなエラーでは、データが失われる可能性があります。
トラブルシューティングするストリームをクリックします。ストリームに関連するエラーは、[ストリームの詳細] ページに表示されます。
たとえば、Datastream がソース データベースに接続できない場合、指定された認証情報ではデータソースに接続できませんというエラーページが表示されます。
エラーを解決します。ストリームまたは接続プロファイルのエラーを解決できます。
たとえば、ストリームのソースデータ オブジェクトまたは宛先構成情報に関連するエラーの場合は、ストリームを変更します。
ストリームの接続情報にエラーが関連付けられている場合は、ストリームで使用されている接続プロファイルのソース データベースまたは宛先の構成情報を更新します。
Failedストリームを修正して自動的に再開できるようにするか、Failed permanentlyストリームを復元します。
ストリームを復元する
ストリームを復元する際に最初に試すことは、現在の位置から復元することです。ストリーム復元オプションの詳細については、ストリーム復元の概要をご覧ください。
現在の位置からストリームを復元できない場合は、次の手順を試します。
- 宛先で影響を受けるテーブルを削除または切り捨てます。ストリームがダウンしていた間に、Datastream がいくつかの
DELETEイベントを見逃している可能性があります。バックフィルの実行前にテーブルを切り捨てないと、DELETEイベントを復元できません。 - 最新の位置からストリームを復元します。PostgreSQL の場合は、レプリケーション スロットを再作成するか、新しいレプリケーション スロットを作成します。
- ストリームが実行されたら、バックフィルをトリガーしてすべての過去のデータを復元します。バックフィルのトリガー方法については、バックフィルを開始するをご覧ください。
次のステップ
- ストリームの詳細については、ストリームのライフサイクルをご覧ください。
- ストリームを変更する方法については、ストリームを変更するをご覧ください。
- 失敗したストリームを復元する方法については、ストリームを復元するをご覧ください。