天天看點

達夢8資料守護與讀寫分離叢集搭建

1.搭建準備

主庫:10.18.4.181

備庫:10.18.4.182

監控:10.18.4.183

2.建庫

分别在主備機器上通過dbca.sh建立資料庫DM01執行個體名為DMSVR01和DMSVR02,這裡省略1萬個字

監控機隻需要安裝軟體無需建庫。

3.搭建資料守護和讀寫分離叢集共需要4個ini檔案,分别是dm.ini、dmmal.ini、dmarch.ini和dmwatcher.ini

a.首先要先将主庫做全備

DmServiceDMSVR01 stop

dmrman CTLSTMT=“BACKUP DATABASE ‘/dm8/data/DM01/dm.ini’ FULL TO backup_file1 BACKUPSET ‘/dm8/backup/full_backup’”

scp -r full_backup dmdba@備庫:/dm8/backup

b.備庫恢複資料

DmServiceDMSVR02 stop

dmrman CTLSTMT=“RESTORE DATABASE ‘/dm8/data/DM01/dm.ini’ FROM BACKUPSET ‘/dm8/backup/full_backup’”

dmrman CTLSTMT=“RECOVER DATABASE ‘/dm8/data/DM01/dm.ini’ FROM BACKUPSET ‘/dm8/backup/full_backup’”

dmrman CTLSTMT=“RECOVER DATABASE ‘/dm8/data/DM01/dm.ini’ update db_magic”

c.主備兩端修改4個ini參數

vi dm.ini

編輯如下幾個參數即可

ALTER_MODE_STATUS = 0 # 不允許手工方式修改執行個體模式/狀态

ENABLE_OFFLINE_TS = 2 # 不允許備庫 OFFLINE 表空間

MAL_INI = 1 # 打開 MAL 系統

ARCH_INI = 1 # 打開歸檔配置

vi dmmal.ini

MAL_CHECK_INTERVAL = 5 # MAL 鍊路檢測時間間隔

MAL_CONN_FAIL_INTERVAL = 5 # 判定 MAL 鍊路斷開的時間

[MAL_INST1]

MAL_INST_NAME = DMSVR01 # 執行個體名,和 dm.ini 中的 INSTANCE_NAME 一緻

MAL_HOST = 10.18.4.181 # MAL 系統監聽 TCP 連接配接的 IP 位址

MAL_PORT = 5235 # MAL 系統監聽 TCP 連接配接的端口

MAL_INST_HOST = 10.18.4.181 # 執行個體的對外服務 IP 位址

MAL_INST_PORT = 5236 # 執行個體的對外服務端口,和 dm.ini 中的 PORT_NUM 一緻

MAL_INST_DW_PORT = 5237 # 執行個體監聽守護程序TCP連接配接的端口

MAL_DW_PORT = 5238 # 執行個體對應的守護程序監聽 TCP 連接配接的端口

[MAL_INST2]

MAL_INST_NAME = DMSVR02

MAL_HOST = 10.18.4.182

MAL_PORT = 5235

MAL_INST_HOST = 10.18.4.182

MAL_INST_PORT = 5236

MAL_INST_DW_PORT = 5237

MAL_DW_PORT = 5238

vi dmarch.ini 增加如下内容,注意ARCH_DEST這個值主庫裡寫備庫的執行個體名,備庫裡寫主庫的執行個體名

[ARCHIVE_REALTIME]

ARCH_TYPE = REALTIME

ARCH_DEST = DMSVR02

vi dmwatcher.ini

[GRP1]

DW_TYPE = GLOBAL # 全局守護類型

DW_MODE = AUTO # 自動切換模式

DW_ERROR_TIME = 10 # 遠端守護程序故障認定時間

INST_RECOVER_TIME = 60 # 主庫守護程序啟動恢複的間隔時間

INST_ERROR_TIME = 10 # 本地執行個體故障認定時間

INST_OGUID = 453331 # 守護系統唯一 OGUID 值

INST_INI = /dm8/data/DM01/dm.ini # dm.ini 配置檔案路徑

INST_AUTO_RESTART = 1 # 打開執行個體的自動啟動功能

INST_STARTUP_CMD = /dm8/bin/dmserver # 指令行方式啟動

RLOG_SEND_THRESHOLD = 0 # 指定主庫發送日志到備庫的時間閥值,預設關閉

RLOG_APPLY_THRESHOLD = 0 # 指定備庫重演日志的時間閥值,預設關閉

4.以mount模式啟動資料庫

/dm8/bin/dmserver /dm8/data/DM01/dm.ini mount

/dm8/bin/dmserver /dm8/data/DM01/dm.ini mount

5.設定OGUID更改資料庫模式

主:

disql sysdba/passwod

SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 1);

sp_set_oguid(453331);

alter database primary;

SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 0);

備:

disql sysdba/passwod

SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 1);

sp_set_oguid(453331);

alter database standby;

SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 0);

6.注冊并啟動守護程序,資料庫狀态會被守護程序更改到open狀态

/dm8/bin/dmwatcher /dm8/data/DM01/dmwatcher.ini

7.配置monitor

monitor主要參數檔案是dmmonitor.ini這個檔案,編寫dmmonitor.ini

vi dmmonitor.ini

MON_DW_CONFIRM = 1 #确認螢幕模式

MON_LOG_PATH = /dm8/log #螢幕日志檔案存放路徑

MON_LOG_INTERVAL = 60 #每隔 60s 定時記錄系統資訊到日志檔案

MON_LOG_FILE_SIZE = 32 #每個日志檔案最大 32M

MON_LOG_SPACE_LIMIT = 0 #不限定日志檔案總占用空間

[GRP1]

MON_INST_OGUID = 453331

MON_DW_IP = 10.18.4.181:5238

MON_DW_IP = 10.18.4.182:5238

啟動螢幕

/dm8/bin/dmmonitor /dm8/dmmonitor.ini

8.驗證讀寫分離

9.主備切換,主要是在監控器機器上操作

/dm8/bin/dmmonitor /dm8/dmmonitor.ini

choose switchover GRP1 —會告訴你可以切換哪個執行個體

login -----輸入sysdba和密碼

switchover GRP1.執行個體名

完成主備切換

繼續閱讀