DM8数据守护集群安装部署详细教程

一、基础环境准备

操作系统版本3台centos7.7

数据库版本dm8_20240408_x86_rh7_64.iso

最好是双网卡,单网卡需要修改配置文件,本文我就是单网卡。还需要关闭防火墙和selinux。

[root@localhost ~]# systemctl stop firewalld

[root@localhost ~]# systemctl disable firewalld

[root@localhost ~]# setenforce 0

1、分别在3台机器上安装单机版。

将下载后的iso 后缀的文件上传至3台机器opt目录下,对文件进行挂载:

mount -o loop /opt/dm8_20240408_x86_rh7_64.iso /mnt

1、部署建议不要用root用户,风险太高,新建DM专属账号。

groupadd dinstall -g 2001

useradd  -G dinstall -m -d /home/dmdba -s /bin/bash -u 2001 dmdba

passwd dmdba

2、修改文件打开最大数

在 Linux、Solaris、AIX 和 HP-UNIX 等系统中,操作系统默认会对程序使用资源进行限制。如果不取消对应的限制,则数据库的性能将会受到影响。

vi /etc/security/limits.conf

在最后需要添加如下配置:

dmdba  soft      nice      0

dmdba  hard      nice      0

dmdba  soft      as        unlimited

dmdba  hard      as        unlimited

dmdba  soft      fsize      unlimited

dmdba  hard      fsize      unlimited

dmdba  soft      nproc      65536

dmdba  hard      nproc      65536

dmdba  soft      nofile    65536

dmdba  hard      nofile    65536

dmdba  soft      core      unlimited

dmdba  hard      core      unlimited

dmdba  soft      data      unlimited

dmdba  hard      data      unlimited

修改配置文件后重启服务器生效。

[root@localhost opt]# reboot

切换到 dmdba 用户,查看是否生效:

[root@localhost ~]# su - dmdba

[dmdba@localhost ~]$ ulimit -a

3、规划安装目录

1.可根据实际需求规划安装目录,本示例使用默认配置 DM 数据库安装在 /home/dmdba 文件夹下。

2.规划创建实例保存目录、归档保存目录、备份保存目录。

[root@localhost ~]# mkdir -p /dmdata/data

[root@localhost ~]# mkdir -p /dmdata/arch

[root@localhost ~]# mkdir -p /dmdata/dmbak

[root@localhost ~]# chown -R dmdba:dinstall /dmdata/data

[root@localhost ~]# chown -R dmdba:dinstall /dmdata/arch

[root@localhost ~]# chown -R dmdba:dinstall /dmdata/dmbak

[root@localhost ~]# chmod -R 755 /dmdata/data

[root@localhost ~]# chmod -R 755 /dmdata/arch

[root@localhost ~]# chmod -R 755 /dmdata/dmbak

4、DM8安装

[root@localhost ~]# su - dmdba

[dmdba@localhost ~]$ cd /mnt/

执行如下命令进行安装。

[dmdba@localhost mnt]$ ./DMInstall.bin -i

[root@localhost ~]# /home/dmdba/dmdbms/script/root/root_installer.sh

5、初始化及配置实例

[dmdba@localhost mnt]$ cd /home/dmdba/dmdbms/bin

[dmdba@localhost bin]$ ./dminit path=/dmdata/data PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=1 DB_NAME=DMTEST INSTANCE_NAME=DBSERVER PORT_NUM=5237

6、注册服务

DM 提供了将 DM 服务脚本注册成操作系统服务的脚本,同时也提供了卸载操作系统服务的脚本。注册和卸载脚本文件所在目录为安装目录的“/script/root”子目录下。

注册服务脚本为 dm_service_installer.sh,用户可以使用注册服务脚本将服务脚本注册成为操作系统服务。注册服务需使用 root 用户进行注册,使用 root 用户进入数据库安装目录的 /script/root 下

[root@localhost ~]# cd /home/dmdba/dmdbms/script/root/

[root@localhost root]# ./dm_service_installer.sh -t dmserver -dm_ini /dmdata/data/DMTEST/dm.ini -p DMTEST

7、服务注册成功后,启动数据库。

使用 dmdba 用户进入 DM 安装目录下的 bin 目录下,启动数据库,如下所示:

[dmdba@localhost bin]$ cd /home/dmdba/dmdbms/bin

[dmdba@localhost bin]$ ./DmServiceDMTEST start

8、开启本地归档

[dmdba@localhost bin]$ cd /home/dmdba/dmdbms/bin

[dmdba@localhost bin]$ ./disql SYSDBA/SYSDBA@192.168.59.222:5237

SQL> ALTER DATABASE MOUNT;

SQL> ALTER DATABASE ARCHIVELOG;

SQL> ALTER DATABASE ADD ARCHIVELOG 'DEST=/dmdata/arch, TYPE=LOCAL, FILE_SIZE=2048, SPACE_LIMIT=102400';

SQL> ALTER DATABASE OPEN;

查看归档是否开启

SQL>select arch_mode from v$database;

9、配置 SQL 日志

SQL 日志内容包含系统各会话执行的 SQL 语句、参数信息、错误信息等。SQL 跟踪日志主要用于分析错误和分析性能问题,基于跟踪日志可以对系统运行状态有一个分析。查看是否开启sql日志,如果没有开启的话,需要去开启。

SQL> select * from v$parameter where name like 'SVR_LOG%';

创建 SQL 日志存放目录。

[dmdba@localhost log]$ mkdir -p /home/dmdba/dmdbms/log/logcommit

[dmdba@localhost DMTEST]$ cd /dmdata/data/DMTEST

[dmdba@localhost DMTEST]$ vi sqllog.ini

添加以下内容

BUF_TOTAL_SIZE = 10240 #SQLs Log Buffer Total Size(K)(1024~1024000)

BUF_SIZE = 1024 #SQLs Log Buffer Size(K)(50~409600)

BUF_KEEP_CNT = 6 #SQLs Log buffer keeped count(1~100)

[SLOG_ALL]

FILE_PATH = /home/dmdba/dmdbms/log/logcommit  #sql 日志生成路径

PART_STOR = 0

SWITCH_MODE = 2

SWITCH_LIMIT = 1024  #每个日志文件 1024M

ASYNC_FLUSH = 1

FILE_NUM = 20  #循环收集 20 个可以根据实际情况做调整

ITEMS = 0

SQL_TRACE_MASK = 1

MIN_EXEC_TIME = 0

USER_MODE = 0

USERS =

执行调用存储过程生效配置文件,并开启 SQLLOG 日志。

SQL>SP_REFRESH_SVR_LOG_CONFIG();

SQL>sp_set_para_value(1,’SVR_LOG’,1);

—检查 SVR_LOG 参数。

SQL>SELECT para_name,para_value,sess_value,file_value FROM V$DM_INI where para_name in (‘SVR_LOG’,‘SVR_LOG_NAME’);

10、数据库备份

全量备份 + 删除(推荐使用)

此备份策略适用于数据量小于 100G 的场景下。注意开启数据库归档,确定备份路径。

例如设置每天 23:00 全量备份、删除 30 天前的全量备份。备份路径为 /dmdata/dmbak。

进行disql直接执行以下命令即可。

SQL>call SP_INIT_JOB_SYS(1);

SQL>call SP_CREATE_JOB('bakall_delall',1,0,'',0,0,'',0,'每天 23:00 全量备份、删除 30 天前的全量备份');

SQL>call SP_JOB_CONFIG_START('bakall_delall');

SQL>call SP_ADD_JOB_STEP('bakall_delall', 'bakall', 6, '01020000/dmdata/dmbak', 3, 1, 0, 0, NULL, 0);

SQL>call SP_ADD_JOB_STEP('bakall_delall', 'delall', 0, 'SF_BAKSET_BACKUP_DIR_ADD(''DISK'',''/dmdata/dmbak'');

SQL>CALL SP_DB_BAKSET_REMOVE_BATCH(''DISK'',SYSDATE-30);', 1, 1, 0, 0, NULL, 0);

SQL>call SP_ADD_JOB_SCHEDULE('bakall_delall', 'bakall_delall_time01', 1, 1, 1, 0, 0, '23:00:00', NULL, '2019-01-01 01:01:01', NULL, '');

SQL>call SP_JOB_CONFIG_COMMIT('bakall_delall');

全量备份 + 增量备份 + 删除(此处不用执行)

此备份策略适用于数据量大于 100G 并且小于 3T 的场景下。注意开启数据库归档,确定备份路径。

—设置 2 分钟后自动进行一次全量备份

call SP_INIT_JOB_SYS(1);

call SP_CREATE_JOB('bakall_one',1,0,'',0,0,'',0,'执行一次全量备份');

call SP_JOB_CONFIG_START('bakall_one');

call SP_ADD_JOB_STEP('bakall_one', 'bakall', 6, '01020000/opt/dmdbms/data/DAMENG/bak/all', 1, 1, 0, 0, NULL, 0);

call SP_ADD_JOB_SCHEDULE('bakall_one', 'bakall_one_time01', 1, 0, 0, 0, 0, NULL, NULL, SYSDATE()+0.0014, NULL, '');

call SP_JOB_CONFIG_COMMIT('bakall_one');

--设置全量备份

call SP_CREATE_JOB('bakall',1,0,'',0,0,'',0,'每月第一个周六23:00全量备份');

call SP_JOB_CONFIG_START('bakall');

call SP_ADD_JOB_STEP('bakall', 'bakall', 6, '01020000/opt/dmdbms/data/DAMENG/bak/all', 1, 1, 0, 0, NULL, 0);

call SP_ADD_JOB_SCHEDULE('bakall', 'bakall_time01', 1, 4, 1, 7, 0, '23:00:00', NULL, '2019-01-01 01:01:01', NULL, '');

call SP_JOB_CONFIG_COMMIT('bakall');

--设置增量备份 + 删除备份

call SP_CREATE_JOB('bakadd_delbak',1,0,'',0,0,'',0,'每天(除周六)23:00增量备份、删除30天前的增量备份、删除40天前的全量备份');

call SP_JOB_CONFIG_START('bakadd_delbak');

call SP_ADD_JOB_STEP('bakadd_delbak', 'bakadd', 6, '11020000/opt/dmdbms/data/DAMENG/bak/all|/opt/dmdbms/data/DAMENG/bak/add', 3, 1, 0, 0, NULL, 0);

call SP_ADD_JOB_STEP('bakadd_delbak', 'delbak', 0, 'SF_BAKSET_BACKUP_DIR_ADD(''DISK'',''/opt/dmdbms/data/DAMENG/bak/add'');

CALL SP_DB_BAKSET_REMOVE_BATCH(''DISK'',SYSDATE-30);

SF_BAKSET_BACKUP_DIR_ADD(''DISK'',''/opt/dmdbms/data/DAMENG/bak/all'');

CALL SP_DB_BAKSET_REMOVE_BATCH(''DISK'',SYSDATE-40);', 1, 1, 0, 0, NULL, 0);

call SP_ADD_JOB_SCHEDULE('bakadd_delbak', 'bakadd_delbak_time01', 1, 2, 1, 63, 0, '23:00:00', NULL, '2019-01-01 01:01:01', NULL, '');

call SP_JOB_CONFIG_COMMIT('bakadd_delbak');

另外2台再不演示,按照上述操作即可。

二、集群规划

A 机器B 机器C机器

业务 IP192.168.59.222192.168.59.241192.168.59.242

心跳 IP192.168.1.1192.168.1.2监视机器

实例名GRP1_RT_01GRP1_RT_02

实例端口52375237

MAL 端口53365336

MAL 守护进程端口54365436

守护进程端口55365536

OGUID4533145331

守护组GRP1GRP1

安装目录/home/dmdba/dmdbms/home/dmdba/dmdbms

实例目录/dmdata/data/dmdata/data

归档上限5120051200

二、集群架构

搭建的主备集群架构如下图:

切换模式说明:

ARCH_WAIT_APPLY 参数,设置为 0:高性能模式;设置为 1:事务一致模式。

故障手动切换情境下 ARCH_WAIT_APPLY 只能为 0。故障自动切换情境下 ARCH_WAIT_APPLY 可以为 0,也可以为 1。

ARCH_WAIT_APPLY 参数设置的判断依据为业务是否要查询备机最新数据。如果需要,则配置为 1(较大性能衰减);如果不需要,则配置为 0。

三、集群搭建

(一)配置 A 机器

1、初始化实例并备份数据

初始化实例、启动服务和开启归档。上面已执行,这里不再演示。

执行备份

SQL> BACKUP DATABASE BACKUPSET '/dmdata/dmbak/BACKUP_FILE';

修改 dm.ini

SP_SET_PARA_VALUE (2,'PORT_NUM',5237);

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);

关闭前台实例服务

[dmdba@localhost bin]$ ./DmServiceDMTEST stop

2、修改 dmarch.ini

[dmdba@localhost DMTEST]$ cd /dmdata/data/DMTEST

[dmdba@localhost DMTEST]$ vi dmarch.ini

添加以下内容

[CHIVE_REALTIME1]

ARCH_TYPE = REALTIME #实时归档类型

ARCH_DEST = GRP1_RT_02 #实时归档目标实例名

3、创建 dmmal.ini

vi dmmal.ini

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

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

MAL_TEMP_PATH              = /home/dmdata/dmdbms/data/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            = GRP1_RT_01  #实例名,和 dm.ini 的 INSTANCE_NAME 一致

MAL_HOST                = 192.168.1.1  #MAL 系统监听 TCP 连接的 IP 地址

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

MAL_INST_HOST            = 192.168.59.222  #实例的对外服务 IP 地址

MAL_INST_PORT            = 5237  #实例对外服务端口,和 dm.ini 的 PORT_NUM 一致

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

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

[MAL_INST2]

MAL_INST_NAME            = GRP1_RT_02

MAL_HOST                = 192.168.1.2

MAL_PORT                = 5336

MAL_INST_HOST            = 192.168.59.241

MAL_INST_PORT            = 5237

MAL_DW_PORT              = 5436

MAL_INST_DW_PORT        = 5536

4、创建dmwatcher.ini

vi dmwatcher.ini

[GRP1]

DW_TYPE                  = GLOBAL  #全局守护类型

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

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

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

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

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

INST_INI                = /dmdata/data/DMTEST/dm.ini  #dm.ini 文件路径

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

INST_STARTUP_CMD        = /home/dmdba/dmdbms/bin/dmserver  #命令行方式启动

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

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

5、拷贝备份文件

拷贝备份文件到 B 机器

[dmdba@localhost bin]$ scp -r /dmdata/dmbak/BACKUP_FILE dmdba@192.168.59.241:/dmdata/dmbak/

6、注册服务

[root@localhost ~]# /home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmserver -p GRP1_RT_01 -dm_ini /dmdata/data/DMTEST/dm.ini -m mount

Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceGRP1_RT_01.service to /usr/lib/systemd/system/DmServiceGRP1_RT_01.service.

创建服务(DmServiceGRP1_RT_01)完成

[root@localhost ~]# /home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmmonitor -p Monitor -monitor_ini /home/dmdba/dmdbms/bin/dmmonitor_manual.ini

Created symlink from /etc/systemd/system/multi-user.target.wants/DmMonitorServiceMonitor.service to /usr/lib/systemd/system/DmMonitorServiceMonitor.service.

创建服务(DmMonitorServiceMonitor)完成

(一)配置B机器

1、初始化

[dmdba@localhost ~]$ /home/dmdba/dmdbms/bin/dminit PATH=/dmdata/data/ INSTANCE_NAME=GRP1_RT_02 PAGE_SIZE=32 EXTENT_SIZE=32 LOG_SIZE=2048

2、恢复数据

恢复数据的时候数据库必须处于关闭的状态下。

ps -ef | grep dmserver

[dmdba@localhost ~]$ /home/dmdba/dmdbms/bin/dmrman CTLSTMT="RESTORE DATABASE '/dmdata/data/DMTEST/dm.ini' FROM BACKUPSET '/dmdata/dmbak/BACKUP_FILE'"

[dmdba@localhost ~]$ /home/dmdba/dmdbms/bin/dmrman CTLSTMT="RECOVER DATABASE '/dmdata/data/DMTEST/dm.ini' FROM BACKUPSET '/dmdata/dmbak/BACKUP_FILE'"

[dmdba@localhost ~]$ /home/dmdba/dmdbms/bin/dmrman CTLSTMT="RECOVER DATABASE '/dmdata/data/DMTEST/dm.ini' UPDATE DB_MAGIC"

3、替换 dmarch.ini

[dmdba@localhost DMTEST]$ vi /dmdata/data/DMTEST/dmarch.ini

添加以下内容

[ARCHIVE_REALTIME1]

ARCH_TYPE                = REALTIME  #实时归档类型

ARCH_DEST                = GRP1_RT_01  #实时归档目标实例名

4、配置 dm.ini、dmmal.ini 和 dmwatcher.ini

vi dm.ini

INSTANCE_NAME  = GRP1_RT_02

PORT_NUM = 5236                              #数据库实例监听端口

DW_INACTIVE_INTERVAL = 60              #接收守护进程消息超时时间

ALTER_MODE_STATUS = 0                    #不允许手工方式修改实例模式/状态/OGUID

ENABLE_OFFLINE_TS  = 2                      #不允许备库 OFFLINE 表空间

MAL_INI = 1                                          #打开 MAL 系统

ARCH_INI = 1                                        #打开归档配置

RLOG_SEND_APPLY_MON = 64            #统计最近 64 次的日志重演信息

配置 dmmal.ini 和 dmwatcher.ini

B 机器里 dmmal.ini、dmwatcher.ini 与 A 机器 GRP1_RT_01 的 dmmal.ini、dmwatcher.ini 相同,参照 A 机器 dmmal.ini、dmwatcher.ini 文件进行配置。

[dmdba@localhost DMTEST]$ scp dmmal.ini  dmwatcher.ini dmdba@192.168.59.241:/dmdata/data/DMTEST/

5、 注册服务

[root@localhost ~]# /home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmserver -p GRP1_RT_02 -dm_ini /dmdata/data/DMTEST/dm.ini -m mount

Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceGRP1_RT_02.service to /usr/lib/systemd/system/DmServiceGRP1_RT_02.service.

创建服务(DmServiceGRP1_RT_02)完成

[root@localhost ~]# /home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmmonitor -p Monitor -monitor_ini /home/dmdba/dmdbms/bin/dmmonitor_manual.ini

Created symlink from /etc/systemd/system/multi-user.target.wants/DmMonitorServiceMonitor.service to /usr/lib/systemd/system/DmMonitorServiceMonitor.service.

创建服务(DmMonitorServiceMonitor)完成

(三)配置确认监视器

1、在第三台机器192.168.59.242 上配置确认监视器,存放确认监视器配置文件,并注册后台自启服务。

创建dmmonitor.ini,并添加以下内容。

[dmdba@localhost bin]$ vi /home/dmdba/dmdbms/bin/dmmonitor.ini

MON_DW_CONFIRM            = 1  #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  #组 GRP1 的唯一 OGUID 值

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

MON_DW_IP                = 192.168.59.241:5436

2、机器A和B也需要设置dmmonitor.ini,示例如下:

[dmdba@localhost ~]$ vi /home/dmdba/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  #组 GRP1 的唯一 OGUID 值

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

MON_DW_IP                = 192.168.1.2:5436

备注:需要双网卡,如果是单网卡的话,MON_DW_IP需要写三台机器可以联通的IP地址,要不然无法监控到其他两台机器。

3、机器3注册监控服务

[root@localhost ~]# /home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmmonitor -p Monitor -monitor_ini /home/dmdba/dmdbms/bin/dmmonitor.ini

(四)监视器使用

对于在生产环境中配置有确认监视器时,主备只是发生了切换的情况下,再想将主备切换回去时,只需要启动非确认监视器执行切换命令即可。通过前台方式启动非确认监视器。

[dmdba@localhost bin]$cd /home/dmdba/dmdbms/bin/

[dmdba@localhost bin]$./dmmonitor dmmonitor_manual.ini

(五)启动服务及查看信息

1、启动数据库并修改参数

A 机器

[dmdba@~]$ /home/dmdba/dmdbms/bin/DmServiceGRP1_RT_01 start

[dmdba@~]$ /home/dmdba/dmdbms/bin/disql SYSDBA/SYSDBA@192.168.59.222:5237

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

SQL> SP_SET_OGUID(45331);

SQL> ALTER DATABASE PRIMARY;

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

B 机器

[dmdba@~]$ /home/dmdba/dmdbms/bin/DmServiceGRP1_RT_02 start

[dmdba@~]$ /home/dmdba/dmdbms/bin/disql SYSDBA/SYSDBA@192.168.59.241:5237

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

SQL> SP_SET_OGUID(45331);

SQL> ALTER DATABASE STANDBY;

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

(六)启动守护进程

A/B机器

[dmdba@localhost bin]$ /home/dmdba/dmdbms/bin/DmWatcherServiceWatcher start

[dmdba@localhost bin]$ ./dmwatcher /dmdata/data/DMTEST/dmwatcher.ini

(七)启动监控机器

[dmdba@localhost bin]$ /home/dmdba/dmdbms/bin/DmMonitorServiceMonitor start

(八)集群维护的基础命令

启动

A/B 机器

[dmdba@~]$ /home/dmdba/dmdbms/bin/DmWatcherServiceWatcher start

停止

A/B机器

[dmdba@~]$ /home/dmdba/dmdbms/bin/DmWatcherServiceWatcher stop

A 机器

[dmdba@~]$ /home/dmdba/dmdbms/bin/DmServiceGRP1_RT_01 stop

B机器

[dmdba@~]$ /home/dmdba/dmdbms/bin/DmServiceGRP1_RT_02 stop

查看实例的状态

SQL> SELECT * FROM V$INSTANCE;

四、dm_svc.conf 配置

dm_svc.conf 是使用达梦数据库时非常重要的配置文件,它包含了达梦各接口和客户端工具所需要配置的一些参数。通过它可以实现达梦各种集群的读写分离和均衡负载,且必须和接口/客户端工具位于同一台机器上才能生效。初始 dm_svc.conf 文件由达梦安装时自动生成,linux操作系统默认在/etc下。但在某些情况下,所使用的用户没有读取和修改 /etc 目录下文件的权限,这时就需要将 dm_svc.conf 文件放到有权限的目录下,并修改 url 连接串的内容。以 Linux 平台,文件放在 /home/dmdba 目录下为例:

vi dm_svc.conf

TIME_ZONE=(480)

LANGUAGE=(cn)

dm=(ip:端口)

[dm]

KEYWORDS=(需要排除的关键字)

修改连接串。

jdbc:dm://dm?dmsvcconf=/home/dmdba/dm_svc.conf

主备集群配置示例

##以#开头的行表示是注释#

##全局配置区

TIME_ZONE=(480)

LANGUAGE=(cn)

DMHA=(192.168.59.222:5237,192.168.59.241:5237)

##服务配置

[DMHA]

SWITCH_TIMES=(3)

SWITCH_INTERVAL=(100)

LOGIN_MODE=(1)

jdbc 连接串:

jdbc:dm://DMHA

单机配置示例:

##以#开头的行表示是注释

##全局配置区

TIME_ZONE=(480)

LANGUAGE=(cn)

DM=(192.168.59.222:5237)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,390评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,821评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,632评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,170评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,033评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,098评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,511评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,204评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,479评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,572评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,341评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,893评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,171评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,486评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,676评论 2 335

推荐阅读更多精彩内容