集群配置
主库 | 备库 | |
实例名 | DBSERVER | DMSERVER |
实例端口 | 5236 | 5236 |
内网ip | 10.80.230.161 | 10.111.2.4 |
外网ip | 20.55.67.148 | 114.55.172.150 |
MAL 端口 | 5336 | 5336 |
MAL 守护进程端口 | 5436 | 5436 |
守护进程端口 | 5536 | 5536 |
OGUID | 45331 | 45331 |
守护组(守护组名需一样) | GRP1 | GRP1 |
数据库脱机备份
为保持数据库数据完整和一致性,采取脱机备份方式。备份sql如下:
./dmrman CTLSTMT="BACKUP DATABASE '/dmdata/data/DAMENG/dm.ini' FULL TO BACKUP_FILE1
BACKUPSET '/dmdata/arch/BACKUP_FILE_01'"
备份存放路径为/dmdata/arch,备份文件命名为BACKUP_FILE_01。
备份文件传输
将主库备份文件通过scp命令传输到备库,命令如下
cd /dmdata/arch/
scp -r BACKUP_FILE_01 dmdba@10.111.2.4:/dmdata/arch
-r为层层递归,传输到备库/dmdata/arch目录下
备份还原
备库利用dmrman工具进行脱机还原,还原sql如下
RESTORE DATABASE'/dmdata/data/DM/dm.ini' FROM BACKUPSET '/dmdata/arch/BACKUP_FILE_01'
RECOVER DATABASE'/dmdata/data/DM/dm.ini' UPDATE DB_MAGIC
配置主库
1、dm.ini文件
手动修改dm.ini参数,需修改参数如下:
PORT_NUM = 5236 #数据库实例监听端口
DW_INACTIVE_INTERVAL = 60 #接收守护进程消息超时时间
ALTER_MODE_STATUS = 0 #不允许手工方式修改实例模式/状态/OGUID
ENABLE_OFFLINE_TS = 2 #不允许备库 OFFLINE 表空间
MAL_INI=1
RLOG_SEND_APPLY_MON=64
2、dmarch.ini文件
dmarch.ini文件配置如下
3、dmmal.ini文件
dmmal.ini配置如下
4、dmwatcher.ini文件
dmwatcher配置如下
5、设置OGUID
以mount方式启动主库(一定是mount方式,否则会产生日志,破坏主备数据一致性),SQL如下:
./dmserver /dmdata/data/DAMENG/dm.ini mount
启动命令行Disql工具,登陆主库配置OGUID值
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
sp_set_oguid(45331);
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
将数据库修改为Primary模式
alter database primary;
配置备库
1、dm.ini文件
手动修改dm.ini参数,需修改参数如下:
PORT_NUM = 5236 #数据库实例监听端口
DW_INACTIVE_INTERVAL = 60 #接收守护进程消息超时时间
ALTER_MODE_STATUS = 0 #不允许手工方式修改实例模式/状态/OGUID
ENABLE_OFFLINE_TS = 2 #不允许备库 OFFLINE 表空间
MAL_INI=1
RLOG_SEND_APPLY_MON=64
2、dmarch.ini文件
3、dmmal.ini文件
4、dmwatcher.ini文件
5、设置OGUID
以mount方式启动主库(一定是mount方式,否则会产生日志,破坏主备数据一致性),SQL如下:
./dmserver /dmdata/data/DAMENG/dm.ini mount
启动命令行Disql工具,登陆主库配置OGUID值
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
sp_set_oguid(45331);
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
将数据库修改为Primary模式
alter database primary;
配置监视器
监视器在生产环境下,一般放置于主备之外的服务器。但本次实验,监视器放置于备库服务器。
1、dmmonitor.ini文件
2、dmmonitor_manual.ini 文件
3、注册服务
进入到/home/dmdba/dmdbms/script/root/目录下,注册实例服务、守护进程服务和监视器服务。
主库注册实例和守护进程服务
./dm_service_installer.sh -t dmserver -p DAMENG -dm_ini /home/dmdba/dmdbms/data/DAMENG/dm.ini -m mount
./dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /home/dmdba/dmdbms/data/DAMENG/dmwatcher.ini
备库注册实例,守护进程和监视器服务
./dm_service_installer.sh -t dmserver -p DM -dm_ini /home/dmdba/dmdbms/data/DM/dm.ini -m mount
./dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /home/dmdba/dmdbms/data/DM/dmwatcher.ini
./dm_service_installer.sh -t dmmonitor -p Monitor -monitor_ini /home/dmdba/dmdbms/bin/dmmonitor.ini
4、启动主备数据库
启动流程:先启动主库实例服务,在起主库守护进程,再起备库实例服务,在起备库守护进程,再起监视器
主库:
./DmServiceDAMENG start
./DmWatcherServiceWatcher start
备库:
./DmServiceDM start
./DmWatcherServiceWatcher start
./dmmonitor dmmonitor_manual.ini
主库建表写入测试数据
备库查询