达梦数据库实时主备配置及日常维护

目录

概述

环境准备阶段

软件版本

建立dmdba用户

修改文件打开最大数

关闭防火墙及SELinux

挂载镜像

建立安装目录

数据库安装

配置环境变量

达梦数据守护集群配置过程

主备端口配置

初始化主库实例(dmdba用户)

初始化备库实例(dmdba用户)

主库备份

备库还原

主库配置(10.10.10.221)

修改配置dm.ini文件

dmmal.ini 配置

dmarch.ini配置

dmwatcher.ini配置

以mount方式启动主库

备库配置(10.10.10.222)

Dm.ini配置

dmmal.ini 配置

dmarch.ini配置

dmwatcher.ini配置

以 Mount 方式启动备库

主备库守护进程启动(10.10.10.221、222)

监视器配置(10.10.10.223)

主备库切换

注册服务

主备库的启动关闭顺序

监视器常用命令

show命令

list 命令

show global info 命令

tip命令

choose switchover 命令

监视器其它常用命令介绍

监视器HELP


  1. 概述

        实时主备系统由主库、实时备库、守护进程和监视器组成。通过部署实时主备系统,可以及时检测并处理各种硬件故障、数据库实例异常,确保持续提供数据库服务。

      DM 数据守护(DM Data Watch)的实现原理非常简单:将主库(生产库)产生的 Redo日志传输到备库,备库接收并重新应用 Redo 日志,从而实现备库与主库的数据同步。DM数据守护的核心思想是监控数据库状态,获取主、备库数据同步情况,为 Redo 日志传输与重演过程中出现的各种异常情况提供一系列的解决方案。

    DM 数据守护系统主要由主库、备库、Redo 日志、Redo 日志传输、 Redo 日志重演、守护进程(dmwatcher)、监视器(dmmonitor)组成。

                   DM 数据守护系统结构官方参考图

  1. 环境准备阶段

    1. 软件版本

操作系统: Linux version 4.19.90-24.4.v2101.ky10.x86_64

数据库版本:dm8

    1. 建立dmdba用户

创建用户所在的组,命令如下

groupadd dinstall

创建用户,命令如下

useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba

修改用户密码,命令如下

   passwd dmdba

    1. 修改文件打开最大数

重启服务器后永久生效

使用 vi 编辑器打开 /etc/security/limits.conf 文件,命令如下:

vi /etc/security/limits.conf

在最后添加四条语句,需添加的语句如下:

dmdba hard nofile 65536

dmdba soft nofile 65536

dmdba hard stack 32768

dmdba soft stack 16384

切换到 dmdba 用户,查看是否生效,命令如下:

su - dmdba

ulimit -a

设置参数临时生效

可使用 dmdba 用户执行如下命令,使设置临时生效:

ulimit -n 65536

    1. 关闭防火墙及SELinux

systemctl status firewalld.service  #查看防火墙状态

systemctl stop firewalld.service  #临时关闭防火墙

systemctl disable firewalld.service  #开机不自启防火墙

关闭SELinux,查看是否开启了SELinux,如果显示为Enforcing,需要改为Disabled,再重启系统使配置生效。

getenforce

vi /etc/selinux/config

进入文件后修改 SELINUX = disabled

保存退出文件

reboot

    1. 挂载镜像

切换到 root 用户,将 DM 数据库的 iso 安装包保存在任意位置,例如 /opt 目录下,执行如下命令挂载镜像:

mount -o loop /soft/dmdata_setup_rh7_64_ent_8.1.1.45_20191121.iso /mnt

    1. 建立安装目录

虚机增加磁盘并挂载到/dmdata

#mount /dev/vdb1 /dmdata

在根目录下创建 /dmdata 文件夹,用来安装 DM 数据库。命令如下:

mkdir /dmdata

修改安装目录权限

将新建的安装路径目录权限的用户修改为 dmdba,用户组修改为 dinstall。命令如下:

chown dmdba:dinstall -R /dmdata/

给安装路径下的文件设置 755 权限。命令如下:

chmod -R 755 /dmdata

注意:

使用 root 用户建立文件夹,待 dmdba 用户建立完成后需将文件所有者更改为 dmdba 用户,否则无法安装到该目录下。

    1. 数据库安装

DM 数据库在 Linux 环境下支持命令行安装和图形化安装

1.命令行安装

切换至 dmdba 用户下,在 /mnt 目录下使用命令行安装数据库程序,依次执行以下命令安装 DM 数据库。

su - dmdba

cd /soft/

/home/dmdba/dmdbms/bin/DMInstall.bin –i

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

安装语言:

[1]: 简体中文

[2]: English

请选择安装语言 [1]:1

解压安装程序..........

欢迎使用达梦数据库安装程序

是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n

是否设置时区? (Y/y:是 N/n:否) [Y/y]:

设置时区:

[ 1]: (GTM-12:00) 日界线西

[ 2]: (GTM-11:00) 萨摩亚群岛

[ 3]: (GTM-10:00) 夏威夷

[ 4]: (GTM-09:00) 阿拉斯加

[ 5]: (GTM-08:00) 太平洋时间(美国和加拿大)

[ 6]: (GTM-07:00) 亚利桑那

[ 7]: (GTM-06:00) 中部时间(美国和加拿大)

[ 8]: (GTM-05:00) 东部部时间(美国和加拿大)

[ 9]: (GTM-04:00) 大西洋时间(美国和加拿大)

[10]: (GTM-03:00) 巴西利亚

[11]: (GTM-02:00) 中大西洋

[12]: (GTM-01:00) 亚速尔群岛

[13]: (GTM) 格林威治标准时间

[14]: (GTM+01:00) 萨拉热窝

[15]: (GTM+02:00) 开罗

[16]: (GTM+03:00) 莫斯科

[17]: (GTM+04:00) 阿布扎比

[18]: (GTM+05:00) 伊斯兰堡

[19]: (GTM+06:00) 达卡

[20]: (GTM+07:00) 曼谷,河内

[21]: (GTM+08:00) 中国标准时间

[22]: (GTM+09:00) 首尔

[23]: (GTM+10:00) 关岛

[24]: (GTM+11:00) 所罗门群岛

[25]: (GTM+12:00) 斐济

[26]: (GTM+13:00) 努库阿勒法

[27]: (GTM+14:00) 基里巴斯

请选择时区 [21]:

安装类型:

1 典型安装

2 服务器

3 客户端

4 自定义

请选择安装类型的数字序号 [1 典型安装]:1

所需空间: 2037M

请选择安装目录 [/home/dmdba/dmdbms]:

目录(/home/dmdba/dmdbms)下不为空,请选择其他目录。

请选择安装目录 [/home/dmdba/dmdbms]:

可用空间: 35G

是否确认安装路径(/home/dmdba/dmdbms)? (Y/y:是 N/n:否)  [Y/y]:y

安装前小结

安装位置: /home/dmdba/dmdbms

所需空间: 2037M

可用空间: 35G

版本信息:

有效日期:

安装类型: 典型安装

是否确认安装? (Y/y:是 N/n:否):y

配置文件/etc/dm_svc.conf已存在,是否进行替换? (Y/y,N/n) [Y/y]:y 

2024-01-22 08:58:46

[INFO] 安装达梦数据库...

2024-01-22 08:58:47

[INFO] 安装 基础 模块...

2024-01-22 08:58:49

[INFO] 安装 服务器 模块...

2024-01-22 08:58:50

[INFO] 安装 客户端 模块...

2024-01-22 08:58:52

[INFO] 安装 驱动 模块...

2024-01-22 08:58:53

[INFO] 安装 手册 模块...

2024-01-22 08:58:53

[INFO] 安装 服务 模块...

2024-01-22 08:58:55

[INFO] 移动日志文件。

2024-01-22 08:58:56

[INFO] 安装达梦数据库完成。

请以root系统用户执行命令:

/home/dmdba/dmdbms/script/root/root_installer.sh

安装结束

安装完成后配置环境变量

    1. 配置环境变量

export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool

切换至 dmdba 用户下,.bash_profile把上面记录加入profile文件中,使环境变量生效。

su - dmdba

source .bash_profile

  1. 达梦数据守护集群配置过程

    1. 主备端口配置

说明

配置名

主机

备机

数据库名称

DM

DMPROD

DMPROD

实例名称

MAL_INST_NAME

DMPROD1

DMPROD2

业务IP

MAL_INST_HOST

10.224.60.221

10.224.60.222

MAL主机名

MAL_HOST

10.10.10.221

10.10.10.222

实例端口

MAL_INST_PORT

15236

MAL端口

MAL_PORT

15336

MAL进程守护端口

MAL_INST_DW_PORT

15536

实例监听守护进程

MAL_DW_PORT

5536

OGUID

66666

66666

安装目录

/home/dmdba

实例目录

/dmdata/data

守护组

GRP1

监视器IP

dmmonitor

    1. 初始化主库实例(dmdba用户)

su - dmdba

/home/dmdba/dmdbms/bin/dminit path=/dmdata/data db_name=DMPROD  instance_name= DMPROD1  port_num=15236  SYSDBA_PWD=Dameng123

注册数据库服务(root用户)

/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /dmdata/data/DMPROD/dm.ini -p DMPROD1

--创建测试用户和表空间及表数据

cd /home/dmdba/dmdbms/bin

连接数据库:

 /home/dmdba/dmdbms/bin/disql sysdba/Dameng123:15236

创建表测试表空间

create tablespace test datafile 'TEST01.DBF' size 128 autoextend on next 2 maxsize 10240;

create user test identified by Dameng123 default tablespace test;

--grant dba to test;

--conn test/Dameng123:15236

创建表

CREATE TABLE test1(

id bigint identity,

name varchar(20),

birth date,

math int,

chinaese int

)STORAGE ( ON TEST );

--插入一些基础数据

insert into test1

select

dbms_random.string('1',trunc(dbms_random.value(3,8))),

current_date()-365*20+dbms_random.value(-365,365),

trunc(dbms_random.value(30,100)),

trunc(dbms_random.value(30,100))

from dual

connect by level <=500;

commit;

    1. 初始化备库实例(dmdba用户)

/home/dmdba/dmdbms/bin/dminit path=/dmdata/data db_name=DMPROD  instance_name=DMPROD2  port_num=15236 SYSDBA_PWD=Dameng123

注册数据库服务(root用户)

/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /dmdata/data/DMPROD/dm.ini -p DMPROD2

    1. 主库备份

关闭主库

systemctl stop DmServiceDMPROD1.service

备份主库

/home/dmdba/dmdbms/bin/dmrman

BACKUP DATABASE '/dmdata/data/DMPROD/dm.ini' FULL  BACKUPSET '/dmdata/bak/'

拷贝备份文件到备库

scp /dmdata/bak/*   10.10.10.222:/dmdata/bak/

    1. 备库还原

关闭备库

systemctl stop DmServiceDMPROD2.service

还原备库

/home/dmdba/dmdbms/bin/dmrman

RMAN>RESTORE DATABASE '/dmdata/data/DMPROD/dm.ini' FROM BACKUPSET '/dmdata/bak';

RMAN>RECOVER DATABASE '/dmdata/data/DMPROD/dm.ini' FROM BACKUPSET '/dmdata/bak';

RMAN>RECOVER DATABASE '/dmdata/data/DMPROD/dm.ini' UPDATE DB_MAGIC;

    1. 主库配置(10.10.10.221)

      1. 修改配置dm.ini文件

修改vi dm.ini

INSTANCE_NAME = DMPROD1  #实例名

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

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

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

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

MAL_INI = 1                 #打开 MAL 系统

ARCH_INI = 1                #打开归档配置

查看配置修改配置:

grep –E ‘ARCH_INI| MAL_INI| ENABLE_OFFLINE_TS| ALTER_MODE_STATUS| PORT_NUM| INSTANCE_NAME’ dm.ini

      1. dmmal.ini 配置

配置 MAL 系统,各主备库的 dmmal.ini 配置必须完全一致

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

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

[MAL_INST1]                 #主库MAL配置

MAL_INST_NAME = DMPROD1 #实例名,和 dm.ini 中的 INSTANCE_NAME 一致

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

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

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

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

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

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

[MAL_INST2]                 #备库MAL配置

MAL_INST_NAME = DMPROD2  #实例名,和 dm.ini 中的 INSTANCE_NAME 一致

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

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

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

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

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

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

      1. dmarch.ini配置

配置本地归档和实时归档dmarch.ini

[ARCHIVE_REALTIME]

ARCH_TYPE = REALTIME    #实时归档类型

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

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL       #本地归档类型

ARCH_DEST = /dmdata/arch   #本地归档文件存放路径

ARCH_FILE_SIZE = 128    #单位 Mb,本地单个归档文件最大值

ARCH_SPACE_LIMIT = 0    #单位 Mb,0 表示无限制,范围 1024~2147483647M

      1. dmwatcher.ini配置

创建dmwatcher.ini配置守护进程,配置为全局守护类型,使用自动切换模式。

[GRPPROD]

DW_TYPE = GLOBAL            #全局守护类型

DW_MODE = AUTO              #自动切换模式

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

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

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

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

INST_INI = /dmdata/data/DMPROD/dm.ini    #dm.ini 配置文件路径

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

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

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

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

      1. 以mount方式启动主库

         一定要以 Mount 方式启动数据库实例,否则系统启动时会重构回滚表空间,生成 Redo 日志;并且,启动后应用可能连接到数据库实例进行操作,破坏主备库的数据一致性。数据守护配置结束后,守护进程会自动Open 数据库。

/home/dmdba/dmdbms/bin/dmserver /dmdata/data/DMPROD/dm.ini mount

修改数据守护唯一标识码OGUID

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

SQL>sp_set_oguid(88888);

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

修改为PRIMARY模式

SQL>alter database primary;

    1. 备库配置(10.10.10.222)

      1. Dm.ini配置

修改vi dm.ini

INSTANCE_NAME = DMPROD2 #实例名,

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

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

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

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

MAL_INI = 1     #打开 MAL 系统

ARCH_INI = 1    #打开归档配置

      1. dmmal.ini 配置

配置 MAL 系统,各主备库的 dmmal.ini 配置必须完全一致

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

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

[MAL_INST1]                 #主库MAL配置

MAL_INST_NAME = DMPROD1 #实例名,和 dm.ini 中的 INSTANCE_NAME 一致

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

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

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

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

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

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

[MAL_INST2]                 #备库MAL配置

MAL_INST_NAME = DMPROD2  #实例名,和 dm.ini 中的 INSTANCE_NAME 一致

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

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

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

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

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

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

      1. dmarch.ini配置

配置本地归档和实时归档 dmarch.ini

[ARCHIVE_REALTIME]

ARCH_TYPE = REALTIME    #实时归档类型

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

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL       #本地归档类型

ARCH_DEST = /dmdata/arch   #本地归档文件存放路径

ARCH_FILE_SIZE = 128    #单位 Mb,本地单个归档文件最大值

ARCH_SPACE_LIMIT = 0    #单位 Mb,0 表示无限制,范围 1024~2147483647M

      1. dmwatcher.ini配置

配置守护进程dmwatcher.ini,配置为全局守护类型,使用自动切换模式。

[GRP1]

DW_TYPE = GLOBAL            #全局守护类型

DW_MODE = AUTO              #自动切换模式

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

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

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

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

INST_INI = /dmdata/data/DMPROD/dm.ini    #dm.ini 配置文件路径

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

INST_STARTUP_CMD = /dmdata/bin/dmserver #命令行方式启动

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

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

      1. 以 Mount 方式启动备库

         一定要以 Mount 方式启动数据库实例,否则系统启动时会重构回滚表空间,生成 Redo 日志;并且,启动后应用可能连接到数据库实例进行操作,破坏主备库的数据一致性。数据守护配置结束后,守护进程会自动Open 数据库。

/home/dmdba/dmdbms/bin/dmserver /dmdata/data/DMPROD/dm.ini mount

修改数据守护唯一标识码OGUID

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

SQL>sp_set_oguid(88888);

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

修改为STANDBY模式

SQL>alter database standby;

      1. 主备库守护进程启动(10.10.10.221、222)

启动主库守护进程

/home/dmdba/dmdbms/bin/dmwatcher /dmdata/data/DMPROD/dmwatcher.ini

启动备库守护进程

/home/dmdba/dmdbms/bin/dmwatcher /dmdata/data/DMPROD/dmwatcher.ini

    1. 监视器配置(10.10.10.223

         由于主库和实时备库的守护进程配置为自动切换模式,因此这里选择配置确认监视器。 和普通监视器相比,确认监视器除了相同的命令支持外,在主库发生故障时,能够自动通知 实时备库接管为新的主库,具有自动故障处理的功能。

    修改 dmmonitor.ini配置确认监视器,其中 MON_DW_IP 中的 IP 和 PORT 和 dmmal.ini 中的 MAL_HOST 和 MAL_DW_PORT 配置项保持一致。

MON_DW_CONFIRM = 1           #确认监视器模式

MON_LOG_PATH = /dmdata/data/log  #监视器日志文件存放路径

MON_LOG_INTERVAL = 60       #每隔 60s 定时记录系统信息到日志文件

MON_LOG_FILE_SIZE = 32     #每个日志文件最大 32M

MON_LOG_SPACE_LIMIT = 0     #不限定日志文件总占用空间

[GRP1]

MON_INST_OGUID = 88888     #组 GRP1 的唯一 OGUID 值

#IP 对应 dmmal.ini 中的 MAL_HOST,PORT 对应 dmmal.ini 中的 MAL_DW_PORT

MON_DW_IP = 10.10.10.221:5536    

MON_DW_IP = 10.10.10.222:5536

启动监视器

/home/dmdba/dmdbms/bin/dmmonitor /home/dmdba/dmmonitor1.ini

show 查看主备运行状态

主库状态OPEN,模式PRIMARY

备库状态OPEN,模式STANDBY

    1. 校验主备数据同步

主库建表、写数据

create table test.a(a int);

insert t_ test.a values(1);

insert t_ test.a values(2);

commit;

查询备库同步数据,成功。

    1. 主备库切换

    主备库正常运行过程中,可以通过监视器的 Switchover 命令,一键完成主备库角色转换。主备库切换功能可以确保在软、硬件升级,或系统维护时,提供不间断的数据库服务。

login登录监视器

 

switchover进行主备切换

切换完毕show查看切换状态

可以看到主库切换为DMPROD2,备库切换为DMPROD1。

重新校验新主备的同步

主库DMPROD2建表写数据

create table test.test02(id int,name varchar(20));

insert test.test02 values(1,'test1');

insert test.test02 values(2,'test2');

insert test.test02 values(3,'test3');

commit;

查询切换后的备库

数据同步成功!

    1. 注册服务

生产环境中可将实例服务、数据守护、监视服务注册到操作系统中。

切换目录 cd  /dmdata/script/root

注册数据守护(主备操作 root用户)

/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -p DMWATCHER -watcher_ini  /dmdata/data/DMPROD/dmwatcher.ini

主机:

备机

注册监视服务

/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmmonitor -p DMMONITOR -monitor_ini /home/dmdba/dmmonitor1.ini

    1. 主备库的启动关闭顺序

停止集群:

方法一 (dmdba用户操作)

关闭确认监视器

/home/dmdba/dmdbms/bin/DmMonitorServiceDMMONITOR stop

关闭备库守护进程:

/home/dmdba/dmdbms/bin/DmWatcherServiceDMPROD2 stop

关闭主库守护进程:

/home/dmdba/dmdbms/bin/DmWatcherServiceDMPROD1 stop

关闭备库数据库服务:

/home/dmdba/dmdbms/bin/DmServiceDMPROD2 stop

关闭主库数据库服务:

/home/dmdba/dmdbms/bin/DmServiceDMPROD1 stop

(方法二root用户操作)

关闭确认监视器

Systemctl stop DmMonitorServiceDMMONITOR

关闭备库守护进程:

Systemctl stop DmWatcherServiceDMPROD2

关闭主库守护进程:

Systemctl stop DmWatcherServiceDMPROD1

关闭备库数据库服务:

Systemctl stop DmServiceDMPROD2

关闭主库数据库服务:

Systemctl stop DmServiceDMPROD1

           

启动集群:

方法一 (dmdba用户操作)

启动主库数据库服务:

/home/dmdba/dmdbms/bin/DmServiceDMPROD1 start

启动备库数据库服务:

/home/dmdba/dmdbms/bin/DmServiceDMPROD2 start

启动主库守护进程:

/home/dmdba/dmdbms/bin/DmWatcherServiceDMPROD1 start

启动备库守护进程:

/home/dmdba/dmdbms/bin/DmWatcherServiceDMPROD2 start

启动确认监视器:

/home/dmdba/dmdbms/bin/DmMonitorServiceDMMONITOR start

启动非确认监视器查看状态:

Dmmonitor2.ini

/home/dmdba/dmdbms/bin/dmmonitor /home/dmdba/dmmonitor2.ini

MON_DW_CONFIRM修改成0 就可以查看了

(方法二root用户操作)

启动主库数据库服务:

Systemctl start DmServiceDMPROD1

启动备库数据库服务:

 Systemctl start DmServiceDMPROD2

启动主库守护进程:

systemctl stop DmWatcherServiceDMPROD

启动备库守护进程:

Systemctl stop DmWatcherServiceDMPROD

启动确认监视器:

Systemctl start DmMonitorServiceDMMONITOR

启动非确认监视器查看状态:

/home/dmdba/dmdbms/bin/dmmonitor  /home/dmdba/dmmonitor2.ini

  1. 监视器常用命令

    1. show命令

在监视服务器启动监视器,命令如下:

通过show命令查看主备状态:

下面将show 命令输出内容的字段含义进行介绍:
 


组全局字段信息
GROUP:守护进程组名。
OGUID:守护进程组配置的唯一 OGUID 值。
MON_CONFIRM:监视器是否配置为确认模式,值为 TRUE 或 FALSE。当前是非确认模式就是不能接管故障进行自动切换。
MODE:当前配置的切换模式,AUTO 表示故障自动切换模式,MANUAL 表示故障手动切换模式。
MPP_FLAG:当前是否为 MPP 主备环境,值为 TRUE 或 FALSE。因当前环境是主备架构所以此项值为FALSE。
库全局字段信息
守护进程和监视器是以库为单位进行管理的,以下信息属于库的全局信息,部分守护进程相关的信息直接取自控制守护进程。

 


显示这个集群有两个数据库,对应字段含义如下:
DW_IP:守护进程的 IP 地址,取自控制守护进程。可以理解为集群内部IP地址。
MAL_DW_PORT:守护进程的监听端口,取自控制守护进程。
INST_IP 是数据库对外服务IP地址。
INST_PORT 是数据库对外服务端口。

简单总结上面信息是数据库(主、备)的内网和外网IP地址和对应的监听端口。
守护进程信息
下面以0.10.10.222 守护进程输出字段进行介绍:

WTIME:守护进程本地的当前时间,取自控制守护进程。
WTYPE:守护进程配置的守护类型,包括 LOCAL/GLOBAL 两种类型,取自控制守护进程。
WCTLSTAT:守护进程控制文件状态,包括 Valid/Split/Invalid 三种状态,对于配置为本地守护类型的实例,由于不需要有守护进程控制文件,该字段值为 NULL。
WSTATUS:守护进程状态,取自控制守护进程。当前守护进程状态值是OPEN
INAME:库名称,取自控制节点实例名。当前值是GRP1_RT_02,和上面集群规划实例名字匹配。
N_EP:库的节点个数。当前值是1、
N_OK:此字段对 DMDSC 集群内的节点有效,表示 DMDSC 集群内 OK 节点个数。
ISTATUS:数据库状态,包括 Startup/After Redo/Mount/Open/Suspend/,当前数据库状态是OPEN
IMODE:数据库模式,包括 Unknown/Normal/Primary/Standby 这四种模式,当前是主库状态,由控制守护进程综合当前所有节点实例的模式得出。
RTYPE:数据库配置的归档类型,只统计 REALTIME/TIMELY/SYNC 这三种归档类型,如果这三种归档都没有配置,则显示为 NONE。
RSTAT:此字段对备库有效,表示主库到备库的归档状态,可能为 Valid/Invalid/Async_send/Unknown,其中 Async_send 为同步备库特有的归档状态。
对于除同步备库之外的本地守护类型备库,此字段为 NULL,对于主库本身,此字段值为 Valid。该字段值要从备库对应的主库实例上取,
如果当前没有活动主库或者备库无法确认对应的主库,则该字段显示为 Unknown。

数据库实例信息

EP INFO:

INST_IP        INST_PORT  INST_OK   INAME            ISTATUS     IMODE     DSC_SEQNO  DSC_CTL_NODE RTYPE     RSTAT       FSEQ            FLSN            CSEQ            CLSN            DW_STAT_FLAG         

10.224.60.222  15236      OK        DMPROD2          OPEN        STANDBY   0          0            REALTIME  VALID       4893            43347           4893            43347           NONE                 

INST_PORT:节点实例的监听端口。
INST_OK:控制守护进程认定的节点实例状态,OK ERROR
INAME:节点实例名称。
ISTATUS:节点实例状态,包括 Startup/After Redo/Mount/Open/Suspend/Shutdown 这几种状态。
IMODE:节点实例模式,包括 Normal/Primary/Standby 这三种模式。
DSC_SEQNO:此字段对单节点可忽略,只对 DMDSC 集群内的节点有意义,表示节点在 DMDSC 集群内的序号。
DSC_CTL_NODE:此字段对单节点可忽略,只对 DMDSC 集群内的节点有意义,表示 DMDSC 集群内控制节点的序号。
RTYPE:节点实例配置的归档类型,只统计 REALTIME/TIMELY/SYNC 这三种归档类型,如果这三种归档都没有配置,则显示为 NONE
RSTAT:此字段对备库控制节点有效,表示主库到备库控制节点的归档状态,可能为 Valid/Invalid/Async_send/Unknown,
其中 Async_send 为同步备库特有的归档状态。对于除同步备库之外的本地守护类型备库,此字段为 NULL,对于主库本身,此字段值为 Valid。
该字段值要从备库对应的主库实例上取,如果当前没有活动主库或者备库无法确认对应的主库,则该字段显示为 Unknown。
FSEQ:节点实例已经写入联机日志的RLOG_PKG包序号。
FLSN:节点实例的文件LSN,指已经写入联机日志文件的最大LSN值。
CSEQ:节点实例的系统当前PKG_SEQNO,指当前数据库最新产生的RLOG_PKG包的序号。
CLSN:节点实例的系统当前LSN,指当前数据库最新产生的LSN值。
DW_STAT_FLAG:节点当前的执行标记。

综上介绍,查看集群状态应该状态关注的字段有INST_OK,ISTATUS,IMODE三个字段。
INST_OK值都为ok为正常;
ISTATUS值都为open为正常;
IMODE值为Primary/Standby两种模式。


 

    1. list 命令

查看守护进程的配置信息。

    1. show global info 命令

查看所有实例组的信息。

    1. tip命令

查看集群当前运行状态。

    1. choose switchover 命令

主机正常:查看可切换为主机的实例列表。

    1. 监视器其它常用命令介绍

命令

含义

Login

登录监视器

Logout

退出登录

    1. 监视器HELP

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值