1、硬件配置
使用exsi虚拟3台云主机
主机名 主机地址 CPU 内存 磁盘 用途
操作系统软件:Kylin-Server-V10-SP3-2403-Release-20240426-x86_64.iso
数据库软件:dm8_20231109_x86_kylin10_64.iso
2、环境准备
保障每一台机器都安装操作系统、数据库软件
①操作系统分区
/boot 2G
/swap 4G
/ --剩余所有空间
②数据库软件
systemctl stop firewalld
systemctl disable firewalld
vi /etc/selinux/config
groupdel dinstall
useradd -g dinstall dmdba
dmdba passwd
mkdir -p dm8
chown -R dmdba:dinstall /dm8
mount -o remount,size=4G /tmp --扩展系统临时空间
mount -o loop /home/soft/dm8_20231109_x86_kylin10_64.iso /mnt
cp /mnt/DMInstall.bin /home/soft/
chown -R dmdba:dinstall /home/soft/DMInstall.bin
Su - dmdba
Vi ~/.bash_profile
export DM_HOME=/dm8
export PATH=$DM_HOME/bin:$PATH
/home/soft/DMInstall.bin -I
③主库安装数据库软件
/dm/tool/dbca.sh
命令初始化/dm/bin/dminit path=/dm/data/ db_name=DM01 INSTANCE_NAME=DM01 PORT_NUM=32121 log_size=256 RLOG_POSTFIX_NAME=redo SYSDBA_PWD=Dameng123 SYSAUDITOR_PWD=Dameng123
dmrman备份
Backup database '/dm/data/DM01/dm.ini' backupset '/dm/backup/rman_fulldb';
打开归档模式
/dm/bin/disql sysdba/Dmang123
Alter database mount;
alter database add archivelog 'type=local,dest=/dm/data/arch,file_size=64,space_limit=1024';
Alter database archivelog;
Alter database open;
3、dmwacher搭建
①主机目录规划
②端口规划
③主库备份并还原到备库
root用户执行:systemctl stop DmServiceDM01.service
dmdba用户执行:/dm/bin/dmrman
backup database '/dm/data/DM01/dm.ini' full backupset '/dm/backup/rman_fullbak';
scp -r /dm/backup/rman_fullbak root@10.0.0.123:/dm8/backup
chown -R dmdba:dinstall /dm/backup/rman_fullbak
/dm8/bin/dmrman
restore database to '/dm8/data/DM02/dm.ini' from backupset '/dm8/backup'; #在目标库上还原
restore database to '/dm8/data/DM02' from backupset '/dm8/backup'; #还原至指定目录
recover database '/dm8/data/DM02/dm.ini' update db_magic;
④主机配置
INSTANCE_NAME = DM01
PORT_NUM = 32121
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2
MAL_INI = 1
ARCH_INI = 1
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME
ARCH_DEST = DM02
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
MAL_CHECK_INTERVAL = 5
MAL_CONN_FAIL_INTERVAL = 5
[MAL_INST1]
MAL_INST_NAME = DM01
MAL_HOST = 10.0.0.121
MAL_PORT = 32141
MAL_INST_HOST = 10.0.0.121
MAL_INST_PORT = 32121
MAL_DW_PORT = 32151
MAL_INST_DW_PORT = 32131
[MAL_INST2]
MAL_INST_NAME = DM02
MAL_HOST = 10.0.0.123
MAL_PORT = 32142
MAL_INST_HOST = 10.0.0.123
MAL_INST_PORT = 32122
MAL_DW_PORT = 32152
MAL_INST_DW_PORT = 32132
[GROUP_A]
DW_TYPE = GLOBAL
DW_MODE = AUTO
DW_ERROR_TIME = 10
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 10
INST_OGUID = 20250802
INST_INI = /dm/data/DM01/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /dm/bin/dmserver
⑤备机配置
INSTANCE_NAME = DM02
PORT_NUM = 32122
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2
MAL_INI = 1
ARCH_INI = 1
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME
ARCH_DEST = DM01
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
MAL_CHECK_INTERVAL = 5
MAL_CONN_FAIL_INTERVAL = 5
[MAL_INST1]
MAL_INST_NAME = DM01
MAL_HOST = 10.0.0.121
MAL_PORT = 32141
MAL_INST_HOST = 10.0.0.121
MAL_INST_PORT = 32121
MAL_DW_PORT = 32151
MAL_INST_DW_PORT = 32131
[MAL_INST2]
MAL_INST_NAME = DM02
MAL_HOST = 10.0.0.123
MAL_PORT = 32142
MAL_INST_HOST = 10.0.0.123
MAL_INST_PORT = 32122
MAL_DW_PORT = 32152
MAL_INST_DW_PORT = 32132
[GROUP_A]
DW_TYPE = GLOBAL
DW_MODE = AUTO
DW_ERROR_TIME = 10
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 10
INST_OGUID = 20250802
INST_INI = /dm8/data/DM02/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /dm8/bin/dmserver
⑥集群启动
/dm/bin/dmserver /dm/data/DM01/dm.ini mount
/dm/bin/disql SYSDBA/SYSDBA@localhost:32121
SP_SET_OGUID(20250802);
ALTER DATABASE PRIMARY;
/dm8/bin/dmserver /dm8/data/DM02/dm.ini mount
/dm8/bin/disql SYSDBA/SYSDBA@localhost:32122
SP_SET_OGUID(20250802);
ALTER DATABASE STANDBY;
/dm/bin/dmwatcher /dmdata/data/DM01/dmwatcher.ini
/dm8/bin/dmwatcher /dm8/data/DM02/dmwatcher.ini
MON_DW_CONFIRM = 1
MON_LOG_PATH = /home/dm8/monitor/log
[GROUP_A]
MON_INST_OGUID = 20250802
MON_DW_IP = 10.0.0.121:32151
MON_DW_IP = 10.0.0.123:32152
/home/dm8/bin/dmmonitor /home/soft/dmmonitor.ini
4.服务管理
①服务注册
/dm/script/root/dm_service_uninstaller.sh -n DmServiceDM01
/dm/script/root/dm_service_installer.sh -t dmserver -p DM01 -dm_ini /dm/data/DM01/dm.ini -m mount
/dm/script/root/dm_service_installer.sh -t dmwatcher -p DM01 -watcher_ini /dm/data/DM01/dmwatcher.ini
/dm8/script/root/dm_service_installer.sh -t dmserver -p DM02 -dm_ini /dm8/data/DM02/dm.ini -m mount
/dm8/script/root/dm_service_installer.sh -t dmwatcher -p DM02 -watcher_ini /dm8/data/DM02/dmwatcher.ini
#监视器
/home/dm8/script/root/dm_service_installer.sh -t dmmonitor -p GROUP_A -monitor_ini /home/soft/dmmonitor.ini
②服务启停顺序
systemctl start DmServiceDM01 # 主库实例
systemctl start DmServiceDM02 # 备库实例
systemctl start DmWatcherServiceDM01 # 主库守护
systemctl start DmWatcherServiceDM02 # 备库守护
systemctl start DmMonitorServiceGROUP_A # 监视器
systemctl stop DmMonitorServiceGROUP_A # 监视器
systemctl stop DmWatcherServiceDM02 # 备库守护
systemctl stop DmWatcherServiceDM01 # 主库守护
systemctl stop DmServiceDM01 # 主库实例
systemctl stop DmServiceDM02 # 备库实例
show查看主备状态
login(输入SYSDBA用户及密码)
switchover进行主备切换
show再次查看主备状态确认是否切换成功
exit退出
本文档介绍了在exsi环境中DM8主备集群的部署流程,需要特别注意的有
①主备库数据库服务启动必须为mount状态
②归档配置文件中ARCH_DEST的参数不能填反了
③配置文件中的路径填写,需根据操作系统类型进行调整。
文章
阅读量
获赞