gaussdb 雙機維護 啟動和停止雙機 03

2021-10-24 20:30:14 字數 4068 閱讀 5313

在雙機資料庫安裝完畢後,需要通過正確的方式啟動兩邊的資料庫,然後gaussdb雙機關係才能夠正常建立。(分別以gaussdba使用者身份登入gaussdb伺服器主機、備機、級聯備機和次級聯備機,並執行下面的操作。)

方式一:在啟動的時候便指定主備機。

雙機方案啟動時指定主備

一主一備

執行如下命令啟動雙機服務:

主機:gs_ctl start -m primary

備機:gs_ctl start -m standby

一主雙備

執行如下命令啟動雙機服務:

主機:gs_ctl start -m primary

備機1:gs_ctl start -m standby

備機2:gs_ctl start -m standby

一主一備一級聯一次級聯

執行如下命令啟動雙機服務:

主機:gs_ctl start -m primary

備機:gs_ctl start -m standby

級聯備機:gs_ctl start -m cascadestandby

次級聯備機:gs_ctl start -m cascadestandby1

方式二:啟動以後指定主備機。

雙機方案啟動後指定主備

一主一備

在主備機上分別執行如下命令:

gs_ctl start -m pending

通知兩個節點的主備關係,執行如下命令:

(1) 主機:gs_ctl notify -m primary

(2) 備機:gs_ctl notify -m standby

一主雙備

在一主雙備上分別執行如下命令:

gs_ctl start -m pending

通知三個節點的主備關係,執行如下命令:

(1) 主機:gs_ctl notify -m primary

(2) 備機1:gs_ctl notify -m standby

(3) 備機2:gs_ctl notify -m standby

一主一備一級聯一次級聯

在一主一備一級聯一次級聯上分別執行如下命令:

gs_ctl start -m pending

通知四個節點的主備關係,執行如下命令:

(1) 主機:gs_ctl notify -m primary

(2) 備機:gs_ctl notify -m standby

(3) 級聯備機:gs_ctl notify -m cascadestandby

(4) 次級聯備機:gs_ctl notify -m cascadestandby1

注意:如果磁碟 io 繁忙,gaussdb資料庫啟動過程中會延時等待,這時檢視程序只有主程序gaussmaster啟動成功,一段時間(取決於磁碟io阻塞時間)後,其他程序才被拉起。如果發生這種情況,建議解除磁碟io繁忙狀態。

注意:初次安裝gaussdb資料庫一般都不會建立雙機同步狀態,因為雙機的資料目錄不是同源的,即雙機的資料目錄不是同乙個gaussdb資料庫初始化建立的,需要通過重建雙機使得雙機的資料目錄同源。

示例:以一主雙備gaussdb安裝後初次啟動為例

1.按照角色啟動三颱資料庫伺服器。將其中一台作為主機,執行如下命令。

gs_ctl start

-m primary

將另外兩台作為備機,分別執行如下命令。

gs_ctl start

-m standby

2.分別在兩台備機上查詢雙機狀態,發現未與主機建立雙機關係,需要重建備機。

ha state:

local_role : standby

static_connections : 1

db_state : needrepair

detail_information : repl1: systemidnotmatched

senders info:

no information

receiver info:

no information

注意:db_state欄位為needrepair,說明需要重建備機。

3.分別在兩台備機上執行gs_ctl build命令,進行重建。

waiting for server to shut down...

. done

server stopped

xlog start point: 0/3000020

gs_ctl: starting background wal receiver

22407/22407 kb (100%

), 1/1 tablespace

xlog end point: 0/30000e0

gs_ctl: waiting for background process to finish streaming...

gs_ctl: build completed.

server starting...

... done

server started

4.分別在兩個備機上查詢雙機狀態。

ha state:

local_role : standby

static_connections : 1

db_state : normal

detail_information : normal

senders info:

no information

receiver info:

receiver_pid : 10640

local_role : standby

peer_role : primary

peer_state : normal

state : streaming

sender_sent_location : 0/3000000

sender_write_location : 0/3000000

sender_flush_location : 0/3000000

sender_replay_location : 0/3000000

receiver_received_location : 0/3000000

receiver_write_location : 0/3000000

receiver_flush_location : 0/3000000

receiver_replay_location : 0/3000000

sync_percent : 100%

channel : 10.144.197.189:52228 <--10.144.197.188:52228

注意:欄位db_state的值為normal ,說明雙機狀態正常,雙機啟動成功。

5.分別在主機和兩個備機上停止資料庫執行。

gaussdba@linux:~/opt/

data> gs_ctl stop

waiting for server to shut down...

. done

server stopped

啟動和停止rac節點

rac集群中資料庫節點有2個,hostname分別為node1,node2.一.通過srvctl工具管理 1.關閉rac資料庫服務順序 oracle node2 srvctl stop database d dbname oracle node2 srvctl stop asm n node1 or...

nginx啟動和停止指令碼

bin sh nginx base dir opt nginx nginx daemon sbin nginx nginx conf conf nginx.conf launch signal s dev null checkconfig c t dev null start exit1 check...

vc 啟動和停止服務

包含標頭檔案 include 以下以web服務為例 include void cstartservicedlg onbnclickedbutton1 開啟www服務。sc handle hsvc openservice hsc,w3svc service start service query st...