背景:本次部署之前,需先完成两节点的DM DSC的部署(部署过程见:https://www.modb.pro/db/414641),本次部署在此基础上进行。
1、启动DM DSC。
1.1. 分别启动2个节点的DMCSS服务。
[dmdba@server01 ~]$ cd /opt/dmdbms/bin
[dmdba@server01 bin]$ dmcss DCR_INI=/opt/dmdbms/config/dmdcr.ini
DMCSS V8
DMCSS IS READY
[2022-05-07 23:05:23:672] [CSS]: 设置EP CSS1[0]为控制节点
[dmdba@server02 ~]$ cd /opt/dmdbms/bin
[dmdba@server02 bin]$ dmcss DCR_INI=/opt/dmdbms/config/dmdcr.ini
DMCSS V8
DMCSS IS READY
[2022-05-07 23:04:51:028] [CSS]: 设置EP CSS1[0]为控制节点
1.2. 启动2个节点的ASM服务。
[dmdba@server01 ~]$ cd /opt/dmdbms/bin
[dmdba@server01 bin]$ dmasmsvr DCR_INI=/opt/dmdbms/config/dmdcr.ini
ASM SELF EPNO:0
DMASMSVR V8
dmasmsvr task worker thread startup
the ASM server is Ready.
check css cmd: START NOTIFY, cmd_seq: 2
check css cmd: EP START, cmd_seq: 3
ASM Control Node EPNO:0
check css cmd: EP OPEN, cmd_seq: 8
check css cmd: EP REAL OPEN, cmd_seq: 11
[dmdba@server02 ~]$ cd /opt/dmdbms/bin
[dmdba@server02 bin]$ dmasmsvr DCR_INI=/opt/dmdbms/config/dmdcr.ini
ASM SELF EPNO:1
DMASMSVR V8
dmasmsvr task worker thread startup
the ASM server is Ready.
check css cmd: EP START, cmd_seq: 5
ASM Control Node EPNO:0
check css cmd: EP OPEN, cmd_seq: 9
check css cmd: EP REAL OPEN, cmd_seq: 12
1.3. 启动2个节点的数据库服务。
[dmdba@server01 ~]$ dmserver /opt/dmdbms/config/dsc1/dm.ini dcr_ini=/opt/dmdbms/config/dmdcr.ini
file dm.key not found, use default license!
version info: develop
DM Database Server x64 V8 1-2-70-21.09.24-147898-10028-ENT startup...
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
Database mode = 0, oguid = 0
License will expire on 2022-09-24
[dmdba@server02 ~]$ dmserver /opt/dmdbms/config/dsc2/dm.ini dcr_ini=/opt/dmdbms/config/dmdcr.ini
file dm.key not found, use default license!
version info: develop
DM Database Server x64 V8 1-2-70-21.09.24-147898-10028-ENT startup...
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
Database mode = 0, oguid = 0
License will expire on 2022-09-24
1.4.查看DSC集群状态。
[dmdba@server01 ~]$ dmcssm ini_path=/opt/dmdbms/config/dmcssm.ini
[monitor] 2022-05-07 23:15:05: CSS MONITOR V8
[monitor] 2022-05-07 23:15:05: CSS MONITOR SYSTEM IS READY.
[monitor] 2022-05-07 23:15:05: Wait CSS Control Node choosed...
[monitor] 2022-05-07 23:15:06: Wait CSS Control Node choosed succeed.
show
monitor current time:2022-05-07 23:16:18, n_group:3
========= group[name = CSS, seq = 0, type = CSS, Control Node = 0] ==========
[CSS1] auto check = TRUE, global info:
[ASM1] auto restart = FALSE
[DSC1] auto restart = FALSE
[CSS2] auto check = TRUE, global info:
[ASM2] auto restart = FALSE
[DSC2] auto restart = FALSE
ep: css_time inst_name seqno port mode inst_status vtd_status is_ok active guid ts
2022-05-07 23:16:18 CSS1 0 9341 Control Node OPEN WORKING OK TRUE 822698002 822698654
2022-05-07 23:16:18 CSS2 1 9343 Normal Node OPEN WORKING OK TRUE 822687828 822688315
======== group[name = ASM, seq = 1, type = ASM, Control Node = 0] ===========
n_ok_ep = 2
ok_ep_arr(index, seqno):
(0, 0)
(1, 1)
sta = OPEN, sub_sta = STARTUP
break ep = NULL
recover ep = NULL
crash process over flag is TRUE
ep: css_time inst_name seqno port mode inst_status vtd_status is_ok active guid ts
2022-05-07 23:16:18 ASM1 0 9349 Control Node OPEN WORKING OK TRUE 822778163 822778561
2022-05-07 23:16:18 ASM2 1 9351 Normal Node OPEN WORKING OK TRUE 822722953 822723328
============ group[name = DSC, seq = 2, type = DB, Control Node = 0] ========
n_ok_ep = 2
ok_ep_arr(index, seqno):
(0, 0)
(1, 1)
sta = OPEN, sub_sta = STARTUP
break ep = NULL
recover ep = NULL
crash process over flag is TRUE
ep: css_time inst_name seqno port mode inst_status vtd_status is_ok active guid ts
2022-05-07 23:16:18 DSC1 0 5700 Control Node OPEN WORKING OK TRUE 651302984 651303183
2022-05-07 23:16:18 DSC2 1 5700 Normal Node OPEN WORKING OK TRUE 651247765 651247943
集群状态正常。
2、关停DMDSC 集群的 dmserver 实例。
搭建完dsc后正常退出 DMDSC 集群的两个 dmserver 节点实例,不需要退出 dmcss
和 dmasmsvr。
[dmdba@server01 ~]$ dmcssm ini_path=/opt/dmdbms/config/dmcssm.ini
[monitor] 2022-05-07 23:25:44: CSS MONITOR V8
[monitor] 2022-05-07 23:25:44: CSS MONITOR SYSTEM IS READY.
[monitor] 2022-05-07 23:25:44: Wait CSS Control Node choosed...
[monitor] 2022-05-07 23:25:45: Wait CSS Control Node choosed succeed.
ep stop DSC
[monitor] 2022-05-07 23:26:34: 组(DSC)中节点对应的CSS自动拉起标记已经处于关闭状态
[monitor] 2022-05-07 23:26:34: 通知CSS(seqno:0)执行EP STOP(DSC)
[monitor] 2022-05-07 23:26:44: 通知当前活动的CSS执行清理操作
[monitor] 2022-05-07 23:26:44: 清理CSS(0)请求成功
[monitor] 2022-05-07 23:26:45: 清理CSS(1)请求成功
[monitor] 2022-05-07 23:26:45: 命令EP STOP DSC执行成功
===============group[name = DSC, seq = 2, type = DB, Control Node = 255] ====
n_ok_ep = 2
ok_ep_arr(index, seqno):
(0, 0)
(1, 1)
sta = OPEN, sub_sta = STARTUP
break ep = NULL
recover ep = NULL
crash process over flag is FALSE
ep: css_time inst_name seqno port mode inst_status vtd_status is_ok active guid ts
2022-05-07 23:27:02 DSC1 0 5700 Normal Node SHUTDOWN SHUTDOWN OK FALSE 651302984 651303802
2022-05-07 23:27:02 DSC2 1 5700 Normal Node SHUTDOWN SHUTDOWN OK FALSE 651247765 651248563
===========================================================
3、配置归档。
3.1. 修改DSC两个节点的dm.ini文件,开启归档模式。
[dmdba@server01 ~]$ vim /opt/dmdbms/config/dsc1/dm.ini
ARCH_INI = 1
[dmdba@server02 ~]$ vim /opt/dmdbms/config/dsc2/dm.ini
ARCH_INI = 1
3.2. 编辑DMDSC 各节点的 dmarch.ini 文件,增加本地归档和远程归档。
dmarch.ini 文件放在各自 dm.ini 中指定的 CONFIG_PATH 目录下。
[dmdba@server01 dsc1]$ vim /opt/dmdbms/config/dsc1/dmarch.ini
[ARCHIVE_LOCAL1]
ARCH_TYPE= LOCAL
ARCH_DEST= /opt/dmdbms/config/dsc1/arch
ARCH_FILE_SIZE= 128
ARCH_SPACE_LIMIT= 0
[ARCHIVE_REMOTE]
ARCH_TYPE= REMOTE
ARCH_DEST= DSC2
ARCH_FILE_SIZE= 128
ARCH_SPACE_LIMIT= 0
ARCH_INCOMING_PATH =/opt/dmdbms/config/dsc2/arch
[dmdba@server02 dsc2]$ vim /opt/dmdbms/config/dsc2/dmarch.ini
[ARCHIVE_LOCAL1]
ARCH_TYPE= LOCAL
ARCH_DEST= /opt/dmdbms/config/dsc2/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 =/opt/dmdbms/config/dsc1/arch
3.3. 重启DSC两节点。
ep startup DSC
[monitor] 2022-05-07 23:48:51: 通知CSS(seqno:0)执行EP STARTUP(DSC1)
[monitor] 2022-05-07 23:49:00: 通知CSS(seqno:0)执行EP STARTUP(DSC1)成功
[monitor] 2022-05-07 23:49:00: 通知CSS(seqno:1)执行EP STARTUP(DSC2)
[monitor] 2022-05-07 23:49:09: 通知CSS(seqno:1)执行EP STARTUP(DSC2)成功
[monitor] 2022-05-07 23:49:09: 通知CSS(seqno:0)打开节点(DSC1)的自动拉起功能
[monitor] 2022-05-07 23:49:09: 通知CSS(seqno:0)打开节点(DSC1)的自动拉起功能成功
[monitor] 2022-05-07 23:49:09: 通知CSS(seqno:1)打开节点(DSC2)的自动拉起功能
[monitor] 2022-05-07 23:49:09: 通知CSS(seqno:1)打开节点(DSC2)的自动拉起功能成功
[monitor] 2022-05-07 23:49:09: 打开CSS自动拉起功能成功
[monitor] 2022-05-07 23:49:09: 通知当前活动的CSS执行清理操作
[monitor] 2022-05-07 23:49:10: 清理CSS(0)请求成功
[monitor] 2022-05-07 23:49:10: 清理CSS(1)请求成功
[monitor] 2022-05-07 23:49:10: 命令EP STARTUP DSC执行成功
ep stop DSC
[monitor] 2022-05-07 23:50:43: 通知CSS(seqno:0)关闭节点(DSC1)的自动拉起功能
[monitor] 2022-05-07 23:50:43: 通知CSS(seqno:0)关闭节点(DSC1)的自动拉起功能成功
[monitor] 2022-05-07 23:50:43: 通知CSS(seqno:1)关闭节点(DSC2)的自动拉起功能
[monitor] 2022-05-07 23:50:44: 通知CSS(seqno:1)关闭节点(DSC2)的自动拉起功能成功
[monitor] 2022-05-07 23:50:44: 关闭CSS自动拉起功能成功
[monitor] 2022-05-07 23:50:44: 通知CSS(seqno:0)执行EP STOP(DSC)
[monitor] 2022-05-07 23:50:51: 通知当前活动的CSS执行清理操作
[monitor] 2022-05-07 23:50:52: 清理CSS(0)请求成功
[monitor] 2022-05-07 23:50:53: 清理CSS(1)请求成功
[monitor] 2022-05-07 23:50:53: 命令EP STOP DSC执行成功
4、脱机备份DSC数据库。
[dmdba@server01 arch]$ mkdir -p /opt/dmdbms/config/dsc1/bak
[dmdba@server01 arch]$ dmrman use_ap=2 dcr_ini=/opt/dmdbms/config/dmdcr.ini
RMAN>BACKUP DATABASE '/opt/dmdbms/config/dsc1/dm.ini' FULL BACKUPSET '/opt/dmdbms/config/dsc1/bak/db_full_bak_for_DSC';
BACKUP DATABASE '/opt/dmdbms/config/dsc1/dm.ini' FULL BACKUPSET '/opt/dmdbms/config/dsc1/bak/db_full_bak_for_DSC';
Database mode = 0, oguid = 0
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
EP[0]'s cur_lsn[41333], file_lsn[41333]
EP[1]'s cur_lsn[41333]
EP[0] adjust cur_lsn from [41333] to [41333]
Processing backupset /opt/dmdbms/config/dsc1/bak/db_full_bak_for_DSC
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:05][Remaining:00:00:00]
backup successfully!
time used: 00:00:13.203
5、配置DW_DSC单节点备库。
5.1. 初始化备库。
[dmdba@server03 dmdbms]$ dminit path=/opt/dmdbms/ DB_NAME=DW_DSC
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2022-09-24
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
log file path: /opt/dmdbms/DW_DSC/DW_DSC01.log
log file path: /opt/dmdbms/DW_DSC/DW_DSC02.log
write to dir [/opt/dmdbms/DW_DSC].
create dm database success. 2022-05-02 20:53:20
5.2. 将db_full_bak_for_DSC文件复制到单节点备库的。
[dmdba@server03 ~]$ scp -r 192.168.118.101:/opt/dmdbms/config/dsc1/bak/db_full_bak_for_DSC/ /opt/dmdbms/DW_DSC/bak/
5.3 使用DSC库的备份集还原恢复到单节点备库。
[dmdba@server03 bak]$ dmrman use_ap=2
RMAN> restore database '/opt/dmdbms/DW_DSC/dm.ini' from backupset '/opt/dmdbms/DW_DSC/bak/db_full_bak_for_DSC';
restore database '/opt/dmdbms/DW_DSC/dm.ini' from backupset '/opt/dmdbms/DW_DSC/bak/db_full_bak_for_DSC';
file dm.key not found, use default license!
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL [Percent:100.00%][Speed:0.00M/s][Cost:00:00:04][Remaining:00:0restore successfully.
time used: 00:00:04.166
RMAN> recover database '/opt/dmdbms/DW_DSC/dm.ini' from backupset '/opt/dmdbms/DW_DSC/bak/db_full_bak_for_DSC';
recover database '/opt/dmdbms/DW_DSC/dm.ini' from backupset '/opt/dmdbms/DW_DSC/bak/db_full_bak_for_DSC';
Database mode = 0, oguid = 0
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
EP[0]'s cur_lsn[41333], file_lsn[41333]
备份集[/opt/dmdbms/DW_DSC/bak/db_full_bak_for_DSC]备份过程中未产生日志
recover successfully!
time used: 424.181(ms)
RMAN> recover database '/opt/dmdbms/DW_DSC/dm.ini' UPDATE DB_MAGIC;
recover database '/opt/dmdbms/DW_DSC/dm.ini' UPDATE DB_MAGIC;
Database mode = 0, oguid = 0
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
EP[0]'s cur_lsn[41333], file_lsn[41333]
recover successfully!
time used: 00:00:01.111
6、配置所有节点的dm.ini文件。
[dmdba@server01 dsc1]$ vim /opt/dmdbms/config/dsc1/dm.ini
[dmdba@server02 dsc2]$ vim /opt/dmdbms/config/dsc2/dm.ini
[dmdba@server03 ~]$ vim /opt/dmdbms/DW_DSC/dm.ini
INSTANCE_NAME = DW_DSC #DW_DSC实例名注意确认下
PORT_NUM = 5700 #DW_DSC实例,默认端口为5236,为了与DSC1\DSC2一致需修改为5700
ALTER_MODE_STATUS = 0 #不允许手工方式修改实例模式/状态/OGUID
ENABLE_OFFLINE_TS = 2 #不允许备库 OFFLINE 表空间
MAL_INI = 1 #打开 MAL 系统
ARCH_INI = 1 #打开归档配置
7、配置所有节点的dmmal.ini文件。
在 DMDSC 集群的 dmmal.ini 文件基础上,增加备库 GRP1_RT_01 的配置项。所有节点实例的 dmmal.ini 文件内容是一致的,配置完成后,拷贝到每个节点实例dm.ini 中指定的 CONFIG_PATH 目录下。
[dmdba@server01 dsc1]$ cat /opt/dmdbms/config/dsc1/dmmal.ini
MAL_CHECK_INTERVAL = 30 #MAL链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 10 #判定MAL链路断开的时间
[mal_inst0]
mal_inst_name = DSC1
mal_host = 192.168.118.101
mal_port = 9255
MAL_INST_HOST = 192.168.118.101 #实例的对外服务IP地址
MAL_INST_PORT = 5700 #实例的对外服务端口,和dm.ini中的PORT_NUM一致
MAL_DW_PORT = 3569 #实例本地的守护进程监听TCP连接的端口
MAL_INST_DW_PORT = 4569 #实例监听守护进程TCP连接的端口
[mal_inst1]
mal_inst_name = DSC2
mal_host = 192.168.118.102
mal_port = 9266
MAL_INST_HOST = 192.168.118.102 #实例的对外服务IP地址
MAL_INST_PORT = 5700 #实例的对外服务端口,和dm.ini中的PORT_NUM一致
MAL_DW_PORT = 3569 #实例本地的守护进程监听TCP连接的端口
MAL_INST_DW_PORT = 4569 #实例监听守护进程TCP连接的端口
[mal_inst3]
mal_inst_name = DSC3
mal_host = 192.168.118.103
mal_port = 9277
MAL_INST_HOST = 192.168.118.103 #实例的对外服务IP地址
MAL_INST_PORT = 5700 #实例的对外服务端口,和dm.ini中的PORT_NUM一致
MAL_DW_PORT = 3569 #实例本地的守护进程监听TCP连接的端口
MAL_INST_DW_PORT = 4569 #实例监听守护进程TCP连接的端口
[dmdba@server01 dsc1]$ scp /opt/dmdbms/config/dsc1/dmmal.ini 192.168.118.102:/opt/dmdbms/config/dsc2/dmmal.ini
[dmdba@server01 dsc1]$ scp /opt/dmdbms/config/dsc1/dmmal.ini 192.168.118.103:/opt/dmdbms/DW_DSC/dmmal.ini
8、配置各个节点的dmarch.ini文件,增加实时归档配置。
[dmdba@server01 dsc1]$ vim /opt/dmdbms/config/dsc1/dmarch.ini
[ARCHIVE_LOCAL1]
ARCH_TYPE= LOCAL
ARCH_DEST= /opt/dmdbms/config/dsc1/arch
ARCH_FILE_SIZE= 128
ARCH_SPACE_LIMIT= 0
[ARCHIVE_REMOTE]
ARCH_TYPE= REMOTE
ARCH_DEST= DSC2
ARCH_FILE_SIZE= 128
ARCH_SPACE_LIMIT= 0
ARCH_INCOMING_PATH =/opt/dmdbms/config/dsc2/arch
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = DW_DSC #因为我单节点实例名是 DW_DSC
[dmdba@server02 dsc2]$ vim /opt/dmdbms/config/dsc2/dmarch.ini
[ARCHIVE_LOCAL1]
ARCH_TYPE= LOCAL
ARCH_DEST= /opt/dmdbms/config/dsc2/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 =/opt/dmdbms/config/dsc1/arch
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = DW_DSC #因为我单节点实例名是 DW_DSC
节点DW_DSC的dmarch.ini:
[dmdba@server03 arch]$ mkdir -p /opt/dmdbms/DW_DSC/arch
[dmdba@server03 ~]$ vim /opt/dmdbms/DW_DSC/dmarch.ini
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /opt/dmdbms/DW_DSC/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = DSC1/DSC2
9、配置 dmwatcher.ini文件。
配置各节点实例的 dmwatcher.ini 文件,放到各自 dm.ini 中指定的CONFIG_PATH 目录下。
9.1. DSC1的dmwatcher.ini。
[dmdba@server01 dsc1]$ vim /opt/dmdbms/config/dsc1/dmwatcher.ini
[GRP1]
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = MANUAL #手动切换模式
DW_ERROR_TIME = 60 #远程守护进程故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 30 #本地实例故障认定时间
INST_INI = /opt/dmdbms/config/dsc1/dm.ini #dm.ini 配置文件路径
DCR_INI = /opt/dmdbms/config/dmdcr.ini #dmdcr.ini 配置文件路径
INST_OGUID = 1000 #守护系统唯一 OGUID 值
INST_STARTUP_CMD = /opt/dmdbms/bin/dmserver #命令行方式启动
INST_AUTO_RESTART = 0 #关闭实例的自动启动功能
RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阀值,默认关闭
RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阀值,默认关闭
9.2. DSC2的dmwatcher.ini。
[dmdba@server02 dsc1]$ vim /opt/dmdbms/config/dsc2/dmwatcher.ini
[GRP1]
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = MANUAL #手动切换模式
DW_ERROR_TIME = 60 #远程守护进程故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 30 #本地实例故障认定时间
INST_INI = /opt/dmdbms/config/dsc2/dm.ini #dm.ini 配置文件路径
DCR_INI = /opt/dmdbms/config/dmdcr.ini #dmdcr.ini 配置文件路径
INST_OGUID = 1000 #守护系统唯一 OGUID 值
INST_STARTUP_CMD = /opt/dmdbms/bin/dmserver #命令行方式启动
INST_AUTO_RESTART = 0 #关闭实例的自动启动功能
RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阀值,默认关闭
RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阀值,默认关闭
9.3. 节点DW_DSC的dmwatcher.ini。
[dmdba@server03 DW_DSC]$ vim /opt/dmdbms/DW_DSC/dmwatcher.ini
[GRP1]
DW_TYPE = GLOBAL
DW_MODE = MANUAL
DW_ERROR_TIME = 60
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 30
INST_INI = /opt/dmdbms/DW_DSC/dm.ini
INST_OGUID = 1000
INST_STARTUP_CMD = /opt/dmdbms/bin/dmserver
INST_AUTO_RESTART = 0 #对单节点,如果需要打开自动拉起功能,将此配置修改为 1 即可
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0
10、节点DW_DSC上配置dmmonitor.ini。
[dmdba@server03 DW_DSC]$ vim /opt/dmdbms/DW_DSC/dmmonitor.ini
MON_LOG_PATH = /opt/dmdbms/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.118.101:3569/192.168.118.102:3569
MON_DW_IP = 192.168.118.103:3569
11、配置 dmdcr.ini文件。
DMDSC 集群中 dmserver 的自动拉起是由 dmcss 执行的,如果不需要打开 dmcss 的自动拉起功能,则可以跳过此章节。否则需要修改 dmdcr.ini 中的自动拉起配置参数(将时间设置不为0即可),此参数修改完成后,需要重启dmcss 才可以生效,为了避免重启 dmcss 引发 dmasmsvr 被强制关闭,这里先将 dmcss和 dmasmsvr 都正常退出。
另外要注意,本示例中是用命令行方式启动,启动参数中指定以 Mount 方式拉起dmserver,如果是用服务方式启动,服务脚本中也一定要指定以 Mount 方式拉起dmserver。
12、启动DMCSS、DMASM服务程序。
在两个节点分别先后启动dmcss,dmasm程序。
手动启动 dmcss 命令:
dmcss DCR_INI=/opt/dmdbms/config/dmdcr.ini
手动启动 dmasmsvr 命令:
dmasmsvr DCR_INI=/opt/dmdbms/config/dmdcr.ini
13、启动主备库(注意实例都要使用 Mount 方式启动)。
启动DSC1
[dmdba@server01 ~]$ dmserver /opt/dmdbms/config/dsc1/dm.ini DCR_INI=/opt/dmdbms/config/dmdcr.ini mount
file dm.key not found, use default license!
version info: develop
DM Database Server x64 V8 1-2-70-21.09.24-147898-10028-ENT startup...
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
Database mode = 0, oguid = 0
License will expire on 2022-09-24
启动DSC2
[dmdba@server02 ~]$ dmserver /opt/dmdbms/config/dsc2/dm.ini DCR_INI=/opt/dmdbms/config/dmdcr.ini mount
启动单节点备库
[dmdba@server03 ~]$ dmserver /opt/dmdbms/DW_DSC/dm.ini mount
14、设置 OGUID和模式。
DSC任意一节点登录:
[dmdba@server01 dsc1]$ disql sysdba/SYSDBA@192.168.118.101:5700
disql V8
SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
DMSQL 过程已成功完成
SQL> SP_SET_OGUID(1000);
DMSQL 过程已成功完成
SQL> ALTER DATABASE PRIMARY;
操作已执行
SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
DMSQL 过程已成功完成
DW_DSC单节点:
[dmdba@server03 log]$ disql sysdba/SYSDBA@192.168.118.103:5700
disql V8
SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
DMSQL 过程已成功完成
SQL> SP_SET_OGUID(1000);
DMSQL 过程已成功完成
SQL> ALTER DATABASE STANDBY;
操作已执行
SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
DMSQL 过程已成功完成
15、启动守护进程。
启动DSC1守护进程:
[dmdba@server01 ~]$ dmwatcher /opt/dmdbms/config/dsc1/dmwatcher.ini
DMWATCHER[4.0] V8
DMWATCHER[4.0] IS READY
启动DSC2守护进程:
[dmdba@server02 ~]$ dmwatcher /opt/dmdbms/config/dsc2/dmwatcher.ini
DMWATCHER[4.0] V8
DMWATCHER[4.0] IS READY
启动单节点的守护进程:
[dmdba@server03 ~]$ dmwatcher /opt/dmdbms/DW_DSC/dmwatcher.ini
DMWATCHER[4.0] V8
DMWATCHER[4.0] IS READY
16、启动配置在单节点备库的监视器。
[dmdba@server03 ~]$ dmmonitor path=/opt/dmdbms/DW_DSC/dmmonitor.ini
[monitor] 2022-05-03 16:20:58: DMMONITOR[4.0] V8
[monitor] 2022-05-03 16:20:58: DMMONITOR[4.0] IS READY.
[monitor] 2022-05-03 16:20:58: 收到守护进程(DSC1)消息
WTIME WSTATUS INST_OK INAME ISTATUS IMODE RSTAT N_OPEN FLSN CLSN
2022-05-08 19:42:56 OPEN OK DSC1 OPEN PRIMARY VALID 7 43828 43828
[monitor] 2022-05-03 16:20:58: 收到守护进程(DW_DSC)消息
WTIME WSTATUS INST_OK INAME ISTATUS IMODE RSTAT N_OPEN FLSN CLSN
2022-05-03 16:20:58 OPEN OK DW_DSC OPEN STANDBY VALID 7 43828 43828
[monitor] 2022-05-03 16:20:58: 收到守护进程(DSC2)消息
WTIME WSTATUS INST_OK INAME ISTATUS IMODE RSTAT N_OPEN FLSN CLSN
2022-05-08 19:39:36 STARTUP OK DSC1 OPEN PRIMARY VALID 7 43828 43828
show
2022-05-03 16:21:03
#===========================================================#
GROUP OGUID MON_CONFIRM MODE MPP_FLAG
GRP1 1000 FALSE MANUAL FALSE
<<DATABASE GLOBAL INFO:>>
DW_IP MAL_DW_PORT WTIME WTYPE WCTLSTAT WSTATUS INAME INST_OK N_EP N_OK ISTATUS IMODE DSC_STATUS RTYPE RSTAT
192.168.118.101 3569 2022-05-08 19:43:01 GLOBAL VALID OPEN DSC1 OK 2 2 OPEN PRIMARY DSC_OPEN REALTIME VALID
EP INFO:
INST_IP INST_PORT INST_OK INAME ISTATUS IMODE DSC_SEQNO DSC_CTL_NODE RTYPE RSTAT FSEQ FLSN CSEQ CLSN DW_STAT_FLAG
192.168.118.101 5700 OK DSC1 OPEN PRIMARY 0 0 REALTIME VALID 4364 43828 4364 43828 NONE
192.168.118.102 5700 OK DSC2 OPEN PRIMARY 1 0 REALTIME VALID 2580 43828 2580 43828 NONE
<<DATABASE GLOBAL INFO:>>
DW_IP MAL_DW_PORT WTIME WTYPE WCTLSTAT WSTATUS INAME INST_OK N_EP N_OK ISTATUS IMODE DSC_STATUS RTYPE RSTAT
192.168.118.103 3569 2022-05-03 16:21:03 GLOBAL VALID OPEN DW_DSC OK 1 1 OPEN STANDBY DSC_OPEN REALTIME VALID
EP INFO:
INST_IP INST_PORT INST_OK INAME ISTATUS IMODE DSC_SEQNO DSC_CTL_NODE RTYPE RSTAT FSEQ FLSN CSEQ CLSN DW_STAT_FLAG
192.168.118.103 5700 OK DW_DSC OPEN STANDBY 0 0 REALTIME VALID 4360 43828 4360 43828 NONE
DATABASE(DW_DSC) APPLY INFO FROM (DSC1), REDOS_PARALLEL_NUM (1):
DSC_SEQNO[0], (RSEQ, SSEQ, KSEQ)[4364, 4364, 4364], (RLSN, SLSN, KLSN)[43828, 43828, 43828], N_TSK[0], TSK_MEM_USE[0]
REDO_LSN_ARR: (43828)
DSC_SEQNO[1], (RSEQ, SSEQ, KSEQ)[2580, 2580, 2580], (RLSN, SLSN, KLSN)[43828, 43828, 43828], N_TSK[0], TSK_MEM_USE[0]
至此 DMDSC 集群的实时数据守护系统搭建完毕,在搭建步骤和各项配置都正确的情况下,在监视器上执行show命令,可以监控到所有实例都处于Open状态,所有守护进程也都处于Open状态,即为正常运行状态。
社区地址:https://eco.dameng.com




