达梦单机升级主备集群

前言

  • 背景:一套达梦单机环境,要升级成主备集群

  • 目的:尽可能减少服务不可用时间

环境参数(以下值可根据实际情况批量替换)

ip1: 192.168.0.1
ip2: 192.168.0.2
用户组id :12349
安装目录: /home/dmdba/dmdbms
数据目录: /opt/dmdata/data
初始数据库名:DAMENG
归档目录: /opt/dmdata/arch
服务名: DmServicedw

ps:集群的心跳ip可与业务id一致,若不一致,需要单独调整

一、备机服务器环境参数调整

关闭numa、透明大页、selinux等参数,调整内核参数

二、备机安装数据库软件

参考单机部署安装

三、初始化数据库(备库)

在数据库安装目录下的bin目录执行,不用指定额外参数,下面会替换掉ini文件

	./dminit path=/opt/dmdata/data

四、准备备库数据

将主库前一晚备份 scp 到备机,备库提前 RESTORE

scp root@192.168.0.1:/opt/dmdata/bak/备份文件名 /opt/dmdata/bak
./dmrman
RMAN> RESTORE DATABASE '/opt/dmdata/data/DAMENG/dm.ini' FROM BACKUPSET '/opt/dmdata/bak/备份文件名';

五、配置主备库(配置文件提前配好)

在数据目录下操作

5.1 配置主库 dm.ini

拷贝主库dm.ini文件,在bak文件进行更改,停服后可直接切换

cp dm.ini dm_bak.ini
vi dm_bak.ini
INSTANCE_NAME = DW1
MAL_INI = 1
ARCH_INI = 1
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2

5.2 配置主库归档配置文件 dmarch.ini

vi dmarch.ini
ARCH_WAIT_APPLY = 0  #0:高性能 1:事务一致
[ARCHIVE_REALTIME1]  
ARCH_TYPE     = REALTIME  
ARCH_DEST     = DW2   
[ARCHIVE_LOCAL1]
ARCH_TYPE     = LOCAL 
ARCH_DEST     = /opt/dmdata/arch    
ARCH_FILE_SIZE    = 2048
ARCH_SPACE_LIMIT  = 102400

5.3 配置主库dmmal.ini

vi dmmal.ini
MAL_CHECK_INTERVAL   =  10  
MAL_CONN_FAIL_INTERVAL  = 10  
MAL_TEMP_PATH   = /opt/dmdata/data/malpath/  
MAL_BUF_SIZE               = 512  
MAL_SYS_BUF_SIZE           = 2048  
MAL_COMPRESS_LEVEL         = 0  
[MAL_INST1]
 MAL_INST_NAME = DW1
  MAL_HOST     = 192.168.0.1  #心跳IP
  MAL_PORT     = 5336
  MAL_INST_HOST   = 192.168.0.1  #业务IP
  MAL_INST_PORT   = 5236 
  MAL_DW_PORT   = 5436
  MAL_INST_DW_PORT = 5536
[MAL_INST2]
  MAL_INST_NAME = DW2
  MAL_HOST      =   192.168.0.2
  MAL_PORT          = 5336
  MAL_INST_HOST         =  192.168.0.2 
  MAL_INST_PORT         = 5236 
  MAL_DW_PORT  = 5436
  MAL_INST_DW_PORT = 5536

5.4配置主库守护进程配置文件 dmwatcher.ini

vi dmwatcher.ini
[GRP_DW] 
DW_TYPE    = GLOBAL  #全局守护类型
DW_MODE    = AUTO #自动切换模式
DW_ERROR_TIME     = 20  #远程守护进程故障认定时间
INST_RECOVER_TIME  = 60         #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME   = 20  #本地实例故障认定时间
INST_OGUID         = 453331 #守护系统唯一 OGUID 值
INST_INI           = /opt/dmdata/data/DAMENG/dm.ini #dm.ini 配置文件路径
INST_AUTO_RESTART  = 1   #打开实例的自动启动功能
INST_STARTUP_CMD   = /home/dmdba/dmdbms/bin/dmserver #修改服务名方式启动

5.5备机拷贝主库dm.ini

直接用主库dm.ini文件对备库进行替换

scp root@192.168.0.1:/opt/dmdata/data/DAMENG/dm.ini /opt/dmdata/data/DAMENG/

修改dm.ini文件中实例名

INSTANCE_NAME = DW2

5.6备机配置 dmarch.ini

vi dmarch.ini
ARCH_WAIT_APPLY = 0
[ARCHIVE_REALTIME1]  
ARCH_TYPE     = REALTIME  
ARCH_DEST     = DW1   
[ARCHIVE_LOCAL1]
ARCH_TYPE     = LOCAL 
ARCH_DEST     = /dmdata/dmarch    
ARCH_FILE_SIZE    = 2048
ARCH_SPACE_LIMIT  = 102400

5.6备机拷贝主库的dmmal.ini

所有涉及scp文件拷贝的操作结束后记得关注拷贝过来的文件的所有者权限,下同

scp root@192.168.0.1:/opt/dmdata/data/DAMENG/dmmal.ini /opt/dmdata/data/DAMENG/

5.7 备机拷贝主库的dmwatcher.ini

scp root@192.168.0.1:/opt/dmdata/data/DAMENG/dmwatcher.ini /opt/dmdata/data/DAMENG/

5.8 配置主备库的监视器

非确认监视器

vi dmmonitor_mumal.ini
MON_DW_Confirm    = 0   #非确认监视器模式
MON_LOG_PATH    = /home/dmdba/dmdbms/log  #监视器日志文件存放路径
MON_LOG_INTERVAL  = 60 #每隔 60 s 定时记录系统信息到日志文件
MON_LOG_FILE_SIZE   = 200 #每个日志文件最大 32 MB
MON_LOG_SPACE_LIMIT  = 1024  #不限定日志文件总占用空间
[GRP_DW] 
 MON_INST_OGUID    = 453331 #组 GRP_DW 的唯一 OGUID 值
#以下配置为监视器到组 GRP_DW 的守护进程的连接信息,以“IP:PORT”的形式配置
#IP 对应 dmmal.ini 中的 MAL_HOST,PORT 对应 dmmal.ini 中的 MAL_DW_PORT
 MON_DW_IP     = 192.168.0.1:5436
 MON_DW_IP     = 192.168.0.2:5436

确认监视器

vi dmmonitor.ini
MON_DW_Confirm    = 1   #确认监视器模式
MON_LOG_PATH    = /home/dmdba/dmdbms/log  #监视器日志文件存放路径
MON_LOG_INTERVAL  = 60 #每隔 60 s 定时记录系统信息到日志文件
MON_LOG_FILE_SIZE   = 200 #每个日志文件最大 32 MB
MON_LOG_SPACE_LIMIT  = 1024  #不限定日志文件总占用空间
[GRP_DW] 
 MON_INST_OGUID    = 453331 #组 GRP_DW 的唯一 OGUID 值
#以下配置为监视器到组 GRP_DW 的守护进程的连接信息,以“IP:PORT”的形式配置
#IP 对应 dmmal.ini 中的 MAL_HOST,PORT 对应 dmmal.ini 中的 MAL_DW_PORT
 MON_DW_IP     = 192.168.0.1:5436
 MON_DW_IP     = 192.168.0.2:5436

六、停服

6.1 主库停机+切换配置文件

./DmServicedw stop	
mv dm.ini dm2.ini
mv dm_bak.ini dm.ini

6.2 拷贝主库上的归档,除最新归档,指定还原时间点

scp root@192.168.0.1:/opt/dmdata/arch /opt/dmdata/arch
RMAN>RECOVER DATABASE '/opt/dmdata/data/DAMENG/dm.ini' WITH ARCHIVEDIR '/opt/dmdata/arch'
RMAN>RECOVER DATABASE  '/opt/dmdata/data/DAMENG/dm.ini' UPDATE DB_MAGIC

七、注册修改服务

cd /home/dmdba/dmdbms/script/root

注册主库守护dmwatcher服务

./dm_service_installer.sh -t dmwatcher -p dw -watcher_ini /opt/dmdata/data/DAMENG/dmwatcher.ini	

修改主库实例dmserver服务

START_MODE=mount

注册备库守护dmwatcher服务

./dm_service_installer.sh -t dmwatcher -p dw -watcher_ini /opt/dmdata/data/DAMENG/dmwatcher.ini	

注册备库实例dmserver服务

./dm_service_installer.sh -t dmserver -p dw -dm_ini /opt/dmdata/data/DAMENG/dm.ini -m mount

注册监视器服务

./dm_service_installer.sh -t dmmonitor -p Monitor -monitor_ini /opt/dmdata/data/DAMENG/dmmonitor.ini

八、重启生效搭建主备集群

主库(实例服务启动为mount状态)

./DmServicedw start
disql
>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
>sp_set_oguid(453331);
>alter database primary;
>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

备库(实例服务启动为mount状态)

./DmServicedw start
disql
>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
>sp_set_oguid(453331);
>alter database standby;
>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

主备库分别启动守护进程服务

./DmWatcherServicedw start

启动监视器

./DmMonitorServiceMonitor start
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值