达梦8数据守护安装与配置

1.基础环境

三台主机都安装了数据库软件。

用途操作系统主机名ip地址数据库名实例名PORT_NUMMAL_INST_DW_PORTMAL_PORTMAL_DW_PORT
主节点kylin10kylin10192.168.15.11DMMENGDMSERVER015236451015510165101
备节点kylin10kylin10_2192.168.15.11DMMENGDMSERVER025236451025510265102
监视主机kylin10kylin10_3192.168.15.11DMMENG

2.数据备份与还原

1.备份主节点数据库实例并将备份文件拷贝到备节点:

先停止主节点数据库,再执行数据库备份。不然会报 [-137]:服务器正在运行或者存在其他进程正在操作同一个库 的错误。

[dmdba@lylin bin]$ ./DmServiceDMSERVER stop
[dmdba@lylin bin]./dmrman CTLSTMT="BACKUP DATABASE '/dm8/data/DAMENG/dm.ini' FULL TO BACKUP_FILE1 BACKUPSET '/dm8/backup/BACKUP_FILE_01'" 
[dmdba@lylin bin]$ scp -r /dm8/backup 192.168.15.12:/dm8

2.在备节点执行数据库恢复
先停止备节点数据库,再执行恢复

[dmdba@lylin bin]$ ./DmServiceDMSERVER stop
./dmrman CTLSTMT="RESTORE DATABASE '/dm8/data/DAMENG/dm.ini' FROM BACKUPSET '/dm8/backup/BACKUP_FILE_01'" 
./dmrman CTLSTMT="RECOVER DATABASE '/dm8/data/DAMENG/dm.ini' FROM BACKUPSET '/dm8/backup/BACKUP_FILE_01'" 
./dmrman CTLSTMT="RECOVER DATABASE '/dm8/data/DAMENG/dm.ini' UPDATE DB_MAGIC"

3.修改数据库各种文件

修改前记得先备份文件

修改dm.ini参数文件

主库:

INSTANCE_NAME = DMSERVER01 ##增加01
PORT_NUM = 5236  ###默认
DW_INACTIVE_INTERVAL = 60 ###默认
ALTER_MODE_STATUS = 0 ###默认0改1
ENABLE_OFFLINE_TS = 2  ###默认1改2
MAL_INI = 1   ###默认0改1
ARCH_INI = 1 ###默认0改1
RLOG_SEND_APPLY_MON = 64 ##默认

备库:
将dm.ini文件拷贝至备节点并及那个INSTANCE_NAME修改为DMSERVER02

scp -r /dm8/data/DAMENG/dm.ini 192.168.15.12:/dm8/data/DAMENG/
INSTANCE_NAME = DMSERVER02

配置dmmal.ini参数文件(主备一致)

主节点创建dmmal.ini文件,并新增下面参数。

MAL_CHECK_INTERVAL = 60
MAL_CONN_FAIL_INTERVAL = 60
[MAL_INST1] 
MAL_INST_NAME = DMSERVER01 
MAL_HOST = 192.168.15.11
MAL_PORT = 55101
MAL_INST_HOST = 192.168.15.11
MAL_INST_PORT = 5236
MAL_DW_PORT = 65101
MAL_INST_DW_PORT = 45101
[MAL_INST2] 
MAL_INST_NAME = DMSERVER02
MAL_HOST = 192.168.15.12
MAL_PORT = 55102 
MAL_INST_HOST = 192.168.15.12
MAL_INST_PORT = 5236 
MAL_DW_PORT = 65102
MAL_INST_DW_PORT = 45102

将 dmmal.ini拷贝至备节点:

scp -r dmmal.ini 192.168.15.12:/dm8/data/DAMENG

一般按照实际情况只需要主要修改下面参数就行了,其他端口保持默认即可。

[MAL_INST1]
MAL_INST_NAME = DMSERVER01
MAL_HOST = 192.168.15.11
MAL_INST_HOST = 192.168.15.11
MAL_INST_PORT = 5236
[MAL_INST2]
MAL_INST_NAME = DMSERVER02
MAL_HOST = 192.168.15.12
MAL_INST_HOST = 192.168.15.12
MAL_INST_PORT = 5236

配置dmarch.ini

ARCH_DEST参数指向对端实例名,其他参数保持默认即可:
主库:

[ARCHIVE_REALTIME] 
ARCH_TYPE = REALTIME
ARCH_DEST = DMSERVER02
[ARCHIVE_LOCAL1] 
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/arch 
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0

备库:

[ARCHIVE_REALTIME] 
ARCH_TYPE = REALTIME
ARCH_DEST = DMSERVER01
[ARCHIVE_LOCAL1] 
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/arch 
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0

配置dmwatcher.ini文件(主备一致)

[GRP1]
DW_TYPE = GLOBAL
DW_MODE = MANUAL
DW_ERROR_TIME = 60
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 60
INST_OGUID = 453331
INST_INI = /dm8/data/DAMENG/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /dm8/bin/dmserver
RLOG_APPLY_THRESHOLD = 0

4.启动主备库至mount状态,并修改主备库模式

主库

启动主库至mount模式

[dmdba@lylin bin]$ ./dmserver /dm8/data/DAMENG/dm.ini mount

将主节点模式改为主库:

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1); 
SQL>sp_set_oguid(453331); 
SQL>alter database primary;
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

备库

[dmdba@lylin bin]$ ./dmserver /dm8/data/DAMENG/dm.ini mount

将备节点模式改为备库:

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1); 
SQL>sp_set_oguid(453331); 
SQL>alter database standby; 
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

5.启动主备库守护进程

启动守护进程数据库会自动从mount拉起到open状态。
主备都执行
./dmwatcher /dm8/data/DAMENG/dmwatcher.ini

6.验证主备同步

主机:

create table test.dwtest(a int,b nvarchar(20));

备机:

select * from test.dwtest;

主机:

insert into test.dwtest values(1,'sdfs');
commit;

备机:

select * from test.dwtest;

7.配置监视主机

vim /dm8/dmmonitor.ini
MON_DW_CONFIRM = 1
MON_LOG_PATH = /dm8/data/log
MON_LOG_INTERVAL = 60
MON_LOG_FILE_SIZE = 32
MON_LOG_SPACE_LIMIT = 0
[GRP1]
MON_INST_OGUID = 453331
MON_DW_IP = 192.168.15.11:65101
MON_DW_IP = 192.168.15.12:65102
[dmdba@lylin10_3 bin]$ vim /dm8/dmmonitor.ini
[dmdba@lylin10_3 bin]$ ./dmmonitor /dm8/dmmonitor.ini

help 帮助
show 显示各种状态信息
login 登录监视器
switchover 进行主备切换

8.注册数据库服务

生产环境一般会将数据库实例、数据守护进程和监视器注册为服务
数据库实例一般在创建的时候就已经注册服务,而且因为配置集群直接用服务方式启动也只会启动到mount状态,所以这里不用重复做了。

./dm_service_installer.sh -t dmserver -p DMSERVER -m mount -dm_ini /dm8/data/DAMENG/dm.ini

注册数据守护服务并开启自启动

./dm_service_installer.sh -t dmwatcher -p DMDW -watcher_ini /dm8/data/DAMENG/dmwatcher.ini
systemctl start DmWatcherServiceDMDW
systemctl enable DmWatcherServiceDMDW

注册监视服务并开启自启动

./dm_service_installer.sh -t dmmonitor -p DMMONITOR -monitor_ini /dm8/data/DAMENG/dmmonitor.ini
systemctl start DmMonitorServiceDMMONITOR.service
systemctl enable DmMonitorServiceDMMONITOR.service

8.常用维护

关闭数据守护:

实时主备集群关闭有顺序要求:
1、关闭监视器
2、关闭备库守护进程
3、关闭主库守护进程
4、关闭主库实例
5、关闭备库实例

9.报错汇总

9.1启动守护进程后主备数据库始终处于mount状态,到不了open状态。

报错日志:
2023-12-15 23:51:05.105 [ERROR] dmwatcher P0000003843 T0000000000000003848 Can’t connect to DM server on ‘192.168.15.12’ port(65102) errno(113)

检查备机端口
[dmdba@lylin10_2 bin]$ lsof -i:65102
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
dmwatcher 3534 dmdba 6u IPv6 50243 0t0 TCP *:65102 (LISTEN)

主机telnet备机端口不通

检查备机防火墙备机防火墙是关闭的。
感觉是虚拟机问题,中午笔记本无线网卡用不了强制重启过。恢复快照最后正常了。

9.2其他错误

如果参数文件配置错误,启动数据库和数据守护的时候会提示你在那行出现错误。仔细检查一下修改后一般能正常启动。
目前配置数据守护暂未发现其他报错。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值