2010年10月28日

[pgsql-jp: 40479]PITRでの復旧時に「チェックポイントレコードが無効」のエラー

こんにちは、おさです。

PITRを使ってバックアップを取ったデータベースを復旧しようとしているのですが、
チェックポイントレコードが無効というエラーが発生し復旧できない状態になってしまいました。

ログを見ていると「今回は 2010-10-22 05:41:58 JST までは到達しています」というメッセージが
入っているので、とりあえずそこまで復旧できればそれでいいのですが、他に問題があるようで
プロセスが起動しません。


CentOS5、PostgreSQL9.0.1です。
PITRでバックアップ・リストアしたことはあるのですが、今までこういうエラーが発生したことはなく
どのように回避したらよいのかわかりません。

2010-10-28 21:41:42 JSTLOG: データベースシステムは中断されました: 今回は 2010-10-22
05:41:58 JST までは到達しています
2010-10-28 21:41:42 JSTLOG: ログファイル123、セグメント66、オフセット0のページアドレス7B/22000000は想定外です
2010-10-28 21:41:42 JSTLOG: プライマリチェックポイントレコードが無効です
2010-10-28 21:41:42 JSTLOG: ログファイル123、セグメント65、オフセット0のページアドレス7B/1F000000は想定外です
2010-10-28 21:41:42 JSTLOG: セカンダリチェックポイントレコードが無効です
2010-10-28 21:41:42 JSTPANIC: 有効なチェックポイントに移動できませんでした
2010-10-28 21:41:42 JSTLOG: 起動プロセス (PID 11601)はシグナル6で終了しました: Aborted
2010-10-28 21:41:42 JSTLOG: 起動プロセスの失敗のため起動を中断しています

pg_xlogの中を消して見たところ
2010-10-28 22:02:32 JSTLOG: データベースシステムは中断されました: 今回は 2010-10-22
05:41:58 JST までは到達しています
2010-10-28 22:02:32 JSTLOG:
ファイル"pg_xlog/000000010000007B00000042"(ログファイル123、セグメント66)をオープンできませんでした:
そのようなファイルやディレクトリはありません
2010-10-28 22:02:32 JSTLOG: プライマリチェックポイントレコードが無効です
2010-10-28 22:02:32 JSTLOG:
ファイル"pg_xlog/000000010000007B00000041"(ログファイル123、セグメント65)をオープンできませんでした:
そのようなファイルやディレクトリはありません
2010-10-28 22:02:32 JSTLOG: セカンダリチェックポイントレコードが無効です
2010-10-28 22:02:32 JSTPANIC: 有効なチェックポイントに移動できませんでした
2010-10-28 22:02:32 JSTLOG: 起動プロセス (PID 11911)はシグナル6で終了しました: Aborted
2010-10-28 22:02:32 JSTLOG: 起動プロセスの失敗のため起動を中断しています
というようなログが出力されました。

pg_xlogが無くても、SELECT pg_start_backup()からSELECT pg_stop_backup()の間に
コピーしたファイルがあれば復旧できると解釈していたのですが、そうでもないのでしょうか?

--
+-----------------------------------------------------------------------+
HANDLE:おさ
EMAIL :osa@xxxxx twitter:osapon URL http://www.osa-p.net/
+-----------------------------------------------------------------------+


投稿者 xml-rpc : 2010年10月28日 22:09
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/99564
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。