・実行コマンド
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.レプリケーション環境再構築
今回の環境では2台のDB環境でレプリケーションを行っており
リストア先のDB環境がスレーブ側になっていました。
postgreSQLスレーブ側DBへの更新SQL発行はエラーとなりますので、リカバリ処理も当然エラーとなっていました。
レプリケーション環境を一時的に解除してリストアすることで成功しました。
レプリケーションも使用する場合はリストア時の運用手順を考える必要がありますね。。
こんな手順でしょうか??
1.障害発生
2.レプリケーション環境・DB削除
3.DBリストア
4.レプリケーション環境再構築
コメント