Amazon RDS for Oracle インスタンスでリードレプリカを使用する場合のレプリケーションラグをモニタリングし、トラブルシューティングする方法を教えて下さい。

所要時間1分
0

Oracle DB インスタンス の Amazon Relational Database Service (Amazon RDS) でリードレプリカを使用する際のレプリケーションラグをモニタリングし、トラブルシューティングしたいと思っています。

]簡単な説明

Oracle Active Data Guard License を使用して、RDS for Oracle インスタンスのリードレプリカを構成できます。インスタンスのリードレプリカを作成すると、プライマリインスタンスとリードレプリカインスタンスは Data Guard 最大パフォーマンスモードで動作します。詳細については、Oracle のドキュメントの「Oracle Data GUard 保護モード」を参照してください。

リードレプリカを使用して、プライマリインスタンスから読み取りオペレーションをオフロードできます。災害対策時には、リードレプリカをスタンドアロン DB インスタンスに昇格させることもできます。詳細については、「リードレプリカをスタンドアロン DB インスタンスに昇格させる」を参照してください。

インスタンスのリードレプリカを設定する前に、バージョンとライセンスに関する制限事項をチェックしてください。また、「Oracle レプリカに関するその他の要件と制限事項」も参照してください。

解決方法

RDS for Oracle インスタンスにリードレプリカを使用する場合は、次の点に注意してください。

  • Amazon RDS はマネージドサービスです。したがって、レプリケーションプロセスは内部 RDS_DATAGUARD ユーザーによって管理されます。このユーザーは、リードレプリカインスタンスを作成するときに設定されます。
  • 管理者ユーザーアカウントからマネージドリカバリプロセスを停止することはできません。
  • Oracle Data Guard Broker for RDS リードレプリカを構成または変更することはできません。
  • プライマリインスタンスからリードレプリカインスタンスへのデータのレプリケーションを遅らせることはできません。
  • オプショングループに加えられた変更は、リードレプリカインスタンスに反映されます。リードレプリカが同じリージョンに設定されている場合、リードレプリカは同じオプショングループに関連付けられます。詳細については、「Oracle レプリカのオプション要件と制限事項」を参照してください。

レプリケーションラグのモニタリング

レプリカがプライマリインスタンスに追いつけない場合、レプリケーションの遅延が発生する可能性があります。Amazon CloudWatch でレプリケーションラグをモニタリングするには、Amazon RDS メトリクス ReplicaLag を表示します。このメトリクスは、レプリケーションの遅延をミリ秒単位で示します。詳細については、「読み取りレプリケーションのモニタリング」および「Amazon RDS メトリクスとディメンションの表示」を参照してください。

Active Data Guard のレプリケーションラグをモニタリングおよびトラブルシューティングするには、次の手順を実行します。

次のクエリを実行して、Data Guard ラグメトリクスをチェックします。

sql > SELECT name,value,datum_time,time_computed FROM v$dataguard_stats;

次のクエリを実行して、プライマリインスタンスとリードレプリカインスタンスの間にアーカイブログにギャップがあるかどうかをチェックします。

sql >  SELECT archived.thread# THREAD,max(archived.sequence#) PRIMARY,max(applied.sequence#) STANDBY,(max(archived.sequence#) - max(applied.sequence#)) GAP FROM v$archived_log archived,v$archived_log applied WHERE archived.thread#=applied.thread# AND applied.applied='YES' GROUP BY archived.thread#;

注: RDS for Oracle では、レプリケーションラグが発生してもアラートは発生しません。リードレプリカがプライマリインスタンスに追いついていないときに通知を送信するには、RDS メトリクス ReplicaLag の CloudWatch アラームを作成します。

レプリケーションラグのトラブルシューティング

  • プライマリインスタンスが利用できない場合は、Amazon RDS Console を使用してインスタンスの現在の状態をチェックします。また、インスタンスに SQL クライアントからアクセスできるかどうかもチェックします。プライマリインスタンスが使用できない場合 (インスタンスが非互換パラメータ状態にある場合など)、リードレプリカはプライマリインスタンスに追いつくことができず、遅延します。Amazon RDS イベントをチェックして、プライマリインスタンスが利用できない理由を調べます。次に、インスタンスを修正して、アクセス可能であることを確認します。
  • プライマリインスタンスの CPU またはメモリの過負荷が高いと、転送ラグが大きくなる可能性があります。インスタンスの CloudWatch メトリクスをモニタリングします。また、Enhanced Monitoring を使用して、特定のプロセスが異常なメモリまたは CPU 使用率の急上昇を引き起こしているかどうかを特定します。詳細については、「RDS コンソールで OS メトリクスを表示する」をご参照ください。CPU/メモリの負荷が減少すると、レプリカがプライマリインスタンスに追いつくことがあります。インスタンスの過負荷が予想どおりであれば、必要に応じてインスタンスクラス、IOPS、またはスループットをスケールアップすることを選択できます。
  • プライマリインスタンスおよびリードレプリカの alert.log ファイルをモニタリングして、転送プロセスまたは適用プロセスに影響する可能性のあるアラートまたは ORA エラーを特定します。RDS インスタンスのアラートログへのアクセスの詳細はについては、「Oracle データベースログファイル」を参照してください。特定されたエラーを解決して、遅延を減らします。
  • プライマリインスタンスで REDO ログのサイズを変更したり、変更を行ったりしても、スタンバイインスタンスでは変更がレプリケートされません。これらの変更をレプリケートするには、スタンバイインスタンスを再作成する必要があります。リードレプリカを設定する前に、REDO ログパラメータを更新することがベストプラクティスです。詳細情報については、「ログ記録設定の変更」を参照してください。
  • プライマリインスタンスに比べてコンピューティング性能または IOPS キャパシティーが少ないリードレプリカインスタンスを構成すると、リードレプリカでの変更の適用速度が低下し、レプリケーションに遅延が生じることがあります。CloudWatch を使用して RDS メトリクスをモニタリングし、両方のインスタンスでスロットリングがないかチェックします。プライマリインスタンスにスロットリングがなく、リードレプリカでスロットリングが発生している場合は、スロットリングされるリソースを特定します。その後、必要に応じてストレージまたはコンピューティング構成をスケールアップします。

関連情報

リードレプリカの使用

Amazon RDS 用の Oracle レプリカの使用

Oracle Active Data Guard を使用した Amazon RDS for Oracle によるマネージド災害対策とマネージドリーダーファーム

AWS公式
AWS公式更新しました 2年前
コメントはありません

関連するコンテンツ