JOE_达梦dm数据守护配置

配置方案:

只配置主库和最多 8 个实时备库

 

1 、环境说明:

1.1 主库 ip 地址:

10.211.55.3

10.0.0.3

 

备库 ip 地址:

10.211.55.11

10.211.55.4

 

1.2  主备库端口规划:

 

INSTANCE_NAME         PORT_NUM        DW_PORT         MAL_HOST         MAL_PORT         MAL_DW_PORT

LJW                         5236                 33141                10.0.0.3         61141                52141

LJW_STD                 5236                 33142                10.0.0.4        61142                52142

 

1.3  环境准备

在搭建数据守护系统前,应注意数据守护系统中各实例使用的达梦 DM 服务器版本应一致,同时还应注意各实例所在主机的操作系统位数、大小端模式、时区及时间设置都应一致,以免系统在运行时出现意想不到的错误。

 

配置数据守护之前,必须先同步实例数据,确保两者保持完全一致 ; 主库可以是新初始化的数据,也可以是正在生产、使用中的数据。

 

2 、配置实时主备

2.1  数据库初始化阶段

主库通过 disql 进行联机备份:

SQL> BACKUP DATABASE FULL BACKUPSET '/home/dmdba/backup/BACKUP_FILE_01';

 

把主库备份片传输到备库备份目录 /home/dmdba/backup

 

备库 dm 初始化数据库:

dminit path=/home/dmdba/dmdbms/data DB_NAME=ljw_std INSTANCE_NAME=ljw_std

备库恢复:

cd /home/dmdba/dmdbms/bin

./dmrman CTLSTMT="RESTORE DATABASE '/home/dmdba/dmdbms/data/ljw_std/dm.ini' FROM BACKUPSET '/home/dmdba/backup/BACKUP_FILE_01'"

./dmrman CTLSTMT="RECOVER DATABASE '/home/dmdba/dmdbms/data/ljw_std/dm.ini' FROM BACKUPSET '/home/dmdba/backup/BACKUP_FILE_01'"

 

2.3  配置主库 LJW

2.3.1  配置 dm.ini

主库 dm.ini 参数配置修改如下:

INSTANCE_NAME = LJW

PORT_NUM = 5236

DW_PORT = 33141

DW_ERROR_TIME = 60

ALTER_MODE_STATUS = 0

ENABLE_OFFLINE_TS = 2

MAL_INI = 1

ARCH_INI = 1

HA_INST_CHECK_FLAG = 1

RLOG_SEND_APPLY_MON = 64

 

 

2.3.2  配置  dmmal.ini

配置  MAL  系统,各主备库的  dmmal.ini  配置必须完全一致, MAL_HOST  使用内部网络  IP , MAL_PORT  与  dm.ini  中PORT_NUM  使用不同的端口值, MAL_DW_PORT  是各实例对应的守护进程之间,以及守护进程和监视器之间的通信端口,配置如下 :

 

MAL_CHECK_INTERVAL = 5

MAL_CONN_FAIL_INTERVAL = 5

[MAL_INST1]

MAL_INST_NAME = ljw

MAL_HOST = 10.0.0.3

MAL_PORT = 61141

MAL_INST_HOST = 10.211.55.3

MAL_INST_PORT = 5236

MAL_DW_PORT = 52141

[MAL_INST2]

MAL_INST_NAME = ljw

MAL_HOST = 10.0.0.4

MAL_PORT = 61142

MAL_INST_HOST = 10.211.55.11

MAL_INST_PORT = 5236

MAL_DW_PORT = 52142

 

2.3.3  配置  dmarch.ini

修改  dmarch.ini ,配置本地归档和实时归档。

除了本地归档外,其他归档配置项中的  ARCH_DEST  表示实例是  Primary  模式时,需要同步归档数据的目标实例名。

当前实例  LJW  是主库,需要向  LJW_STD( 实时备库 ) 同步数据,因此实时归档的  ARCH_DEST  配置为  ljw 。

 

[ARCHIVE_LOCAL1]

        ARCH_TYPE                       = LOCAL        

        ARCH_DEST                       = /home/dmdba/arch        

        ARCH_FILE_SIZE          = 64        

        ARCH_SPACE_LIMIT                = 0        

 

[ARCHIVE_REALTIME]

ARCH_TYPE = REALTIME

ARCH_DEST = ljw_std

 

2.3.4  配置  dmwatcher.ini

修改  dmwatcher.ini  配置守护进程,配置为全局守护类型,这里配置使用手动切换模式。

 

[GRP1]

DW_TYPE = GLOBAL

DW_MODE = MANUAL

DW_ERROR_TIME = 10

INST_RECOVER_TIME = 60

INST_ERROR_TIME = 10

INST_OGUID = 453331

INST_INI = /home/dmdba/dmdbms/data/ljw/dm.ini

INST_AUTO_RESTART = 1

INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver

RLOG_SEND_THRESHOLD = 0

RLOG_APPLY_THRESHOLD = 0

 

2.3.5  配置  dmwatcher.ctl (备库必须从主库拷贝过去)

 

同一个守护进程组,必须使用同一份  dmwatcher.ctl 。因此,只需要使用  dmctlcvt  工具生成一份 dmwatcher.ctl 文件,然后分别拷贝到各个数据库目录下即可。

在配置完成  dmwatcher.ini  后,使用  dmctlcvt  工具生成  dmwatcher.ctl:

dmctlcvt TYPE=3 SRC=/home/dmdba/dmdbms/data/ljw/dmwatcher.ini DEST=/home/dmdba/dmdbms/data/ljw

 

拷贝生成的  dmwatcher.ctl  文件到数据文件目录 /home/dmdba/dmdbms/data/ljw/ 。

 

2.3.6  启动主库

以  mount  方式启动主库

nohup dmserver /home/dmdba/dmdbms/data/ljw/dm.ini mount &

 

备注:数据守护配置结束后,守护进程会自动  Open  数据库。

 

2.3.7  设置  OGUID

启动命令行工具  DIsql ,登录主库设置  OGUID  值。

SQL>sp_set_oguid(453331);

 

备注:系统通过  OGUID  值确定一个守护进程组,由用户保证  OGUID  值的唯一性,并确保数据守护系统中,数据库、守护进程和监视器配置相同的  OGUID  值。

 

2.3.8  修改数据库模式

启动命令行工具  DIsql ,登录主库修改数据库为  primary  模式

SQL>alter database primary;

 

2.4  配置备库 LJW_STD

2.4.1  配置  dm.ini

dm.ini  参数修改如下 :

INSTANCE_NAME = LJW_STD

PORT_NUM = 5236

DW_PORT = 33142

DW_ERROR_TIME = 60

ALTER_MODE_STATUS = 0

ENABLE_OFFLINE_TS = 2

MAL_INI = 1

ARCH_INI = 1

HA_INST_CHECK_FLAG = 1

RLOG_SEND_APPLY_MON = 64

 

2.4.2  配置  dmmal.ini

配置  MAL  系统,各主备库的  dmmal.ini  配置必须完全一致, MAL_HOST  使用内部网络 IP , MAL_PORT 与 dm.ini 中PORT_NUM 使用不同的端口值, MAL_DW_PORT  是各实例对应的守护进程之间,以及守护进程和监视器之间的通信端口,配置如下 :

 

MAL_CHECK_INTERVAL = 5

MAL_CONN_FAIL_INTERVAL = 5

[MAL_INST1]

MAL_INST_NAME = ljw

MAL_HOST = 10.0.0.3

MAL_PORT = 61141

MAL_INST_HOST = 10.211.55.3

MAL_INST_PORT = 5236

MAL_DW_PORT = 52141

[MAL_INST2]

MAL_INST_NAME = ljw_std

MAL_HOST = 10.0.0.4

MAL_PORT = 61142

MAL_INST_HOST = 10.211.55.11

MAL_INST_PORT = 5236

MAL_DW_PORT = 52142

 

2.4.3  配置  dmarch.ini

修改  dmarch.ini ,配置本地归档和实时归档。

除了本地归档外,其他归档配置项中的  ARCH_DEST  表示实例是  Primary  模式时,需要同步归档数据的目标实例名。

当前实例  LJW_STD  是备库,守护系统配置完成后,可能在各种故障处理中,  LJW_STD  切换为新的主库,正常情况下,LJW  会切换为新的备库,需要向 LJW  同步数据,因此实时归档的  ARCH_DEST  配置为  LJW 。

 

[ARCHIVE_LOCAL1]

        ARCH_TYPE                       = LOCAL        

        ARCH_DEST                       = /home/dmdba/arch        

        ARCH_FILE_SIZE          = 64        

        ARCH_SPACE_LIMIT                = 0        

 

[ARCHIVE_REALTIME]

ARCH_TYPE = REALTIME

ARCH_DEST = ljw

 

2.4.4  配置  dmwatcher.ini

修改  dmwatcher.ini  配置守护进程,配置为全局守护类型,这里配置使用手动切换模式。

[GRP1]

DW_TYPE = GLOBAL

DW_MODE = MANUAL

DW_ERROR_TIME = 10

INST_RECOVER_TIME = 60

INST_ERROR_TIME = 10

INST_OGUID = 453331

INST_INI = /home/dmdba/dmdbms/data/ljw_std/dm.ini

INST_AUTO_RESTART = 1

INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver

RLOG_SEND_THRESHOLD = 0

RLOG_APPLY_THRESHOLD = 0

 

2.4.5  配置  dmwatcher.ctl

同一个守护进程组,必须使用同一份  dmwatcher.ctl  文件,这里直接拷贝配置主库时已经生成的  dmwatcher.ctl  到本地数据文件目录 /home/dmdba/dmdbms/data/ljw_std/ 。

 

2.4.6  启动备库

以  mount  方式启动备库

nohup dmserver /home/dmdba/dmdbms/data/ljw_std/dm.ini mount &

 

备注:数据守护配置结束后,守护进程会自动  Open  数据库。

 

2.4.7  设置  OGUID

启动命令行工具  DIsql ,登录备库设置  OGUID  值为  453331

SQL>sp_set_oguid(453331);

 

2.4.8  修改数据库模式

启动命令行工具  DIsql ,登录备库修改数据库为  standby  模式。

如果当前数据库不是  standby  模式,需要先修改  dm.ini  中  ALTER_MODE_STATUS  值 为  1 ,允许修改数据库模式,修改standby  模式成功后再改回为  0 。如果是  standby  模式, 请忽略下面的第  1  步和第  3  步。

 

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1); ---- 第  1  步 

SQL>alter database standby; ---- 第  2  步

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0); ---- 第  3  步

 

2.5  配置监视器

配置确认监视器。和普通监视器相比,确认监视器除了相同的命令支持外,在主库发生故障时,能够自动通知 实时备库接管为新的主库,具有自动故障处理的功能。

 

备注:故障自动切换模式下,必须配置确认监视器,且确认监视器最多只能配置一 个。

 

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

 

MON_DW_CONFIRM = 1

MON_LOG_PATH = /home/dmdba/dmdbms/data/log

MON_LOG_INTERVAL = 60

MON_LOG_FILE_SIZE = 32

MON_LOG_SPACE_LIMIT = 0

[GRP1]

MON_INST_OGUID = 453331

MON_DW_IP = 10.0.0.3:52141

MON_DW_IP = 10.0.0.4:52142

 

2.6  启动守护进程

主库启动守护进程:

nohup dmwatcher /home/dmdba/dmdbms/data/ljw/dmwatcher.ini &

备库启动守护进程:

nohup dmwatcher /home/dmdba/dmdbms/data/ljw_std/dmwatcher.ini &

 

守护进程启动后,进入 Startup 状态,此时实例都处于 Mount 状态。守护进程开始广播自身和其监控实例的状态信息,结合自身信息和远程守护进程的广播信息,守护进程将 本地实例  Open ,并切换为  Open  状态。

 

2.7  启动监视器

 

cd /home/dmdba/dmdbms/data

dmmonitor dmmonitor.ini

 

监视器提供一系列命令,支持当前守护系统状态查看以及故障处理,可输入  help  命令, 查看各种命令说明使用,结合实际情况选择使用。

 

 

至此一主一备的实时数据守护系统搭建完毕,在搭建步骤和各项配置都正确的情况下,在监视器上执行  show  命令,可以监控到所有实例都处于  Open  状态,所有守护进程也都处于  Open  状态,即为正常运行状态。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值