DM8-主备集群搭建

目录

1.数据规划

2.集群搭建

3.监视器中状态含义


1.数据规划

 

主库

备库

实例名

GRP_SP_1

GRP_SP_2

实例路径

/home/dmdba/dmdbms/data

/home/dmdba/dmdbms/data

端口号

5236

5236

2.集群搭建

        1).实例创建

          示例

./dminit path=/home/dmdba/dmdbms/data db_name=GRP_SP_1 instance_name=GRP_SP_1 PORT_NUM=5236

        2).启停数据库

使用前台启动的方式,启停主备库一次启停数据库       

          示例:

 ./dmserver /home/dmdba/dmdbms/data/GRP_SP_1/dm.ini

        3).数据库备份、还原、恢复-使用DMRMAN工具进行数据库备份与还原恢复

                   a. 主库进行数据库备份,将备份集发送到备库

 ./dmrman ctlstmt="backup database '/home/dmdba/dmdbms/data/GRP_SP_1/dm.ini' to bk_sp backupset'/home/dmdba/dmdbms/bk_sp'"

                   b.备库从主库收到备份集进行数据库还原恢复操作

备库数据库还原:	./dmrman ctlstmt=" restore database '/home/dmdba/dmdbms/data/GRP_SP_2/dm.ini' from backupset '/home/dmdba/dmdbms/bk_sp'"
备库数据库恢复:	./dmrman ctlstmt=" recover database '/home/dmdba/dmdbms/data/GRP_SP_2/dm.ini' from backupset '/home/dmdba/dmdbms/bk_sp'"  
备库魔数更新:	 ./dmrman ctlstmt=" recover database '/home/dmdba/dmdbms/data/GRP_SP_2/dm.ini' update db_magic"  

        4).配置文件编辑
              a.主库配置

                    i.修改dm.ini文件

修改参数如下:

 

参数

ALTER_MODE_STATUS

0

ENABLE_OFFLINE_TS

2

MAL_INI

1

ARCH_INI

1

                    ii.配置MAL系统

创建dmmal.ini文件,内容如下(主备库的MAL配置文件完全相同,不用修改

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

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



[MAL_INST1]

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

 MAL_HOST = 192.168.75.131(机器ip) #MAL 系统监听 TCP 连接的 IP 地址

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

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

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

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

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



[MAL_INST2]

 MAL_INST_NAME = GRP_SP_2

 MAL_HOST = 192.168.75.133(机器ip)

 MAL_PORT = 61142

 MAL_INST_HOST = 192.168.1.132

 MAL_INST_PORT = 5236

 MAL_DW_PORT = 52142

 MAL_INST_DW_PORT = 33142

                     iii.归档配置

配置本地归档和实时归档,创建dmarch.ini文件,内容如下:


[CHIVE_REALTIME]

ARCH_TYPE = REALTIME#实时归档类型  

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

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL #本地归档类型

ARCH_DEST = /home/dmdba/dmdbms/arch_file #本地归档文件存放路径

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

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

                   iv.配置守护进程

创建dmwatcher.ini文件,内容如下:

[GRP_SP]

DW_TYPE = GLOBAL #全局守护类型

DW_MODE = AUTO #自动切换模式

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

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

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

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

INST_INI = /home/dmdba/dmdbms/data/GRP_SP_1/dm.ini #dm.ini 配置文件路径

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

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

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

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

         b.备库配置  
               i.修改dm.ini文件:

参数

ALTER_MODE_STATUS

0

ENABLE_OFFLINE_TS

2

MAL_INI

1

ARCH_INI

1

               ii.配置MAL系统,创建dmmal.ini文件,内容如下:

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

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



[MAL_INST1]

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

 MAL_HOST =192.168.75.131(机器ip)  #MAL 系统监听 TCP 连接的 IP 地址

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

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

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

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

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



[MAL_INST2]

 MAL_INST_NAME = GRP_SP_2

 MAL_HOST = 192.168.75.132(机器ip)

 MAL_PORT = 61142

 MAL_INST_HOST = 192.168.1.132

 MAL_INST_PORT = 5236

 MAL_DW_PORT = 52142

 MAL_INST_DW_PORT = 33142

            iii.归档配置

配置本地归档和实时归档,创建dmarch.ini文件,内容如下:


[CHIVE_REALTIME]

ARCH_TYPE = REALTIME#实时归档类型  

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

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL #本地归档类型

ARCH_DEST = /home/dmdba/dmdbms/arch_file #本地归档文件存放路径

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

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

                   iv.配置守护进程

创建dmwatcher.ini文件,内容如下:

[GRP_SP]

DW_TYPE = GLOBAL #全局守护类型

DW_MODE = AUTO #自动切换模式

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

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

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

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

INST_INI = /home/dmdba/dmdbms/data/GRP_SP_2/dm.ini #dm.ini 配置文件路径

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

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

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

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

                 v.配置监视器
配置监视器,创建dmmonitor.ini文件,内容如下:

MON_DW_CONFIRM = 1 #确认监视器模式

MON_LOG_PATH = /home/dmdba/dmdbms/mon_log #监视器日志文件存放路径

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

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

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

[GRP_SP]

MON_INST_OGUID = 453332 #组 GRP1 的唯一 OGUID 值 #以下配置为监视器到组 GRP1 的守护进程的连接信息,以―IP:PORT‖的形式配置

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

MON_DW_IP = 192.168.75.131:52141

MON_DW_IP = 192.168.75.133:52142

5)启动主备库,并进行参数修改操作

启动主备库(mount方式),修改OGUID和数据库模式(主库-primary、备库-standby)

          a.修改OGUID

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

sp_set_oguid(453332);

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

        b.修改数据库模式

主库:alter database primary;
备库:alter database standby;

    注:启动实例的时候,为了防止实例重构回滚表空间,生成REDO日志,一定要以Mount方式启动。

6)  启动守护进程

主库	./dmwatcher /home/dmdba/dmdbms/data/GRP_SP_1/dmwatcher.ini
备库	./dmwatcher /home/dmdba/dmdbms/data/GRP_SP_2/dmwatcher.ini

7)  启动监视器-观察主备库状态

./dmmonitor /home/dmdba/dmdbms/data/GRP_SP_2/dmmonitor.ini

3.监视器中状态含义

 守护进程状态(WSTATUS)

  • STARTUP

守护进程启动状态,需要根据远程守护进程发送的状态信息,结合本地数据库的初始模式、状态和数据同步情况。确定本地数据库的启动模式和状态之后,进入open状态。

  • UNIFY EP

各数据库实例状态已经一致时,守护进程在START或者Open状态下通知实例执行相关操作,都进入UNIFY EP状态执行。

  • Open

守护进程正常工作,监控数据库,并定时发送数据库状态信息,接受其他守护进程发送的信息,接受监视器发送的用户请求。

注:主备集群搭建配置成功之后,守护进程的状态切换为:

STARTUP-->UNIFY EP-->STARTUP-->Open

集群是否搭建成功判断

         正常情况下,在库中所有ok节点启动到mount状态后,守护进程会根据本地和远程守护进程发送的实例状态信息,进行一系列条件判断。如果满足条件,守护进程会通知本地所有ok节点执行ALTER DATABASE OPEN FORCE语句,将实例启动到OPEN状态,守护进程也会切换为OPEN状态,这一过程不需要人工干预的。

你可能感兴趣的:(DM数据库,达梦数据库)