天天看點

達夢一實時備機+一異步備機叢集搭建_yxy1:主機規劃2:備份主庫3:備庫還原、恢複與更新4:配置主庫5:配置所有備庫6:配置螢幕dmmonitor.ini7:啟動三個庫的守護程序8:啟動監控功能

一實時備機+一異步備機叢集搭建

  • 1:主機規劃
  • 2:備份主庫
  • 3:備庫還原、恢複與更新
  • 4:配置主庫
    • dm.ini配置
    • dmmal.ini配置
    • dmarch.ini配置
    • dmtimer.ini配置
    • dmwatcher.ini配置
    • 配置主庫OGUID:
  • 5:配置所有備庫
    • dm.ini:
    • dmarch.ini:
    • Dmwatcher:
    • 配置所有備庫OGUID:
    • 配置異步備庫 dmwatcher.ini
  • 6:配置螢幕dmmonitor.ini
  • 7:啟動三個庫的守護程序
  • 8:啟動監控功能

1:主機規劃

----- 執行個體名 IP位址 端口
主庫 3DW_1 192.168.139.100 5236
實時備庫 3DW_2 192.168.139.101 5236
異步備庫 3DW_3 192.168.139.102 5236

2:備份主庫

1)首先初始化三台機器執行個體,以第一台為例,在安裝目錄bin目錄下輸入:

./dminit path=/home/dmdba/dmdbms/data db_name=3DW_1 instance_name=3DW_1 case_sensitive=1 port_num=5236;

2)然後在脫機狀态 使用dmrman備份主庫(bin下)

./dmrman ctlstmt=“backup database ‘/home/dmdba/dmdbms/data/3DW_1/dm.ini’ full to backup_3dw1 backupset ‘/home/dmdba/dmdbms/data/3DW_1/backup_3dw1’”

3)将備份發送到每個備庫

scp -r /home/dmdba/dmdbms/data/3DW_1/backup_3dw1/ [email protected]:/home/dmdba/dmdbms/data

3:備庫還原、恢複與更新

脫機狀态下在備庫上使用dmrman還原、恢複與更新(下面是實時備庫,異步備庫同理)

讀資料檔案失敗:換dmdba使用者

還原:./dmrman ctlstmt=“restore database ‘/home/dmdba/dmdbms/data/3DW_2/dm.ini’ from backupset ‘/home/dmdba/dmdbms/data/backup_3dw1’”

恢複:./dmrman ctlstmt=“recover database ‘/home/dmdba/dmdbms/data/3DW_2/dm.ini’ from backupset ‘/home/dmdba/dmdbms/data/backup_3dw1’”

更新:./dmrman ctlstmt=“recover database ‘/home/dmdba/dmdbms/data/3DW_2/dm.ini’ update db_magic”

4:配置主庫

dm.ini配置

INSTANCE_NAME=3DW_1

ARCH_INI=1

MAL_INI=1

ALTER_MODE_STATUS= 0

ENABLE_OFFLINE_TS = 2

TIMER_INI = 1 #配置有異步歸檔時,打開定時器,定時同步歸檔到異備庫

dmmal.ini配置

MAL_CHECK_INTERVAL = 5

MAL_CONN_FAIL_INTERVAL = 5

[MAL_INST1]

MAL_INST_NAME = 3DW_1

MAL_HOST = 192.168.139.100

MAL_PORT = 61141

MAL_INST_HOST = 192.168.139.100

MAL_INST_PORT = 5236

MAL_DW_PORT = 52141

MAL_INST_DW_PORT = 33141

[MAL_INST2]

MAL_INST_NAME = 3DW_2

MAL_HOST = 192.168.139.101

MAL_PORT = 61141

MAL_INST_HOST = 192.168.139.101

MAL_INST_PORT = 5236

MAL_DW_PORT = 52141

MAL_INST_DW_PORT = 33141

[MAL_INST3]

MAL_INST_NAME = 3DW_3

MAL_HOST = 192.168.139.102

MAL_PORT = 61141

MAL_INST_HOST = 192.168.139.102

MAL_INST_PORT = 5236

MAL_DW_PORT = 52141

MAL_INST_DW_PORT = 33141

dmarch.ini配置

[ARCHIVE_REALTIME1]

ARCH_TYPE = REALTIME

ARCH_DEST = 3DW_2

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL

ARCH_DEST = /home/dmdba/dmdbms/data/3DW_1/arch

ARCH_FILE_SIZE = 512

ARCH_SPACE_LIMIT = 10240

[ARCHIVE_ASYNC]

ARCH_TYPE = ASYNC #異步歸檔類型

ARCH_DEST = 3DW_3#異步歸檔目标執行個體名

ARCH_TIMER_NAME = RT_TIMER #定時器名稱,和dmtimer.ini 中的名稱一緻

dmtimer.ini配置

主和實時備庫都需要,配置 dmtimer.ini,用于定時觸發執行個體發送歸檔日志到異步備庫。

下面示例中定時器配置為每天 00:00:00 觸發主庫發送歸檔日志到異步備庫,可以根據實際情況再做調整。

[RT_TIMER] #和 dmarch.ini 中的 ARCH_TIMER_NAME 一緻

TYPE = 2

FREQ_MONTH_WEEK_INTERVAL = 1

FREQ_SUB_INTERVAL = 0

FREQ_MINUTE_INTERVAL = 0

START_TIME = 00:00:00

END_TIME = 00:00:00

DURING_START_DATE = 2016-02-11 17:36:09

DURING_END_DATE = 9999-12-31 23:59:59

NO_END_DATE_FLAG = 1

DESCRIBE = RT TIMER

IS_VALID = 1

dmwatcher.ini配置

[GRP1]

DW_TYPE = GLOBAL

DW_MODE = AUTO

DW_ERROR_TIME = 10

INST_RECOVER_TIME = 60

INST_ERROR_TIME = 10

INST_OGUID = 453331

INST_INI = /home/dmdba/dmdbms/data/3DW_1/dm.ini

INST_AUTO_RESTART = 1

INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver

RLOG_SEND_THRESHOLD = 0

RLOG_APPLY_THRESHOLD = 0

配置主庫OGUID:

①以mount模式開啟主庫:進入安裝得bin目錄,輸入:

./dmserver /home/dmdba/dmdbms/data/3DW_1/dm.ini mount

②新打開一個終端,登入disql,修改OGUID

SQL>SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 1);

SQL>sp_set_oguid(453331);

SQL>SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 0);

③修改資料庫模式

alter database primary;

後将配置檔案發送到兩個備庫:

scp dm.ini dmmal.ini dmarch.ini dmwatcher.ini [email protected]:/home/dmdba/dmdbms/data/3DW_2

5:配置所有備庫

dm.ini:

裡面的INSTANCE_NAME改為自己的,還有所有路徑改變為自己的。

dmarch.ini:

将ARCH_DEST參數修改為除自己外的庫(異步備庫隻保留本地歸檔)

Dmwatcher:

裡面修改為自己的目錄

配置所有備庫OGUID:

①以mount模式開啟備庫:進入安裝得bin目錄,輸入:

./dmserver /home/dmdba/dmdbms/data/3DW_2/dm.ini mount

②新打開一個終端,登入disql,修改OGUID

SQL>SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 1);

SQL>sp_set_oguid(453331);

SQL>SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 0);

③修改資料庫模式

alter database standby;

配置異步備庫 dmwatcher.ini

修改 dmwatcher.ini 配置守護程序,配置為本地守護類型,異步備庫不具備故障自動切換等功能,DW_MODE 配置并不起作用,此處配置為 MANUAL 即可,另外異步備庫不需要配置 dmwatcher.ctl 控制檔案。

[GRP1]

DW_TYPE = LOCAL #本地守護類型

DW_MODE = MANUAL #故障手動切換模式

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

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

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

INST_INI = /home/dmdba/dmdbms/data/3DW_3/dm.ini #dm.ini 配置檔案路徑

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

INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver #指令行方式啟動

6:配置螢幕dmmonitor.ini

MON_DW_Confirm = 1

MON_LOG_PATH = /home/dmdba/dmdbms/monitor_3dw_log

MON_LOG_INTERVAL = 60

MON_LOG_FILE_SIZE = 32

MON_LOG_SPACE_LIMIT = 0

[GRP1]

MON_INST_OGUID = 453331

MON_DW_IP = 192.168.139.100:52141

MON_DW_IP = 192.168.139.101:52141

MON_DW_IP = 192.168.139.102:52141

7:啟動三個庫的守護程序

先以mount方式啟動資料庫。然後啟動守護程序

./dmwatcher /home/dmdba/dmdbms/data/3DW_1/dmwatcher.ini

8:啟動監控功能

./dmmonitor /home/dmdba/dmdbms/data/3DW_3/dmmonitor.ini

注意:記得關閉防火牆,端口号不能重,初始化執行個體,配置檔案名不能錯