pg_rmanでpostgreSQLデータベースリカバリ時にDBがReadOnly状態になりリカバリに失敗する

スポンサーリンク

※当サイトは広告を利用しています。

pg_rmanコマンドでリストア時に、リストアしたDBが読み取り専用となりリカバリが失敗してしまう現象が発生しました。
・実行コマンド
pg_rman restore –recovery-target-time ‘2017-XX-XX XX:XX:XX’
・エラー内容(postgreSQLのログ)
LOG: ‘2017-XX-XX XX:XX:XX’に対してポイントインタイムリカバリを開始しています。
    :
  LOG: データベースシステムはリードオンリー接続の受付準備ができました
    :
  LOG: リカバリはすでに停止されています。
    :
  ERROR: リードオンリーのトランザクションでは UPDATE を実行できません
    :
原因はDBのレプリケーションにありました。

今回の環境では2台のDB環境でレプリケーションを行っており

リストア先のDB環境がスレーブ側になっていました。

postgreSQLスレーブ側DBへの更新SQL発行はエラーとなりますので、リカバリ処理も当然エラーとなっていました。

レプリケーション環境を一時的に解除してリストアすることで成功しました。

レプリケーションも使用する場合はリストア時の運用手順を考える必要がありますね。。

こんな手順でしょうか??

1.障害発生
2.レプリケーション環境・DB削除
3.DBリストア
4.レプリケーション環境再構築

コメント

タイトルとURLをコピーしました