- 论坛徽章:
- 0
|
环境: SUSE Linux + Greenplum3.3.7(Base on PG8.3.2)
问题来源:机房连续二次断电.
症状: gpstart报出大量的错,日志显示有几个结点不正常
分析过程:
使用gprecoverseg -F对结点进行修复.修复完成后,通过gpstate查看,发现仍然有二个结点启动不正常.以下,就进入结点里面,折腾PG了.
错误记录:
(1)
gpadmin@sdw1:~> PGOPTIONS='-c gp_session_role=utility' psql template1 -p 60001
psql: FATAL: could not access status of transaction 3832760714
DETAIL: Could not open file "pg_clog/0391": No such file or directory.
目前使用的方法(在群里面询问德哥使用的方法)
dd if=/dev/zero of=/data/m/gp4/pg_clog/xxxx bs=1 count=1048576
fix it.
* In a crash-and-restart situation, it's possible for us to receive
* commands to set the commit status of transactions whose bits are in
* already-truncated segments of the commit log (see notes in
* SlruPhysicalWritePage). Hence, if we are InRecovery, allow the case
* where the file doesn't exist, and return zeroes instead.
(2)
gpadmin@sdw1:/data/m/gp4> PGOPTIONS='-c gp_session_role=utility' pg_ctl start -D /data/m/gp4/
gpadmin@sdw1:~> PGOPTIONS='-c gp_session_role=utility' psql jtsjzx -p 60001
psql: FATAL: invalid page header in block 4 of relation "pg_attribute"
gpadmin@sdw1:~> PGOPTIONS='-c gp_session_role=utility' psql template1 -p 60001
psql: PANIC: could not open critical system index 2662 (relcache.c:2490)
gpadmin@sdw1:/data/m/gp4> postgres -P -O -D /data/m/gp4 -p 60001
错误同上.
--这里面有个疑惑: P参数:disable system index O参数:allow system table structure changes.为啥仍然会报could not open critical system index
走到这一步,似乎已经山穷水尽了,请教大牛们,可遇到这种情况,或者说有相应的文档可以参考的?谢谢. |
|