注册
DM8安装配置DW
专栏/培训园地/ 文章详情 /

DM8安装配置DW

DM_928622 2024/10/10 456 0 0
摘要

1.3环境建议&验证
环境建议
心跳网络方面:1)集群间的心跳网络建议走两个交换机,来实现冗余和负载均衡。2)需要把服务器多个心跳网卡绑定为一个逻辑网卡来使用(比如bond方式)。3)交换机速度建议至少为千兆。
存储方面:1)每台机器上挂在独立存储,其中主机所在机器挂载的存储建议大一些。2)需要格式化好,且所有机器挂载路径保持一致。3)在空间不够用时,要求支持在挂载目录上直接进行扩充。4)文件系统建议使用ext4。
环境验证
心跳网络方面:1)关闭其中一台交换机或者模拟其中一条线路故障,是否能做到网络方面的冗余。2)测试心跳网络的稳定性,会不会出现断连或者丢包等情况。
存储方面:1)反复重启集群机器,检查存储是否会出现只读、脱挂、挂载路径是否会发生改变等情况。

1.4切换模式说明
image.png
2、确认监视器:在仲裁机(非集群节点),存放确认监视器配置文件,并注册后台自启服务。

2配置A机器
2.1实例、备份数据
初始化实例
[dmdba@~]$ /dmdbms/bin/dminit PATH=/dmdata/ INSTANCE_NAME=DW2_01 PORT_NUM=15237 PAGE_SIZE=32 EXTENT_SIZE=32 LOG_SIZE=2048 SYSDBA_PWD=Dameng@1234

/dmdbms/bin/dminit PATH=/dmdata/ DB_NAME=DW2 INSTANCE_NAME=DW2_01 PORT_NUM=15237 PAGE_SIZE=32 EXTENT_SIZE=32 LOG_SIZE=2048 SYSDBA_PWD=Dameng@1234 CHARSET=1 CASE_SENSITIVE=Y
启动服务
[dmdba@~]$ /dmdbms/bin/dmserver /dmdata/DW2/dm.ini
修改dm.ini
[dmdba@~]$ /dmdbms/bin/disql SYSDBA/'"Dameng@1234"'@xxxx:15237
SQL> ALTER DATABASE MOUNT;
SQL> SP_SET_PARA_VALUE (2,'PORT_NUM',15237);
SQL> SP_SET_PARA_VALUE (2,'DW_INACTIVE_INTERVAL',60);
SQL> SP_SET_PARA_VALUE (2,'ALTER_MODE_STATUS',0);
SQL> SP_SET_PARA_VALUE (2,'ENABLE_OFFLINE_TS',2);
SQL> SP_SET_PARA_VALUE (2,'MAL_INI',1);
SQL> SP_SET_PARA_VALUE (2,'ARCH_INI',1);
SQL> SP_SET_PARA_VALUE (2,'RLOG_SEND_APPLY_MON',64);
SQL> ALTER DATABASE OPEN;
关闭前台实例服务
备份数据
[dmdba@~]$ /dmdbms/bin/dmrman CTLSTMT="BACKUP DATABASE '/dmdata/DW2/dm.ini' FULL BACKUPSET '/dmdata/DW2/bak/BACKUP_FILE'"

2.2创建dmarch.ini
[dmdba@~]$ vi /dmdata/DW2/dmarch.ini
[ARCHIVE_LOCAL]
ARCH_TYPE = LOCAL #本地归档类型
ARCH_DEST = /dmarch/DW2 #本地归档路径
ARCH_FILE_SIZE = 1024 #单个归档大小,单位MB
ARCH_SPACE_LIMIT = 204800 #归档上限,单位MB
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME #实时归档类型
ARCH_DEST = DW2_02 #归档目标实例名

2.3创建dmmal.ini
[dmdba@~]$ vi /dmdata/DW2/dmmal.ini
MAL_CHECK_INTERVAL = 10 #MAL链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 10 #判定MAL链路断开的时间
MAL_TEMP_PATH = /dmdata/malpath/DW2 #临时文件目录
MAL_BUF_SIZE = 512 #单个MAL缓存大小,单位MB
MAL_SYS_BUF_SIZE = 2048 #MAL总大小限制,单位MB
MAL_COMPRESS_LEVEL = 0 #MAL消息压缩等级。0:不压缩

[MAL_INST1]
MAL_INST_NAME = DW2_01 #实例名
MAL_HOST = xxxxx #MAL系统监听TCP连接的IP
MAL_PORT = 5337 #MAL系统监听TCP连接的端口
MAL_INST_HOST = xxxxxx #实例对外服务的IP
MAL_INST_PORT = 15237 #实例对外服务端口
MAL_DW_PORT = 5437 #实例对应的守护进程监听TCP连接的端口
MAL_INST_DW_PORT = 5537 #实例监听守护进程TCP连接的端口
[MAL_INST2]
MAL_INST_NAME = DW2_02
MAL_HOST = xxxxxxx
MAL_PORT = 5337
MAL_INST_HOST = xxxxxxx
MAL_INST_PORT = 15237
MAL_DW_PORT = 5437
MAL_INST_DW_PORT = 5537

2.4创建dmwatcher.ini
[dmdba@~]$ vi /dmdata/DW2/dmwatcher.ini
[GDW2]
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = MANUAL #MANUAL:故障手切 AUTO:故障自切
DW_ERROR_TIME = 20 #远程守护进程故障认定时间
INST_ERROR_TIME = 20 #本地实例故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_OGUID = 45332 #守护系统唯一OGUID值
INST_INI = /dmdata/DW2/dm.ini
INST_AUTO_RESTART = 1 #打开实例自启功能
INST_STARTUP_CMD = /dmdbms/bin/DmServiceDW2 start #服务方式
RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阈值,默认关闭
RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阈值,默认关闭

2.5拷贝实例
[dmdba@~]$ scp -r /dmdata/DW2 dmdba@xxxxxx:/dmdata/

2.6注册服务
[root@~]# /dmdbms/script/root/dm_service_installer.sh -t dmserver -p DW2 -dm_ini /dmdata/DW2/dm.ini -m mount
[root@~]# /dmdbms/script/root/dm_service_installer.sh -t dmwatcher -p Watcher2 -watcher_ini /dmdata/DW2/dmwatcher.ini

备注:删除自启
[root@~]# /dmdbms/script/root/dm_service_uninstaller.sh -n DmServiceDW
[root@~]# /dmdbms/script/root/dm_service_uninstaller.sh -n DmWatcherServiceWatcher

3配置B机器
3.1修改dm.ini
[dmdba@~]$ vi /dmdata/DW2/dm.ini
INSTANCE_NAME = DW2_02 #实例名

3.2替换dmarch.ini
[dmdba@~]$ vi /dmdata/DW2/dmarch.ini
[ARCHIVE_LOCAL]
ARCH_TYPE = LOCAL #本地归档类型
ARCH_DEST = /dmarch/DW2/ #本地归档路径
ARCH_FILE_SIZE = 1024 #单个归档大小,单位MB
ARCH_SPACE_LIMIT = 204800 #归档上限,单位MB
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME #实时归档类型
ARCH_DEST = DW2_01 #归档目标实例名

3.3相同配置项
与A机器DW2_01的dmmal.ini、dmwatcher.ini相同

3.4注册服务
[root@~]# /dmdbms/script/root/dm_service_installer.sh -t dmserver -p DW2 -dm_ini /dmdata/DW2/dm.ini -m mount
[root@~]# /dmdbms/script/root/dm_service_installer.sh -t dmwatcher -p Watcher2 -watcher_ini /dmdata/DW2/dmwatcher.ini

备注:删除自启
[root@~]# /dmdbms/script/root/dm_service_uninstaller.sh -n DmServiceDW
[root@~]# /dmdbms/script/root/dm_service_uninstaller.sh -n DmWatcherServiceWatcher

3.5恢复数据
[dmdba@~]$ /dmdbms/bin/dmrman CTLSTMT="RESTORE DATABASE '/dmdata/DW2/dm.ini' FROM BACKUPSET '/dmdata/DW2/bak/BACKUP_FILE'"
[dmdba@~]$ /dmdbms/bin/dmrman CTLSTMT="RECOVER DATABASE '/dmdata/DW2/dm.ini' FROM BACKUPSET '/dmdata/DW2/bak/BACKUP_FILE'"
[dmdba@~]$ /dmdbms/bin/dmrman CTLSTMT="RECOVER DATABASE '/dmdata/DW2/dm.ini' UPDATE DB_MAGIC"

4配置监视器
1、非确认监视器:集群各节点bin目录中,存放非确认监视器配置文件。
2、确认监视器:在仲裁机(非集群节点),存放确认监视器配置文件,并注册后台自启服务。
4.1创建dmmonitor.ini
[dmdba@~]$ vi /dmdbms/bin/dmmonitor.ini
MON_DW_CONFIRM = 0 #0:非确认(故障手切) 1:确认(故障自切)
MON_LOG_PATH = ../log #监视器日志文件存放路径
MON_LOG_INTERVAL = 60 #每隔60s定时记录系统信息到日志文件
MON_LOG_FILE_SIZE = 512 #单个日志大小,单位MB
MON_LOG_SPACE_LIMIT = 2048 #日志上限,单位MB

[GDW2]
MON_INST_OGUID = 45332 #组GDW2的唯一OGUID值
MON_DW_IP = xxxxxx:5437 #IP对应MAL_HOST,PORT对应MAL_DW_PORT
MON_DW_IP = xxxxxx:5437

4.2注册服务(选做)
[root@~]# /dmdbms/script/root/dm_service_installer.sh -t dmmonitor -p Monitor -monitor_ini /dmdbms/bin/dmmonitor.ini

备注:删除自启
[root@~]# /dmdbms/script/root/dm_service_uninstaller.sh -n DmMonitorServiceMonitor

4.3监视器使用
命令 含义
list 查看守护进程的配置信息
show global info 查看所有实例组的信息
tip 查看系统当前运行状态
login 登录监视器
logout 退出登录
choose switchover GDW2 主机正常:查看可切换为主机的实例列表
switchover GDW2.实例名 主机正常:使用指定组的指定实例,切换为主机
choose takeover GDW2 主机故障:查看可切换为主机的实例列表
takeover GDW2.实例名 主机故障:使用指定组的指定实例,切换为主机
choose takeover force GDW2 强制切换:查看可切换为主机的实例列表
takeover force GDW2.实例名 强制切换:使用指定组的指定实例,切换为主机
主机故障后,在备机执行SELECT SF_DW_CHECK_TAKEOVER();【1:可接管 0:不可接管】

5启动服务及修改参数
5.1启动数据库并修改参数
A机器
[dmdba@~]$ /dmdbms/bin/DmServiceDW2 start
[dmdba@~]$ /dmdbms/bin/disql SYSDBA/'"Dameng@1234"'@xxxxxx:15237
SQL> SP_SET_OGUID(45332);
SQL> ALTER DATABASE PRIMARY;
B机器
[dmdba@~]$ /dmdbms/bin/DmServiceDW2 start
[dmdba@~]$ /dmdbms/bin/disql SYSDBA/'"Dameng@1234"'@xxxxxxx:15237
SQL> SP_SET_OGUID(45332);
SQL> ALTER DATABASE STANDBY;

5.2启动守护进程
A/B机器:[dmdba@~]$ /dmdbms/bin/DmWatcherServiceWatcher2 start

5.3启动监视器
[dmdba@~]$ /dmdbms/bin/DmMonitorServiceMonitor start
前台:[dmdba@~]$ /dmdbms/bin/dmmonitor /dmdbms/bin/dmmonitor.ini

5.4启停集群
启动
A/B机器:[dmdba@~]$ /dmdbms/bin/DmWatcherServiceWatcher start
停止
A/B机器:[dmdba@~]$ /dmdbms/bin/DmWatcherServiceWatcher stop
A/B机器:[dmdba@~]$ /dmdbms/bin/DmServiceDW stop

6配置应用连接
Linux环境:dm_svc.conf放在应用服务器/etc目录下。
Win32环境:dm_svc.conf放在应用服务器System32目录下。
Win64环境:dm_svc.conf放在应用服务器System32和SysWOW64目录下。
6.1创建dm_svc.conf
[root@~]# vi /etc/dm_svc.conf
TIME_ZONE=(480)
LANGUAGE=(cn)
DW2=(xxxxxxx:15237,yyyyyyy:15237)

[DW2]
LOGIN_MODE=(1)
SWITCH_TIMES=(300)
SWITCH_INTERVAL=(200)

6.2应用连接
<DRIVER>dm.jdbc.driver.DmDriver</DRIVER>
<URL>jdbc:dm://DW2</URL>

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服