一、首先,在dm.ini目录下新建以下配置文件
1.dmmal.ini 配置(主备配置完全相同):
MAL_CHECK_INTERVAL = 5 #MAL 链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 5 #判定 MAL 链路断开的时间
[MAL_INST1]
MAL_INST_NAME = DMSERVER01 #实例名,和 dm.ini 中的 INSTANCE_NAME 一致
MAL_HOST = 172.23.69.11 #MAL 系统监听 TCP 连接的 IP 地址
MAL_PORT = 15236 #MAL 系统监听 TCP 连接的端口
MAL_INST_HOST = 172.23.69.11 #实例的对外服务 IP 地址
MAL_INST_PORT = 5236 # 实例的对外服务端口,和 dm.ini 中的PORT_NUM 一致
MAL_DW_PORT = 15238 #实例本地的守护进程监听 TCP 连接的端口
MAL_INST_DW_PORT = 5238 #实例监听守护进程 TCP 连接的端口
[MAL_INST2]
MAL_INST_NAME = DMSERVER02
MAL_HOST = 172.23.69.12
MAL_PORT = 15236
MAL_INST_HOST = 172.23.69.12
MAL_INST_PORT = 5236
MAL_DW_PORT = 15238
MAL_INST_DW_PORT = 5238
2.dmarch.ini (主备的归档配置不同,其他相同)
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME#实时归档类型
ARCH_DEST = DMSERVER02 #实时归档目标实例名(主机和备份配置不同,配置向备机同步)
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL #本地归档类型
ARCH_DEST = /dmdata/DAMENG/arch #本地归档文件存放路径
ARCH_FILE_SIZE = 128 #单位 Mb,本地单个归档文件最大值
ARCH_SPACE_LIMIT = 0 #单位 Mb,0 表示无限制,范围 1024~4294967294M
3.dmwatcher.ini (主备完全相同)
[GRP1]
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = AUTO #自动切换模式
DW_ERROR_TIME = 10 #远程守护进程故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 10 #本地实例故障认定时间
INST_OGUID = 8888 #守护系统唯一 OGUID 值(这里要和数据库的OGUID 一致,OGUID 是写入控制文件的)
INST_INI = /dmdata/DAMENGdm.ini #dm.ini 配置文件路径
INST_AUTO_RESTART = 1 #打开实例的自动启动功能
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin #命令行方式启动
RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阀值,默认关闭
RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阈值,默认关闭
二、备份还原,修改参数
1.主机环境准备好,配置好 dm.ini、dmmal.ini、dmarch.ini、dmwadm.ini 中需要开启归档和 MAL:
ALTER_MODE_STATUS = 0 #不允许手工方式修改实例模式/状态/OGUID
ENABLE_OFFLINE_TS = 2 #不允许备库 OFFLINE 表空间
MAL_INI = 1 #打开 MAL 系统
ARCH_INI = 1 #打开归档
2.备份数据库,在计划作为备库的机器上还原;还原数据库记得更新数据库魔数。
还原成功后配置 dm.ini、并将主机的 dmmal.ini、dmarch.ini、dmwatcher.ini 拷贝的备机
(dmarch.ini 归档 dest_name 需修改)。
--脱机备份
./dmrman CTLSTMT="BACKUP DATABASE '/dmdata/DAMENG/dm.ini' FULL TO BACKUP_FILE1 BACKUPSET '/dmdata/BACKUP_FILE_01'"
--脱机还原
DmAPService start
dmrman CTLSTMT="RESTORE DATABASE '/dmdata/DAMENG/dm.ini' FROM BACKUPSET '/dmdata/BACKUP_FILE_01'"
dmrman CTLSTMT="RECOVER DATABASE '/dmdata/DAMENG/dm.ini' UPDATE DB_MAGIC"
recover database '/dmdata/data/DAMENG/dm.ini' FROM backupset '/dmbak/20230523';(因为脱机备份没有产生任何 REDO 日志,所以这一步此处省略)
--如果联机备份需要这样备份,恢复时多加一步
SQL> BACKUP DATABASE BACKUPSET '/dm/data/BACKUP_FILE_01';
3.启动主机到 mount 状态
#dmserver dm.ini mount 或者DmServiceDAMENG start mount
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
alter database primary;
sp_set_oguid(8888);
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
4.启动备机到 mount 状态
#dmserver dm.ini mount 或者DmServiceDAMENG start mount
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
sp_set_oguid(8888);
alter database standby;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
5.先启动主机监视器,再启动备机监视器。
dmwatcher /dmdata/DAMENG/dmwatcher.ini
监视器启动成功后,集群环境正常的话,主备机会自动打开。
三、配置监视器
1.dmmonitor.ini
MON_DW_CONFIRM = 1
MON_LOG_PATH = /dmdata/log
MON_LOG_INTERVAL = 60
MON_LOG_FILE_SIZE = 32
MON_LOG_SPACE_LIMIT = 0
[GRP1]
MON_INST_OGUID = 8888
MON_DW_IP = 172.23.69.11:15238
MON_DW_IP = 172.23.69.12:15238
2.启动监视器
dmmonitor /dmdata/DAMENG/dmmonitor.ini
Show 命令查看集群状态
login 登录
choose switchover 查看选择可切换为 PRIMARY 库的备库列表
switchover 切换主库
3.注册服务
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -p DM01 -watcher_ini /dmdata/DAMENG/dmwatcher.ini
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -p DM02 -watcher_ini /dmdata/DAMENG/dmwatcher.ini
./dm_service_installer.sh -t dmmonitor -p GRP1 -monitor_ini /dmdata/data/mon/dmmonitor.ini
一般建议确认监视器放在排除主库和备库的其他服务器上
文章
阅读量
获赞