配置 DMDSC 主库环境
DSC搭建过程参考 如下链接
达梦数据共享集群(DSC)---搭建过程_xuekai20080901的博客-CSDN博客
打开归档,
sed -i s/'ARCH_INI = 0'/'ARCH_INI = 1'/g /home/dmdba/data/dsc0_config/dm.ini
cat >/home/dmdba/data/dsc0_config/dmarch.ini<<EOF
ARCH_LOCAL_SHARE = 1
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMDATA/data/arch/dsc0
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 20480
ARCH_FLUSH_BUF_SIZE = 0
ARCH_HANG_FLAG = 1
[ARCHIVE_REMOTE]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC1
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 20480
ARCH_INCOMING_PATH = +DMDATA/data/arch/dsc1
EOF
./dmasmtool DCR_INI=/home/dmdba/data/dmdcr.ini
sed -i s/'ARCH_INI = 0'/'ARCH_INI = 1'/g /home/dmdba/data/dsc1_config/dm.ini
cat >/home/dmdba/data/dsc1_config/dmarch.ini<<EOF
ARCH_LOCAL_SHARE = 1
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMDATA/data/arch/dsc1
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 20480
ARCH_FLUSH_BUF_SIZE = 0
ARCH_HANG_FLAG = 1
[ARCHIVE_REMOTE]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC0
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 20480
ARCH_INCOMING_PATH = +DMDATA/data/arch/dsc0
EOF
备份主库,然后把备份文件拷贝到 备库。
./dmrman use_ap=2 dcr_ini=/home/dmdba/data/dmdcr.ini
BACKUP DATABASE '/home/dmdba/data/dsc0_config/dm.ini' FULL BACKUPSET '/home/dmdba/data/db_full_bak_for_DSC'
配置单节点备库
准备单节点备库
#初始化备库
./dminit path=/dm/data/EP01/
#还原传输过来的备库
./dmrman use_ap=2
RESTORE DATABASE '/dm/data/EP01/DAMENG/dm.ini' FROM BACKUPSET '/home/dmdba/db_full_bak_for_DSC';
RECOVER DATABASE '/dm/data/EP01/DAMENG/dm.ini' FROM BACKUPSET '/home/dmdba/db_full_bak_for_DSC';
RECOVER DATABASE '/dm/data/EP01/DAMENG/dm.ini' UPDATE DB_MAGIC;
修改主备库参数。
DSC0
sed -i s/'DW_INACTIVE_INTERVAL = 60'/'DW_INACTIVE_INTERVAL = 60'/g /home/dmdba/data/dsc0_config/dm.ini
sed -i s/'ALTER_MODE_STATUS = 1'/'ALTER_MODE_STATUS = 0'/g /home/dmdba/data/dsc0_config/dm.ini
sed -i s/'ENABLE_OFFLINE_TS = 1'/'ENABLE_OFFLINE_TS = 2'/g /home/dmdba/data/dsc0_config/dm.ini
sed -i s/'MAL_INI = 0'/'MAL_INI = 1'/g /home/dmdba/data/dsc0_config/dm.ini
sed -i s/'ARCH_INI = 0'/'ARCH_INI = 1'/g /home/dmdba/data/dsc0_config/dm.ini
sed -i s/'RLOG_SEND_APPLY_MON = 64'/'RLOG_SEND_APPLY_MON = 64'/g /home/dmdba/data/dsc0_config/dm.ini
DSC1
sed -i s/'DW_INACTIVE_INTERVAL = 60'/'DW_INACTIVE_INTERVAL = 60'/g /home/dmdba/data/dsc1_config/dm.ini
sed -i s/'ALTER_MODE_STATUS = 1'/'ALTER_MODE_STATUS = 0'/g /home/dmdba/data/dsc1_config/dm.ini
sed -i s/'ENABLE_OFFLINE_TS = 1'/'ENABLE_OFFLINE_TS = 2'/g /home/dmdba/data/dsc1_config/dm.ini
sed -i s/'MAL_INI = 0'/'MAL_INI = 1'/g /home/dmdba/data/dsc1_config/dm.ini
sed -i s/'ARCH_INI = 0'/'ARCH_INI = 1'/g /home/dmdba/data/dsc1_config/dm.ini
sed -i s/'RLOG_SEND_APPLY_MON = 64'/'RLOG_SEND_APPLY_MON = 64'/g /home/dmdba/data/dsc1_config/dm.ini
DW
sed -i s/'INSTANCE_NAME = DMSERVER'/'INSTANCE_NAME = DW '/g /dm/data/EP01/DAMENG/dm.ini
sed -i s/'DW_INACTIVE_INTERVAL = 60'/'DW_INACTIVE_INTERVAL = 60'/g /dm/data/EP01/DAMENG/dm.ini
sed -i s/'ALTER_MODE_STATUS = 1'/'ALTER_MODE_STATUS = 0'/g /dm/data/EP01/DAMENG/dm.ini
sed -i s/'ENABLE_OFFLINE_TS = 1'/'ENABLE_OFFLINE_TS = 2'/g /dm/data/EP01/DAMENG/dm.ini
sed -i s/'MAL_INI = 0'/'MAL_INI = 1'/g /dm/data/EP01/DAMENG/dm.ini
sed -i s/'ARCH_INI = 0'/'ARCH_INI = 1'/g /dm/data/EP01/DAMENG/dm.ini
sed -i s/'RLOG_SEND_APPLY_MON = 64'/'RLOG_SEND_APPLY_MON = 64'/g /dm/data/EP01/DAMENG/dm.ini
修改三个节点得dmmal.ini 文件。
#备份dmmal.ini 文件以防以后需要。
cp -rvp /home/dmdba/data/dsc0_config/dmmal.ini /home/dmdba/data/dsc0_config/dmmal_bak.ini
#DSC0
cat >/home/dmdba/data/dsc0_config/dmmal.ini<<EOF
MAL_CHECK_INTERVAL = 30 #MAL 链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 10 #判定 MAL 链路断开的时间
[MAL_INST0]
MAL_INST_NAME = DSC0 #实例名,和 dm.ini 中的 INSTANCE_NAME 一致
MAL_HOST = 10.0.2.101 #MAL 系统监听 TCP 连接的 IP 地址
MAL_PORT = 8338 #MAL 系统监听 TCP 连接的端口
MAL_INST_HOST = 192.168.56.101 #实例的对外服务 IP 地址
MAL_INST_PORT = 5236 #实例的对外服务端口,和 dm.ini 中的 PORT_NUM 一致
MAL_DW_PORT = 3567 #实例本地的守护进程监听 TCP 连接的端口
MAL_INST_DW_PORT = 4567 #实例监听守护进程 TCP 连接的端口
[MAL_INST1]
MAL_INST_NAME = DSC1
MAL_HOST = 10.0.2.102
MAL_PORT = 8338
MAL_INST_HOST = 192.168.56.102
MAL_INST_PORT = 5237
MAL_DW_PORT = 3567
MAL_INST_DW_PORT = 4567
[MAL_INST2]
MAL_INST_NAME = dw
MAL_HOST = 10.0.2.103
MAL_PORT = 8338
MAL_INST_HOST = 192.168.56.103
MAL_INST_PORT = 5236
MAL_DW_PORT = 3567
MAL_INST_DW_PORT = 4567
EOF
#DSC1
cat >/home/dmdba/data/dsc1_config/dmmal.ini<<EOF
MAL_CHECK_INTERVAL = 30 #MAL 链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 10 #判定 MAL 链路断开的时间
[MAL_INST0]
MAL_INST_NAME = DSC0 #实例名,和 dm.ini 中的 INSTANCE_NAME 一致
MAL_HOST = 10.0.2.101 #MAL 系统监听 TCP 连接的 IP 地址
MAL_PORT = 8338 #MAL 系统监听 TCP 连接的端口
MAL_INST_HOST = 192.168.56.101 #实例的对外服务 IP 地址
MAL_INST_PORT = 5236 #实例的对外服务端口,和 dm.ini 中的 PORT_NUM 一致
MAL_DW_PORT = 3567 #实例本地的守护进程监听 TCP 连接的端口
MAL_INST_DW_PORT = 4567 #实例监听守护进程 TCP 连接的端口
[MAL_INST1]
MAL_INST_NAME = DSC1
MAL_HOST = 10.0.2.102
MAL_PORT = 8338
MAL_INST_HOST = 192.168.56.102
MAL_INST_PORT = 5237
MAL_DW_PORT = 3567
MAL_INST_DW_PORT = 4567
[MAL_INST2]
MAL_INST_NAME = dw
MAL_HOST = 10.0.2.103
MAL_PORT = 8338
MAL_INST_HOST = 192.168.56.103
MAL_INST_PORT = 5236
MAL_DW_PORT = 3567
MAL_INST_DW_PORT = 4567
EOF
#DW
cat >/dm/data/EP01/DAMENG/dmmal.ini<<EOF
MAL_CHECK_INTERVAL = 30 #MAL 链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 10 #判定 MAL 链路断开的时间
[MAL_INST0]
MAL_INST_NAME = DSC0 #实例名,和 dm.ini 中的 INSTANCE_NAME 一致
MAL_HOST = 10.0.2.101 #MAL 系统监听 TCP 连接的 IP 地址
MAL_PORT = 8338 #MAL 系统监听 TCP 连接的端口
MAL_INST_HOST = 192.168.56.101 #实例的对外服务 IP 地址
MAL_INST_PORT = 5236 #实例的对外服务端口,和 dm.ini 中的 PORT_NUM 一致
MAL_DW_PORT = 3567 #实例本地的守护进程监听 TCP 连接的端口
MAL_INST_DW_PORT = 4567 #实例监听守护进程 TCP 连接的端口
[MAL_INST1]
MAL_INST_NAME = DSC1
MAL_HOST = 10.0.2.102
MAL_PORT = 8338
MAL_INST_HOST = 192.168.56.102
MAL_INST_PORT = 5237
MAL_DW_PORT = 3567
MAL_INST_DW_PORT = 4567
[MAL_INST2]
MAL_INST_NAME = dw
MAL_HOST = 10.0.2.103
MAL_PORT = 8338
MAL_INST_HOST = 192.168.56.103
MAL_INST_PORT = 5236
MAL_DW_PORT = 3567
MAL_INST_DW_PORT = 4567
EOF
在 dmarch.ini中添加DW备库信息
#DSC0
cat >/home/dmdba/data/dsc0_config/dmarch.ini<<EOF
ARCH_LOCAL_SHARE = 1
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMDATA/data/arch/dsc0
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 20480
ARCH_FLUSH_BUF_SIZE = 0
ARCH_HANG_FLAG = 1
[ARCHIVE_REMOTE]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC1
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 20480
ARCH_INCOMING_PATH = +DMDATA/data/arch/dsc1
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = DW
EOF
#DSC1
cat >/home/dmdba/data/dsc1_config/dmarch.ini<<EOF
ARCH_LOCAL_SHARE = 1
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMDATA/data/arch/dsc1
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 20480
ARCH_FLUSH_BUF_SIZE = 0
ARCH_HANG_FLAG = 1
[ARCHIVE_REMOTE]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC0
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 20480
ARCH_INCOMING_PATH = +DMDATA/data/arch/dsc0
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = DW
EOF
#dw
cat >/dm/data/EP01/DAMENG/dmarch.ini<<EOF
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm/data/EP01/DAMENG/arch
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 20480
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME
ARCH_DEST = DSC0/DSC1
EOF
设置dmwatcher.ini 文件
#DSC0
cat >/home/dmdba/data/dsc0_config/dmwatcher.ini<<EOF
[GRP1]
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = MANUAL #手动切换模式
DW_ERROR_TIME = 60 #远程守护进程故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 35 #本地实例故障认定时间
INST_INI = /home/dmdba/data/dsc0_config/dm.ini #dm.ini 配置文件路径
DCR_INI = /home/dmdba/data/dmdcr.ini #dmdcr.ini 配置文件路径
INST_OGUID = 453331 #守护系统唯一 OGUID 值
INST_STARTUP_CMD = /opt/dmdbms/bin/dmserver #命令行方式启动
INST_AUTO_RESTART = 0 #关闭实例的自动启动功能
RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阈值,默认关闭
RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阈值,默认关闭
EOF
#DSC1
cat >/home/dmdba/data/dsc1_config/dmwatcher.ini<<EOF
[GRP1]
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = MANUAL #手动切换模式
DW_ERROR_TIME = 60 #远程守护进程故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 35 #本地实例故障认定时间
INST_INI = /home/dmdba/data/dsc1_config/dm.ini #dm.ini 配置文件路径
DCR_INI = /home/dmdba/data/dmdcr.ini #dmdcr.ini 配置文件路径
INST_OGUID = 453331 #守护系统唯一 OGUID 值
INST_STARTUP_CMD = /opt/dmdbms/bin/dmserver #命令行方式启动
INST_AUTO_RESTART = 0 #关闭实例的自动启动功能
RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阈值,默认关闭
RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阈值,默认关闭
EOF
#DW
cat >/dm/data/EP01/DAMENG/dmwatcher.ini<<EOF
[GRP1]
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = MANUAL #手动切换模式
DW_ERROR_TIME = 60 #远程守护进程故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 35 #本地实例故障认定时间
INST_INI = /dm/data/EP01/DAMENG/dm.ini #dm.ini 配置文件路径
INST_OGUID = 453331 #守护系统唯一 OGUID 值
INST_STARTUP_CMD = /opt/dmdbms/bin/dmserver #命令行方式启动
INST_AUTO_RESTART = 1 #关闭实例的自动启动功能
RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阈值,默认关闭
RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阈值,默认关闭
EOF
前台启动DSC 主库和备库
#DSC0
./dmserver /home/dmdba/data/dsc0_config/dm.ini dcr_ini=/home/dmdba/data/dmdcr.ini mount
#DSC1
./dmserver /home/dmdba/data/dsc1_config/dm.ini dcr_ini=/home/dmdba/data/dmdcr.ini mount
#设置 OGUID,在一台机器上执行就可以。
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);
#DW
./dmserver /dm/data/EP01/DAMENG/dm.ini mount
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);
###前台启动售后进程 然后通过监视器观察主备状态。
./dmwatcher /home/dmdba/data/dsc0_config/dmwatcher.ini
./dmwatcher /home/dmdba/data/dsc1_config/dmwatcher.ini
./dmwatcher /dm/data/EP01/DAMENG/dmwatcher.ini
#
查看状态
配置DSC+DW的监视器。
cat>/dm/data/EP01/DAMENG/dmmonitor.ini<<EOF
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 = 453331
MON_DW_IP = 10.0.2.101:3567/10.0.2.102:3567
MON_DW_IP = 10.0.2.103:3567
EOF
./dmmonitor /dm/data/EP01/DAMENG/dmmonitor.ini
./dmcssm ini_path=/home/dmdba/data/dmcssm.ini
收尾工作
注册服务
#root用户执行
#DSC0
cd /opt/dmdbms/script/root/
./dm_service_installer.sh -t dmserver -p DSC -y DmASMSvrServiceasm -dcr_ini /home/dmdba/data/dmdcr.ini -dm_ini /home/dmdba/data/dsc0_config/dm.ini -m mount
./dm_service_installer.sh -watcher_ini /home/dmdba/data/dsc0_config/dmwatcher.ini -t dmwatcher -p DSC
#DSC1
./dm_service_installer.sh -t dmserver -p DSC -y DmASMSvrServiceasm -dcr_ini /home/dmdba/data/dmdcr.ini -dm_ini /home/dmdba/data/dsc1_config/dm.ini -m mount
./dm_service_installer.sh -watcher_ini /home/dmdba/data/dsc1_config/dmwatcher.ini -t dmwatcher -p DSC
#DW服务
./dm_service_installer.sh -dm_ini /dm/data/EP01/DAMENG/dm.ini -t dmserver -p dw -m mount
./dm_service_installer.sh -watcher_ini /dm/data/EP01/DAMENG/dmwatcher.ini -t dmwatcher -p dw
####其他DSC服务注册服务的方法。
#root用户执行
#101机器
cd /opt/dmdbms/script/root/
./dm_service_installer.sh -t dmasmsvr -y DmCSSServicedmcss -p asm -dcr_ini /home/dmdba/data/dmdcr.ini
#root用户执行
cd /opt/dmdbms/script/root/
./dm_service_installer.sh -t dmcss -p dmcss -dcr_ini /home/dmdba/data/dmdcr.ini
附件:安装好的DSC+DW机器软件的vmware 虚拟机的拷贝文件。
链接:https://pan.baidu.com/s/1IybNpMY4IxPt0a6QD4hovg?pwd=t7fh
提取码:t7fh
服务器的用户名密码是 小写的a,用户名是 root 。