达梦守护集群部署安装

  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>

相关推荐
oradh2 小时前
Oracle TX 锁 Mode 4(Share)问题排查总结
数据库·oracle·tx 锁 mode 4·oracle tx 锁
yi.Ist3 小时前
数据定义语言-DDL操作
数据库·学习·mysql·oracle·大海豚
2601_963282774 小时前
工程项目、政企采购为什么优先选择对讲机批量采购?
数据库
Doraemomo4 小时前
SQLite数据库
数据库·sqlite
云贝教育-郑老师5 小时前
MySQL 的“黑匣子“:Performance Schema 把数据库内部变成一张可查的表
数据库·mysql
这个DBA有点耶7 小时前
同城双活落地的三座山:网络延迟、脑裂预防、反向同步
数据库·架构·dba
青春之我_XP7 小时前
MySQL 常用日期函数 实战指南
数据库·sql·mysql·数据分析·数据库开发·日期函数
Nturmoils7 小时前
sys_dump 备了库,角色和权限别漏在外面
数据库
接着奏乐接着舞。7 小时前
【2026】73道Redis 常见面试题与参考答案
数据库·redis·后端·缓存