天天看點

達夢兩節點dsc+資料守護叢集搭建_yxy1:主機規劃2:編輯DSC節點dmarch.ini3:備份 DMDSC 庫4:配置單節點備庫5:配置所有節點的dm.ini6:配置dmmal.ini7:配置 dmarch.ini8:配置 dmwatcher.ini9:配置 dmmonitor.ini10:配置 dmdcr.ini11:啟動DMCSS、DMASM服務程式12:啟動主備庫13:啟動守護程序14:啟動螢幕

達夢兩節點dsc+資料守護叢集搭建

  • 1:主機規劃
  • 2:編輯DSC節點dmarch.ini
  • 3:備份 DMDSC 庫
  • 4:配置單節點備庫
  • 5:配置所有節點的dm.ini
  • 6:配置dmmal.ini
  • 7:配置 dmarch.ini
  • 8:配置 dmwatcher.ini
  • 9:配置 dmmonitor.ini
  • 10:配置 dmdcr.ini
  • 11:啟動DMCSS、DMASM服務程式
  • 12:啟動主備庫
  • 13:啟動守護程序
  • 14:啟動螢幕

1:主機規劃

節點 IP位址 端口
DSC0 192.168.139.100 5236
DSC1 192.168.139.101 5236
DSC_DW 192.168.139.102 5236

2:編輯DSC節點dmarch.ini

搭建完dsc後正常退出 DMDSC 叢集的兩個 dmserver 節點執行個體,不需要退出 dmcss和 dmasmsvr。

編輯兩個 DMDSC 節點的 dmarch.ini 檔案,增加本地歸檔和遠端歸檔,dmarch.ini 檔案放在各自 dm.ini 中指定的 CONFIG_PATH 目錄下(/home/data/dsc0_config)。

DSC0,DSC1的dmarch.ini: 加粗的需要修改

[ARCHIVE_LOCAL1]

ARCH_TYPE= LOCAL

ARCH_DEST= /home/data/dsc0_config/arch

ARCH_FILE_SIZE= 128

ARCH_SPACE_LIMIT= 0

[ARCHIVE_REMOTE]

ARCH_TYPE= REMOTE

ARCH_DEST= DSC1

ARCH_FILE_SIZE= 128

ARCH_SPACE_LIMIT= 0

ARCH_INCOMING_PATH =/home/data/dsc1_config/arch

配置dm.ini,将DSC兩節點的歸檔參數設定為1

3:備份 DMDSC 庫

重新開機 DMDSC 叢集的兩個 dmserver 執行個體,然後再正常退出。在 DMDSC 叢集生成有歸檔日志的情況下進行脫機備份,以便後續校驗日志連續性時使用。

啟動 dmrman(bin目錄下)

./dmrman use_ap=2 dcr_ini=/home/data/dmdcr.ini

1)脫機備份 DMDSC 叢集

RMAN>BACKUP DATABASE ‘/home/data/dsc0_config/dm.ini’ FULL BACKUPSET ‘/home/data/dsc0_config/bak/db_full_bak_for_DSC’;

2)在備機上初始化備庫(dmdba使用者初始化,注意權限問題)

./dminit path=/home/dmdba/dmdbms/data/ db_name=… instance_name= …

3)将db_full_bak_for_DSC檔案發送到單節點備庫的

/home/dmdba/dmdbms/data/DSC_DW/bak/目錄下

scp -r db_full_bak_for_DSC/ [email protected]:/home/dmdba/dmdbms/data/DSC_DW/bak/

4:配置單節點備庫

啟動 dmrman

./dmrman use_ap=2

使用 DMDSC 庫的備份集還原恢複到單節點備庫

還原:

RMAN>restore database ‘/home/dmdba/dmdbms/data/DSC_DW/dm.ini’ from backupset ‘/home/dmdba/dmdbms/data/DSC_DW/bak/db_full_bak_for_DSC’;

恢複:

RMAN>RECOVER DATABASE ‘/home/dmdba/dmdbms/data/DSC_DW/dm.ini’ FROM BACKUPSET ‘/home/dmdba/dmdbms/data/DSC_DW/bak/db_full_bak_for_DSC’;

更新:

RMAN>RECOVER DATABASE ‘/home/dmdba/dmdbms/data/DSC_DW/dm.ini’ UPDATE DB_MAGIC;

5:配置所有節點的dm.ini

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

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

MAL_INI = 1 #打開 MAL 系統

ARCH_INI = 1 #打開歸檔配置

6:配置dmmal.ini

(在 DMDSC 叢集的 dmmal.ini 檔案基礎上,增加備庫DSC_DW 的配置項。所有節點執行個體的 dmmal.ini 檔案内容是一緻的,配置完成後,拷貝到每個節點執行個體dm.ini 中指定的 CONFIG_PATH 目錄下。)

dmmal.ini:

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

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

[mal_inst0]

mal_inst_name = DSC0

mal_host = 192.168.139.100

mal_port = 9340

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

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

MAL_DW_PORT= 3569 #執行個體本地的守護程序監聽TCP連接配接的端口

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

[mal_inst1]

mal_inst_name = DSC1

mal_host = 192.168.139.101

mal_port = 9340

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

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

MAL_DW_PORT= 3569 #執行個體本地的守護程序監聽TCP連接配接的端口

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

[mal_inst2]

mal_inst_name = DSC_DW #與dm.ini instance_name相同

mal_host = 192.168.139.102

mal_port = 9340

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

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

MAL_DW_PORT= 3569 #執行個體本地的守護程序監聽TCP連接配接的端口

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

7:配置 dmarch.ini

再次編輯各個節點的 dmarch.ini 檔案,增加實時歸檔配置。

DSC0的dmarch.ini:

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL

ARCH_DEST = /home/data/dsc0_cfg/arch

ARCH_FILE_SIZE = 128

ARCH_SPACE_LIMIT = 0

[ARCHIVE_REMOTE]

ARCH_TYPE = REMOTE

ARCH_DEST = DSC1

ARCH_FILE_SIZE = 128

ARCH_SPACE_LIMIT = 0

ARCH_INCOMING_PATH =/home/data/dsc1_cfg/arch

[ARCHIVE_REALTIME]

ARCH_TYPE = REALTIME

ARCH_DEST = DSC_DW #因為我單節點執行個體名是 DSC_DW

DSC1的dmarch.ini:

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL

ARCH_DEST =/home/data/dsc1_cfg_/arch

ARCH_FILE_SIZE = 128

ARCH_SPACE_LIMIT = 0

[ARCHIVE_REMOTE]

ARCH_TYPE = REMOTE

ARCH_DEST = DSC0

ARCH_FILE_SIZE = 128

ARCH_SPACE_LIMIT = 0

ARCH_INCOMING_PATH = /home/data/dsc0_cfg/arch

[ARCHIVE_REALTIME]

ARCH_TYPE = REALTIME

ARCH_DEST = DSC_DW #因為我單節點執行個體名是 DSC_DW

單節點DMSERVER的dmarch.ini:

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL

ARCH_DEST = /home/dmdba/dmdbms/data/DSC_DW/arch

ARCH_FILE_SIZE = 128

ARCH_SPACE_LIMIT = 0

[ARCHIVE_REALTIME]

ARCH_TYPE = REALTIME

ARCH_DEST = DSC0/DSC1

8:配置 dmwatcher.ini

(依次配置每個節點執行個體的 dmwatcher.ini 檔案,放到各自 dm.ini 中指定的CONFIG_PATH 目錄下)

DSC0的dmwatcher.ini:

[GRP1]

DW_TYPE = GLOBAL #全局守護類型

DW_MODE = MANUAL #手動切換模式

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

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

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

INST_INI = /home/data/dsc0_config/dm.ini #dm.ini 配置檔案路徑

DCR_INI = /home/data/dmdcr.ini #dmdcr.ini 配置檔案路徑

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

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

INST_AUTO_RESTART = 0 #關閉執行個體的自動啟動功能

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

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

DSC1的dmwatcher.ini:

[GRP1]

DW_TYPE = GLOBAL #全局守護類型

DW_MODE = MANUAL #手動切換模式

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

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

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

INST_INI = /home/data/dsc1_config/dm.ini #dm.ini 配置檔案路徑

DCR_INI = /home/data/dmdcr.ini #dmdcr.ini 配置檔案路徑

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

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

INST_AUTO_RESTART = 0 #關閉執行個體的自動啟動功能

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

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

單節點的dmwatcher.ini:

[GRP1]

DW_TYPE = GLOBAL

DW_MODE = MANUAL

DW_ERROR_TIME = 60

INST_RECOVER_TIME = 60

INST_ERROR_TIME = 30

INST_INI = /home/dmdba/dmdbms/data/DSC_DW/dm.ini

INST_OGUID = 1000

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

INST_AUTO_RESTART = 0 #對單節點,如果需要打開自動拉起功能,将此配置修改為 1 即可

RLOG_SEND_THRESHOLD = 0

RLOG_APPLY_THRESHOLD = 0

9:配置 dmmonitor.ini

(在單節點上配置,放在/home/dmdba/dmdbms/data/DSC_DW下)

dmmonitor.ini:

MON_LOG_PATH = /home/dmdba/dmdbms/2des_dw_monitor_log

MON_LOG_INTERVAL = 60

MON_LOG_FILE_SIZE = 64

MON_LOG_SPACE_LIMIT = 0

MON_DW_CONFIRM = 0

[GRP1]

MON_INST_OGUID = 1000

MON_DW_IP = 192.168.139.99:3569/192.168.139.100:3569

MON_DW_IP = 192.168.139.101:3569

10:配置 dmdcr.ini

DMDSC 叢集中 dmserver 的自動拉起是由 dmcss 執行的,如果不需要打開 dmcss 的自動拉起功能,則可以跳過此章節。否則需要修改 dmdcr.ini 中的自動拉起配置參數(将時間設定不為0即可),此參數修改完成後,需要重新開機dmcss 才可以生效,為了避免重新開機 dmcss 引發 dmasmsvr 被強制關閉,這裡先将 dmcss和 dmasmsvr 都正常退出。

另外要注意,本示例中是用指令行方式啟動,啟動參數中指定以 Mount 方式拉起

dmserver,如果是用服務方式啟動,服務腳本中也一定要指定以 Mount 方式拉起dmserver。

11:啟動DMCSS、DMASM服務程式

在兩個節點分别先後啟動dmcss,dmasm程式。

手動啟動 dmcss 指令:

./dmcss DCR_INI=/home/data/dmdcr.ini

手動啟動 dmasmsvr 指令:

./dmasmsvr DCR_INI=/home/data/dmdcr.ini

12:啟動主備庫

(注意執行個體都要使用 Mount 方式啟動)

啟動DSC0:

./dmserver /home/data/dsc0_config/dm.ini DCR_INI=/home/data/dmdcr.ini mount

啟動DSC1:

./dmserver /home/data/dsc1_config/dm.ini DCR_INI=/home/data/dmdcr.ini mount

啟動單節點備庫

./dmserver /home/dmdba/dmdbms/data/DSC_DW/dm.ini mount

設定 OGUID和模式

啟動disql

DSC任意一節點:

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

SQL>SP_SET_OGUID(1000);

SQL>ALTER DATABASE PRIMARY;

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

單節點:

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

SQL>SP_SET_OGUID(1000);

SQL>ALTER DATABASE STANDBY;

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

13:啟動守護程序

啟動DSC0守護程序:

./dmwatcher /home/data/dsc0_config/dmwatcher.ini

啟動DSC1守護程序:

./dmwatcher /home/data/dsc1_config/dmwatcher.ini

啟動單節點的守護程序:

./dmwatcher /home/dmdba/dmdbms/data/DSC_DW/dmwatcher.ini

14:啟動螢幕

啟動配置在單節點備庫的螢幕:

./dmmonitor path=/home/dmdba/dmdbms/data/DSC_DW/dmmonitor.ini

至此 DMDSC 叢集的實時資料守護系統搭建完畢,在搭建步驟和各項配置都正确的情況下,在螢幕上執行 show 指令,可以監控到所有執行個體都處于 Open 狀态,所有守護程序也都處于 Open 狀态,即為正常運作狀态。