达梦守护集群部署安装

  1. 准备环境

主机:192.168.199.133 数据库已安装并开启归档

备机:192.168.199.134 数据库已安装并开启归档

数据库安装目录:/home/dmdba/dm/dmdbms

备份、归档、数据文件目录:/dm8/{dmbak,dmarch,dmdata}

  1. 主机全库备份

cd //home/dmdba/dm/dmdbms/bin

./dmrman

RMAN> backup database '/home/dmdba/dm/dmdbms/bin/dm.ini' full backupset '/dm8/dmbak/full01';

  1. 修改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);

  1. 修改dmarch.ini参数

dmdba@localhost \~$ vim /dm8/dmdata/DAMENG/dmarch.ini

ARCH_WAIT_APPLY=0

ARCHIVE_LOCAL

ARCH_TYPE=LOCAL

ARCH_DEST=/opt/dmdbms/data/DAMENG/arch/

ARCH_FILE_SIZE=1024

ARCH_SPACE_LIMIT=51200

ARCHIVE_REALTIME1

ARCH_TYPE=REALTIME #实时归档类型

ARCH_DEST=DMSERVERB #备库实例名

  1. 创建dmmal.ini

dmdba@localhost \~$ vim /dm8/dmdata/DAMENG/dmmal.ini

#添加以下内容

MAL_CHECK_INTERVAL = 10 #MAL链路检测时间间隔

MAL_CONN_FAIL_INTERVAL = 10 #判定MAL链路断开的时间

MAL_TEMP_PATH = /dm8/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 = DMSERVER #实例名

MAL_HOST = 192.168.199.133 #MAL系统监听TCP连接的IP

MAL_PORT = 5336 #MAL系统监听TCP连接的端口

MAL_INST_HOST = 172.16.1.1 #实例对外服务的IP

MAL_INST_PORT = 5236 #实例对外服务端口

MAL_DW_PORT = 5436 #实例对应的守护进程监听TCP连接的端口

MAL_INST_DW_PORT = 5536 #实例监听守护进程TCP连接的端口

MAL_INST2

MAL_INST_NAME = DMSERVERB

MAL_HOST = 192.168.199.134

MAL_PORT = 5336

MAL_INST_HOST = 172.16.1.2

MAL_INST_PORT = 5236

MAL_DW_PORT = 5436

MAL_INST_DW_PORT = 5536

  1. 创建dmwatcher.ini

dmdba@localhost \~$ vim /dm8/dmdata/DAMENG/dmwatcher.ini

GRP1

DW_TYPE = GLOBAL #全局守护类型

DW_MODE = MANUAL #MANUAL:故障手切 AUTO:故障自切

DW_ERROR_TIME = 20 #远程守护进程故障认定时间

INST_ERROR_TIME = 20 #本地实例故障认定时间

INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间

INST_OGUID = 45331 #守护系统唯一OGUID值

INST_INI = /dmdata/DAMENG/dm.ini

INST_AUTO_RESTART = 1 #打开实例自启功能

INST_STARTUP_CMD = /home/dmdba/dm/dmdbms/bin/DmServiceDMSERVER start #服务启动方式

RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阈值,默认关闭

RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阈值,默认关闭

  1. 拷贝备份文件

scp -r /dm8/dmbak/full01 dmdba@192.168.199.134:/dm8/dmbak

  1. 注册服务

cd /home/dmdba/dm/dmdbms/script/root

./dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /dm8/dmdata/DAMENG/dmwatcher.ini

  1. 重启实例服务

cd /home/dmdba/dm/dmdbms/bin

./DmServiceDMSERVER restart

  1. 启动守护进程

./DmWatcherServiceWatcher start

  1. 配置备机dm.ini实例名

INSTANCE_NAME = DMSERVERB #实例名

  1. 编辑dmarch.ini

dmdba@localhost \~$ vim /dm8/dmdata/DAMENG/dmarch.ini

ARCHIVE_LOCAL1

ARCH_TYPE = LOCAL

ARCH_DEST = /dm8/dmarch

ARCH_FILE_SIZE = 128

ARCH_SPACE_LIMIT = 1024

ARCHIVE_REALTIME1

ARCH_TYPE = REALTIME

ARCH_DEST = DMSERVER

  1. 复制主机dmmal.ini、dmwatcher.ini至备机

scp root@192.168.199.133:/dm8/dmdata/DAMENG/dmmal.ini /dm8/dmdata/DAMENG

scp root@192.168.199.133:/dm8/dmdata/DAMENG/dmmal.ini /dm8/dmdata/DAMENG

  1. 注册服务

cd /home/dmdba/dm/dmdbms/script/root

./dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /dm8/dmdata/DAMENG/dmwatcher.ini

  1. 重启实例服务

cd /home/dmdba/dm/dmdbms/bin

./DmServiceDMSERVER restart

./DmServiceDMSERVER stop

注:重启成功后需要停止服务,进行脱机数据恢复。

  1. 备机数据恢复

cd /home/dmdba/dm/dmdbms/bin

./dmrman

RMAN> check backupset '/dm8/dmbak/full01';

check backupset '/dm8/dmbak/full01';

check backupset successfully.

time used: 00:00:02.680

RMAN> restore database '/home/dmdba/dm/dmdbms/bin/dm.ini' from backupset '/dm8/dmbak/full01';

restore database '/home/dmdba/dm/dmdbms/bin/dm.ini' from backupset '/dm8/dmbak/full01';

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:21\]\[Remaining:00:00:00

restore successfully.

time used: 00:00:21.892

RMAN> recover database '/home/dmdba/dm/dmdbms/bin/dm.ini' update DB_MAGIC;

recover database '/home/dmdba/dm/dmdbms/bin/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

EP0's cur_lsn10660976, file_lsn10660976

recover successfully!

time used: 00:00:01.082

  1. 配置监视器

(1)非确认监视器:集群各节点bin目录中,存放非确认监视器配置文件。

(2)确认监视器:在仲裁机(非集群节点),存放确认监视器配置文件,并注册后台自启服务。

  1. 创建dmmonitor.ini

dmdba@localhost \~$ vim /home/dmdba/dm/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

GRP1

MON_INST_OGUID = 45331 #组GDW1的唯一OGUID值

MON_DW_IP = 192.168.199.133:5436 #IP对应MAL_HOST,PORT对应MAL_DW_PORT

MON_DW_IP = 192.168.199.134:5436

  1. 监视器的使用方法

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

  1. 启动服务并修改参数

主机:

dmdba@\~$ /home/dmdba/dm/dmdbms/bin/DmServiceDMSERVER start

dmdba@\~$/home/dmdba/dm/dmdbms/bin/disql SYSDBA/Dameng456

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

ALTER DATABASE MOUNT;

SP_SET_OGUID(45331);

ALTER DATABASE PRIMARY;

ALTER DATABASE OPEN FORCE;

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

备机:

dmdba@\~$ /home/dmdba/dm/dmdbms/bin/DmServiceDMSERVER start

dmdba@\~$ /home/dmdba/dm/dmdbms/bin/disql SYSDBA/Dameng456

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

ALTER DATABASE MOUNT;

SP_SET_OGUID(45331);

ALTER DATABASE STANDBY;

ALTER DATABASE OPEN FORCE;

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

  1. 启动守护进程

主/备机:dmdba@\~$ /home/dmdba/dm/dmdbms/bin/DmWatcherServiceWatcher start

  1. 启动监视器

前台启动:

dmdba@\~$cd /home/dmdba/dm/dmdbms/bin/

dmdba@\~$./dmmonitor dmmonitor.ini

后台启动:

dmdba@\~$ /home/dmdba/dm/dmdbms/bin/DmMonitorServiceMonitor start

注:这里需要先注册服务,/home/dmdba/dm/dmdbms/script/root/dm_service_installer.sh -t dmmonitor -p Monitor -monitor_ini /home/dmdba/dm/dmdbms/bin/dmmonitor.ini

  1. 启停集群

启动:

主/备机:dmdba@\~$ /home/dmdba/dm/dmdbms/bin/DmWatcherServiceWatcher start

停止:

主/备机:dmdba@\~$ /home/dmdba/dm/dmdbms/bin/DmWatcherServiceWatcher stop

主/备机:dmdba@\~$ /home/dmdba/dm/dmdbms/bin/DmServiceDMSERVER stop

  1. 创建dm_svc.conf

vim /etc/dm_svc.conf

TIME_ZONE=(480)

LANGUAGE=(cn)

DW1=(172.16.1.1:5236,172.16.1.2:5236)

DW1

CLUSTER=(DW)

LOGIN_MODE=(1)

SWITCH_TIMES=(300)

SWITCH_INTERVAL=(200)

  1. 应用连接方式

<DRIVER>dm.jdbc.driver.DmDriver</DRIVER>

<URL>jdbc:dm://DW1</URL>

<USERNAME>SYSDBA</USERNAME>​

<PASSWORD>Dameng456</PASSWORD>

相关推荐
川石课堂软件测试27 分钟前
安全测试|常见SQL注入攻击方式、实例及预防
服务器·数据库·sql·功能测试·测试工具·安全·单元测试
笃行3501 小时前
国产化落地避坑 · 干货向|迁移后那条「测试能过、一上生产就查空」的 SQL,多半栽在 WHERE 函数顺序上
数据库
蓝田~1 小时前
MySQL慢查询怎么优化?B+Tree索引原理+MVCC读不阻塞写+EXPLAIN执行计划,从5秒到0.05秒
数据库·mysql
sunxunyong2 小时前
doris用户资源组配置
数据库
Cloud云卷云舒2 小时前
云卷云舒:HaishanDB的AI原生能力主要应用场景
数据库·人工智能·ai-native·haishandb·移动云长期记忆
时间的拾荒人2 小时前
MySQL 视图详解
android·数据库·mysql
qq_366086222 小时前
sql 查询中关于 null 值判断的问题
数据库·sql
测试修炼手册3 小时前
[测试技术] JUnit 6 入门与实战:断言、参数化与 Mockito
数据库·junit·sqlserver
吴声子夜歌3 小时前
Redis 3.x——集群故障转移
java·数据库·redis·集群
名不经传的养虾人3 小时前
从0到1:企业级AI项目迭代日记 Vol.71|系统显示正常,但实际上什么都没发生
数据库·人工智能·ai编程·ai工作流·企业ai