日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

解决GREENPLUM某些版本gprecoverseg –r失败后镜像双坏,系统无法启动的问题

發(fā)布時間:2023/12/16 windows 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 解决GREENPLUM某些版本gprecoverseg –r失败后镜像双坏,系统无法启动的问题 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?開始之前,我先聲明一點(diǎn),參考這篇文章去操作數(shù)據(jù)庫,造成丟失數(shù)據(jù),搞癱系統(tǒng)的可能性非常之高,初學(xué)者以及思路不清晰者,請關(guān)閉頁面,不要再繼續(xù)下去,經(jīng)過一通亂搞以后,真的就沒人能再幫得了你了。

先說明一下故障的來由,由于系統(tǒng)的BUG某些版本的GREENPLUM只要執(zhí)行了gprecoverseg -r,就一定會失敗,而且一定會鏡像雙壞,無法啟動。這里說明一下,這種版本的GP鏡像反轉(zhuǎn)時,只能重啟數(shù)據(jù)庫去自動修復(fù),不可以使用gprecoverseg –r人工修復(fù),切記。

????值得慶幸的是,只要是進(jìn)入到這種反轉(zhuǎn)修復(fù)失敗的情況,一般來說所有鏡像一定是同步的,因?yàn)槿绻煌降脑挄?bào)另一個錯誤:有部分鏡像失敗,無法執(zhí)行g(shù)precoverseg -r,這種情況就不會出現(xiàn)我們本文討論的問題。此時雖然我們無法啟動整個數(shù)據(jù)庫,但是事實(shí)上MIRROR是可以作為PRIMARY啟動的,只是GREENPLUM把節(jié)點(diǎn)的狀態(tài)搞亂了。我們只要把出現(xiàn)問題之前的描述節(jié)點(diǎn)狀態(tài)的系統(tǒng)表gp_segment_configuration恢復(fù)到鏡像反轉(zhuǎn)的狀態(tài),就可以啟動數(shù)據(jù)庫了,當(dāng)然只能是手動恢復(fù)。

接下來我結(jié)合實(shí)際的數(shù)據(jù)介紹一下gp_segment_configuration?的表結(jié)構(gòu)?

postgres=# select * from gp_segment_configuration??where address like 'sdw10-%' or address like 'sdw11-%' order by dbid ;

?dbid | content | role | preferred_role | mode | status | port??|??hostname???| address | replication_port | san_mounts

------+---------+------+----------------+------+--------+-------+-------------+---------+------------------+------------

???56 |??????54 | p ????| p??????????????| c????| u??????| 40000 | dssln-sdw10 | sdw10-1 |????????????41000 |

???57 |??????55 | p????| p??????????????| c????| u??????| 40001 | dssln-sdw10 | sdw10-1 |????????????41001 |

???58 |??????56 | p????| p??????????????| c????| u??????| 40002 | dssln-sdw10 | sdw10-1 |????????????41002 |

???59 |??????57 | p????| p??????????????| c????| u??????| 40003 | dssln-sdw10 | sdw10-2 |????????????41003 |

???60 |??????58 | p????| p??????????????| c????| u??????| 40004 | dssln-sdw10 | sdw10-2 |????????????41004 |

???61 |??????59 | p????| p??????????????| c????| u??????| 40005 | dssln-sdw10 | sdw10-2 |????????????41005 |

???62 |??????60 | p????| p??????????????| s????| u??????| 40000 | dssln-sdw11 | sdw11-1 |????????????41000 |

???63 |??????61 | p????| p??????????????| s????| u??????| 40001 | dssln-sdw11 | sdw11-1 |????????????41001 |

???64 |??????62 | p????| p??????????????| s????| u??????| 40002 | dssln-sdw11 | sdw11-1 |????????????41002 |

???65 |??????63 | p????| p??????????????| s????| u??????| 40003 | dssln-sdw11 | sdw11-2 |????????????41003 |

???66 |??????64 | p????| p??????????????| s????| u??????| 40004 | dssln-sdw11 | sdw11-2 |????????????41004 |

???67 |??????65 | p????| p??????????????| s????| u??????| 40005 | dssln-sdw11 | sdw11-2 |????????????41005 |

??158 |??????48 | m????| m??????????????| s????| u??????| 50000 | dssln-sdw10 | sdw10-2 |????????????51000 |

??159 |??????49 | m????| m??????????????| s????| u??????| 50001 | dssln-sdw10 | sdw10-2 |????????????51001 |

??160 |??????50 | m????| m??????????????| s????| u??????| 50002 | dssln-sdw10 | sdw10-2 |????????????51002 |

??161 |??????51 | m????| m??????????????| s????| u??????| 50003 | dssln-sdw10 | sdw10-1 |????????????51003 |

??162 |??????52 | m????| m??????????????| s????| u??????| 50004 | dssln-sdw10 | sdw10-1 |????????????51004 |

??163 |??????53 | m????| m??????????????| s????| u??????| 50005 | dssln-sdw10 | sdw10-1 |????????????51005 |

??164 |??????54 | m????| m??????????????| c????| d??????| 50000 | dssln-sdw11 | sdw11-2 |????????????51000 |

??165 |??????55 | m????| m??????????????| c????| d??????| 50001 | dssln-sdw11 | sdw11-2 |????????????51001 |

??166 |??????56 | m????| m??????????????| c????| d??????| 50002 | dssln-sdw11 | sdw11-2 |????????????51002 |

??167 |??????57 | m????| m??????????????| c????| d??????| 50003 | dssln-sdw11 | sdw11-1 |????????????51003 |

??168 |??????58 | m????| m??????????????| c????| d??????| 50004 | dssln-sdw11 | sdw11-1 |????????????51004 |

??169 |??????59 | m????| m??????????????| c????| d??????| 50005 | dssln-sdw11 | sdw11-1 |???????????51005 |

?dbid | content | role | preferred_role | mode | status | port??|??hostname???| address | replication_port | san_mounts

dbid?和content表示數(shù)據(jù)庫的ID

role?代表當(dāng)前角色

preferred_role?代表首選角色,也就是原本應(yīng)該出演的角色

mode='s/c/r'三個取值分別代表synced, change logging, resyncing

status='u/d'兩個取值分別代表up,down。

其他字段不做解釋了。

上面這個樣例數(shù)據(jù)表示11節(jié)點(diǎn)的6個鏡像子庫全部被標(biāo)記為DOWN了,但是事實(shí)上里邊的數(shù)據(jù)是完整的,10節(jié)點(diǎn)的6個主用子庫鏡像失敗,可以啟動,但是啟動不起來,但事實(shí)上里邊的數(shù)據(jù)也是完整的只是狀態(tài)標(biāo)記出現(xiàn)了問題。

根據(jù)之前的分析,我們只要把這兩個節(jié)點(diǎn)的鏡像數(shù)據(jù)到反轉(zhuǎn)狀態(tài)就可以了。目標(biāo)如下:

postgres=# select * from gp_segment_configuration??where (address like 'sdw10-%' and preferred_role = ‘p’) or (address like 'sdw11-%' ?and preferred_role = ‘m’) order by dbid ;

?dbid | content | role | preferred_role | mode | status | port??|??hostname???| address | replication_port | san_mounts

------+---------+------+----------------+------+--------+-------+-------------+---------+------------------+------------

???56 |??????54 | m ????| p??????????????| s????| u??????| 40000 | dssln-sdw10 | sdw10-1 |????????????41000 |

???57 |??????55 | m????| p??????????????| s ???| u??????| 40001 | dssln-sdw10 | sdw10-1 |????????????41001 |

???58 |??????56 | m????| p??????????????| s????| u??????| 40002 | dssln-sdw10 | sdw10-1 |????????????41002 |

???59 |??????57 | m????| p??????????????| s????| u??????| 40003 | dssln-sdw10 | sdw10-2 |????????????41003 |

???60 |??????58 | m????| p??????????????| s????| u??????| 40004 | dssln-sdw10 | sdw10-2 |????????????41004 |

???61 |??????59 | m????| p??????????????| s????| u??????| 40005 | dssln-sdw10 | sdw10-2 |????????????41005 |

??164 |??????54 | p????| m??????????????| s????| u??????| 50000 | dssln-sdw11 | sdw11-2 |????????????51000 |

??165 |??????55 | p????| m??????????????| s????| u??????| 50001 | dssln-sdw11 | sdw11-2 |????????????51001 |

??166 |??????56 | p????| m??????????????| s????| u??????| 50002 | dssln-sdw11 | sdw11-2 |????????????51002 |

??167 |??????57 | p????| m??????????????| s????| u??????| 50003 | dssln-sdw11 | sdw11-1 |????????????51003 |

??168 |??????58 | p????| m??????????????| s????| u??????| 50004 | dssln-sdw11 | sdw11-1 |????????????51004 |

??169 |??????59 | p????| m??????????????| s????| u??????| 50005 | dssln-sdw11 | sdw11-1 |???????????51005 |

好我們正式開始:

1、???????啟動到維護(hù)模式:

gpstart –m

以維護(hù)方式連接到數(shù)據(jù)庫

PGOPTIONS='-c gp_session_role=utility' psql -d postgres

打開系統(tǒng)表的維護(hù)開關(guān)

set allow_system_table_mods=DML;

2、???????備份系統(tǒng)表:

create table mybak_segment_configuration as select * from gp_segment_configuration;

3、???????修改數(shù)據(jù)到鏡像反轉(zhuǎn)狀態(tài):

update gp_segment_configuration set role='p',mode='s',status='u'?where address like 'sdw11%' and preferred_role='m';

update gp_segment_configuration set role='m',mode='s',status='u'?where address like 'sdw10%' and preferred_role='p';

\q

4、???????重啟數(shù)據(jù)庫

gpstop –m –M fast

gpstart

5、???????檢查鏡像,此時應(yīng)該已經(jīng)自動恢復(fù)到正常狀態(tài)。

gpstate –m

6、???????如果不同步就修一下

gprecoverseg

7、???????如果鏡像仍然反轉(zhuǎn)就重新啟動一下數(shù)據(jù)庫。

gpstop –M fast

gpstart

分享:解決GREENPLUM某些版本gprecoverseg?–r失敗后鏡像雙壞,系統(tǒng)無法啟動的問題_醉糊涂蟲_新浪博客

總結(jié)

以上是生活随笔為你收集整理的解决GREENPLUM某些版本gprecoverseg –r失败后镜像双坏,系统无法启动的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。