Administrator
发布于 2024-01-05 / 5 阅读
0

达梦主备集群

查看swap空间

grep SwapTotal /proc/meminfo

查看操作系统位数是不是x86_64

uname -m

查看磁盘空间

df -Th

创建用户组

groupadd dinstall

创建dmdba并指定用户组

useradd -g dinstall -m -d /data/dmdbms -s /bin/bash dmdba

检查是否创建成功

id dmdba

设置密码

passwd dmdba

密码就写dmdba就行

使用root编辑上限

su
vi /etc/security/limits.conf

在尾巴上添加

* soft nproc 65536
* hard nproc 65536
* soft nofile 65536
* hard nofile 65536

设置文件句柄打开数

ulimit -n 65536

开启core文件的生成

ulimit -c unlimited

关闭selinux

vi /etc/sysconfig/selinux
SELINUX = disabled

创建一些文件夹

mkdir /data/dmdbms
mkdir -p /data/dmdata
mkdir -p /data/dmarch
mkdir -p /data/dmbak/BAK
chown -R dmdba.dinstall /data/dmdbms
chown -R dmdba:dinstall /data/*

编辑环境变量

export PATH=/data/dmdbms/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/dmdbms/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/dmdbms/bin2

把dm8_20231011_x86_rh6_64.iso安装包拷到/opt

切换到dmdba来安装

cd /opt/
mount -o loop dm8_20231011_x86_rh6_64.iso /mnt
cd /mnt/
​
su dmdba
./DMInstall.bin -i

安装配置

语言1
Key文件n
是否时区y
选择时区21
安装类型1
安装路径/data/dmdbms
确认安装路径y
确认安装y

安装结束

配置主节点

实例、备份数据

--初始化实例(初始化参数根据实际)
cd /data/dmdbms/bin
./dminit PATH=/data/dmdata/ UNICODE_FLAG=1 LENGTH_IN_CHAR=1 CASE_SENSITIVE=0  EXTENT_SIZE=64 PAGE_SIZE=32 INSTANCE_NAME=DM1 PORT_NUM=5236
--create dm database success.
​
--启动服务
./dmserver /data/dmdata/DAMENG/dm.ini
​
--开启归档
cd /data/dmdbms/bin
./disql SYSDBA/SYSDBA@localhost:5236
​
ALTER DATABASE MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE ADD ARCHIVELOG 'DEST=/data/dmarch, TYPE=LOCAL, FILE_SIZE=2048, SPACE_LIMIT=51200';
ALTER DATABASE OPEN;
​
--备份数据
BACKUP DATABASE BACKUPSET '/data/dmdata/DAMENG/bak1';
注:遇到DMAP相关报错时,启动AP服务
cd /data/dmdbms/bin
./DmAPService restart
​
--修改dm.ini
SP_SET_PARA_VALUE (2,'PORT_NUM',5236);
SP_SET_PARA_VALUE (2,'DW_INACTIVE_INTERVAL',60);
SP_SET_PARA_VALUE (2,'ALTER_MODE_STATUS',0);
SP_SET_PARA_VALUE (2,'ENABLE_OFFLINE_TS',2);
SP_SET_PARA_VALUE (2,'MAL_INI',1);
SP_SET_PARA_VALUE (2,'RLOG_SEND_APPLY_MON',64);
exit;
​

配置dm.ini

vi /data/dmdata/DAMENG/dm.ini
INSTANCE_NAME              = DM1
​

配置dmarch.ini

vi /data/dmdata/DAMENG/dmarch.ini
[ARCHIVE_REALTIME]
  ARCH_TYPE                = REALTIME  #实时归档类型
  ARCH_DEST                = DM2  #实时归档目标实例名
[ARCHIVE_LOCAL1]
  ARCH_TYPE                = LOCAL  #本地归档类型
  ARCH_DEST                = /data/dmarch/  #本地归档存放路径
  ARCH_FILE_SIZE           = 2048  #单位MB,本地单个归档最大值
  ARCH_SPACE_LIMIT         = 51200  #单位MB,0表示无限制
​

配置dmmal.ini

vi /data/dmdata/DAMENG/dmmal.ini
MAL_CHECK_INTERVAL         = 30  #MAL链路检测时间间隔
MAL_CONN_FAIL_INTERVAL     = 60  #判定MAL链路断开的时间
MAL_TEMP_PATH              = /data/dmdata/malpath/  #临时文件目录
MAL_BUF_SIZE               = 512  #单个MAL缓存大小限制,单位MB
MAL_SYS_BUF_SIZE           = 2048  #MAL系统总内存大小限制,单位MB
MAL_COMPRESS_LEVEL         = 0  #MAL消息压缩等级,0表示不压缩
​
[MAL_INST1]
  MAL_INST_NAME            = DM1  #实例名,和 dm.ini的INSTANCE_NAME一致
  MAL_HOST                 = 192.168.220.191  #MAL系统监听TCP连接的IP地址
  MAL_PORT                 = 5336  #MAL系统监听TCP连接的端口
  MAL_INST_HOST            = 192.168.220.191  #实例的对外服务IP地址
  MAL_INST_PORT            = 5236  #实例对外服务端口,和dm.ini的PORT_NUM一致
  MAL_DW_PORT              = 5436  #实例对应的守护进程监听TCP连接的端口
  MAL_INST_DW_PORT         = 5536  #实例监听守护进程TCP连接的端口
[MAL_INST2]
  MAL_INST_NAME            = DM2
  MAL_HOST                 = 192.168.220.192
  MAL_PORT                 = 5336
  MAL_INST_HOST            = 192.168.220.192
  MAL_INST_PORT            = 5236
  MAL_DW_PORT              = 5436
  MAL_INST_DW_PORT         = 5536
​

配置dmwatcher.ini

vi /data/dmdata/DAMENG/dmwatcher.ini
[GRP1]
  DW_TYPE                  = GLOBAL  #全局守护类型
  DW_MODE                  = MANUAL  #故障手动切换模式
  DW_ERROR_TIME            = 30  #远程守护进程故障认定时间
  INST_ERROR_TIME          = 30  #本地实例故障认定时间
  INST_RECOVER_TIME        = 60  #主库守护进程启动恢复的间隔时间
  INST_OGUID               = 453331  #守护系统唯一OGUID值
  INST_INI                 = /data/dmdata/DAMENG/dm.ini  #dm.ini文件路径
  INST_AUTO_RESTART        = 1  #打开实例的自动启动功能
  INST_STARTUP_CMD         = /data/dmdbms/bin/dmserver  #命令行方式启动
  RLOG_SEND_THRESHOLD      = 0  #指定主库发送日志到备库的时间阀值,默认关闭
  RLOG_APPLY_THRESHOLD     = 0  #指定备库重演日志的时间阀值,默认关闭
​

退出之前前台启动的dmserver服务

ctrl+c

拷贝配置文件到备节点机器

scp -r /data/dmdata/DAMENG  dmdba@192.168.220.192:/data/dmdata/DAMENG

注册服务

su root
​
/data/dmdbms/script/root/dm_service_installer.sh -t dmserver -p DM1 -dm_ini /data/dmdata/DAMENG/dm.ini -m mount
​
/data/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -p DW1 -watcher_ini /data/dmdata/DAMENG/dmwatcher.ini
​

删除(自启)

/data/dmdbms/script/root/dm_service_uninstaller.sh -n DmServiceDM1
​
/data/dmdbms/script/root/dm_service_uninstaller.sh -n DmWatcherServiceDW1
​

配置备节点机器

配置dm.ini

su dmdba
vi /data/dmdata/DAMENG/dm.ini
INSTANCE_NAME              = DM2  #数据库实例名

配置dmarch.ini

vi /data/dmdata/DAMENG/dmarch.ini
[ARCHIVE_REALTIME]
  ARCH_TYPE                = REALTIME  #实时归档类型
  ARCH_DEST                = DM1  #实时归档目标实例名
[ARCHIVE_LOCAL1]
  ARCH_TYPE                = LOCAL  #本地归档类型
  ARCH_DEST                = /data/dmarch/  #本地归档存放路径
  ARCH_FILE_SIZE           = 2048  #单位MB,本地单个归档最大值
  ARCH_SPACE_LIMIT         = 51200  #单位MB,0表示无限制
​

dmmal.ini和dmwatcher.ini与主机配置一致

配置dmmal.ini

vi /data/dmdata/DAMENG/dmmal.ini
MAL_CHECK_INTERVAL         = 30  #MAL链路检测时间间隔
MAL_CONN_FAIL_INTERVAL     = 60  #判定MAL链路断开的时间
MAL_TEMP_PATH              = /data/dmdata/malpath/  #临时文件目录
MAL_BUF_SIZE               = 512  #单个MAL缓存大小限制,单位MB
MAL_SYS_BUF_SIZE           = 2048  #MAL系统总内存大小限制,单位MB
MAL_COMPRESS_LEVEL         = 0  #MAL消息压缩等级,0表示不压缩
​
[MAL_INST1]
  MAL_INST_NAME            = DM1  #实例名,和 dm.ini的INSTANCE_NAME一致
  MAL_HOST                 = 192.168.220.191  #MAL系统监听TCP连接的IP地址
  MAL_PORT                 = 5336  #MAL系统监听TCP连接的端口
  MAL_INST_HOST            = 192.168.220.191  #实例的对外服务IP地址
  MAL_INST_PORT            = 5236  #实例对外服务端口,和dm.ini的PORT_NUM一致
  MAL_DW_PORT              = 5436  #实例对应的守护进程监听TCP连接的端口
  MAL_INST_DW_PORT         = 5536  #实例监听守护进程TCP连接的端口
[MAL_INST2]
  MAL_INST_NAME            = DM2
  MAL_HOST                 = 192.168.220.192
  MAL_PORT                 = 5336
  MAL_INST_HOST            = 192.168.220.192
  MAL_INST_PORT            = 5236
  MAL_DW_PORT              = 5436
  MAL_INST_DW_PORT         = 5536
​

配置dmwatcher.ini

vi /data/dmdata/DAMENG/dmwatcher.ini
[GRP1]
  DW_TYPE                  = GLOBAL  #全局守护类型
  DW_MODE                  = MANUAL  #故障手动切换模式
  DW_ERROR_TIME            = 30  #远程守护进程故障认定时间
  INST_ERROR_TIME          = 30  #本地实例故障认定时间
  INST_RECOVER_TIME        = 60  #主库守护进程启动恢复的间隔时间
  INST_OGUID               = 453331  #守护系统唯一OGUID值
  INST_INI                 = /data/dmdata/DAMENG/dm.ini  #dm.ini文件路径
  INST_AUTO_RESTART        = 1  #打开实例的自动启动功能
  INST_STARTUP_CMD         = /data/dmdbms/bin/dmserver  #命令行方式启动
  RLOG_SEND_THRESHOLD      = 0  #指定主库发送日志到备库的时间阀值,默认关闭
  RLOG_APPLY_THRESHOLD     = 0  #指定备库重演日志的时间阀值,默认关闭
​

注册服务

su root
​
/data/dmdbms/script/root/dm_service_installer.sh -t dmserver -p DM2 -dm_ini /data/dmdata/DAMENG/dm.ini -m mount
​
/data/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -p DW2 -watcher_ini /data/dmdata/DAMENG/dmwatcher.ini
​

删除(自启)

/data/dmdbms/script/root/dm_service_uninstaller.sh -n DmServiceDM2
​
/data/dmdbms/script/root/dm_service_uninstaller.sh -n DmWatcherServiceDW2
​

恢复数据

su dmdba
​
cd /data/dmdbms/bin/
./dmrman CTLSTMT="RESTORE DATABASE '/data/dmdata/DAMENG/dm.ini' FROM BACKUPSET '/data/dmdata/DAMENG/bak1 '"
​
注:遇到DMAP相关报错时,启动AP服务
cd /data/dmdbms/bin
./DmAPService restart
​
./dmrman CTLSTMT="RECOVER DATABASE '/data/dmdata/DAMENG/dm.ini' FROM BACKUPSET '/data/dmdata/DAMENG/bak1'"
​
./dmrman CTLSTMT="RECOVER DATABASE '/data/dmdata/DAMENG/dm.ini' UPDATE DB_MAGIC"
​

两台都配置监视器

配置dmmonitor.ini

su dmdba
vi /data/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,范围1~2048MB
MON_LOG_SPACE_LIMIT        = 2048  #日志文件总占用2048MB
​
[GRP1]
  MON_INST_OGUID           = 453331  #组GDW1的唯一OGUID 值
  MON_DW_IP                = 192.168.220.191:5436  #IP对应MAL_HOST,PORT对应MAL_DW_PORT
  MON_DW_IP                = 192.168.220.192:5436
​

注册服务

su root
​
/data/dmdbms/script/root/dm_service_installer.sh -t dmmonitor -p Monitor -monitor_ini /data/dmdbms/bin/dmmonitor.ini

删除(自启)

/data/dmdbms/script/root/dm_service_uninstaller.sh -n DmMonitorServiceMonitor

启动服务

主节点

su dmdba
​
/data/dmdbms/bin/DmServiceDM1 start
cd /data/dmdbms/bin/
./disql SYSDBA/SYSDBA@localhost:5236
​
SP_SET_OGUID(453331);
ALTER DATABASE PRIMARY;
exit;
​

备节点

su dmdba
​
/data/dmdbms/bin/DmServiceDM2 start
cd /data/dmdbms/bin/
./disql SYSDBA/SYSDBA@localhost:5236
​
SP_SET_OGUID(453331);
ALTER DATABASE STANDBY;
exit;
​

主节点启动守护进程

/data/dmdbms/bin/DmWatcherServiceDW1 start

备节点启动守护进程

/data/dmdbms/bin/DmWatcherServiceDW2 start

启动监视器

后台启动:
/data/dmdbms/bin/DmMonitorServiceMonitor start
​
​
前台启动:
cd /data/dmdbms/bin/
/data/dmdbms/bin/dmmonitor /data/dmdbms/bin/dmmonitor.ini
​