暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

【案例】invalid primary checkpoint record

原创 Asher.Hu 2022-04-08
2333

问题 invalid primary checkpoint record

服务器因未正常归档 ,导至wal日志目录满,最终DB down掉,当启库的时候也异常。 这种情况也常出现在服务器断电的场景。

LOG,00000,"database system was interrupted while in recovery at 2022-04-08 09:08:03 HKT",,"This probably means that some data is corrupted and you will have to use the last backup for recovery.",,,,,,,""
LOG,00000,"invalid primary checkpoint record",,,,,,,,,""
PANIC,XX000,"could not locate a valid checkpoint record",,,,,,,,,""
LOG,00000,"startup process (PID 76560) was terminated by signal 6: Aborted",,,,,,,,,""
LOG,00000,"aborting startup due to startup process failure",,,,,,,,,""
LOG,00000,"database system is shut down",,,,,,,,,""

处理 pg_resetwal

使用su  切换至postgres用户便于执行 pg_resetwal 

 su - postgres 

[postgres@LXUATEDPD2 log]$ pg_resetwal  -f $PGDATA

Write-ahead log reset



# 启动数据库

[postgres@LXUATEDPD2 log]$ pg_ctl start

waiting for server to start....2022-04-08 09:22:12.216 HKT [76634] LOG:  starting PostgreSQL 12.9 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-4), 64-bit

2022-04-08 09:22:12.217 HKT [76634] LOG:  listening on IPv4 address "0.0.0.0", port 5432

2022-04-08 09:22:12.218 HKT [76634] LOG:  listening on Unix socket "/db_data/dwh/pg_data/.s.PGSQL.5432"

2022-04-08 09:22:12.328 HKT [76634] LOG:  redirecting log output to logging collector process

2022-04-08 09:22:12.328 HKT [76634] HINT:  Future log output will appear in directory "log".

 done

server started

注意事项

pg_resetwal会清空存储在pg_control文件中的wal和其他可选的控制信息。不到万不得已,可别使用这个命令。
执行该工具之后,数据库可以启动,但是可能会包含不一致的数据,因为会有事务部分提交。重启后,建议立即将数据dump出来,运行initdb并reload数据。检查数据一致性并根据需要进行数据修复。

需要显式的指定目录,pg_resetwal不会使用环境变量PGDATA。

参数-f表示强制执行pg_resetwal。

image.png

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论