注册
DCP数据守护学习分享
培训园地/ 文章详情 /

DCP数据守护学习分享

ludexin 2025/06/26 153 1 0

数据守护节点规划:

主机 192.168.5.128 需初始化实例
备机 192.168.5.129 需初始化实例
监视器 192.168.1.18 不需初始化实例
数据守护端口规划:
数据守护端口规划:
ip 数据库名 实例名 端口 MAL_PORT MAL_INST_PORT MAL_DW_PORT
192.168.5.128 DM01 DMSVR01 5236
192.168.5.129 DM02 DMSVR02 5236

主备关闭防火墙

systemctl disable firewalld

systemctl stop firewalld
停机同步,保证主备库完全一致
主备初始化实例
命令行操作方式:
主库(IP: 192.168.5.128 实例名:DMSVR01):

./dminit path=/dm8/data DB_NAME=DM01 INSTANCE_NAME=DMSVR01 PAGE_SIZE=8 EXTENT_SIZE=16 LOG_SIZE=500 CASE_SENSITIVE=Y SYSDBA_PWD=dameng123

备库(IP: 192.168.5.129 实例名:DMSVR02):

./dminit path=/dm8/data DB_NAME=DM02 INSTANCE_NAME=DMSVR02 PAGE_SIZE=8 EXTENT_SIZE=16 LOG_SIZE=500 CASE_SENSITIVE=Y SYSDBA_PWD=dameng123

--注意 dbca初始化数据库,在初始化过程中会注册数据库服务。如果用命令初始化需要自己手动注册服务,命令如下:
主库:
/dm8/script/root/dm_service_installer.sh -t dmserver -p DMSVR01 -dm_ini /dm8/data/DM01/dm.ini
备库:
/dm8/script/root/dm_service_installer.sh -t dmserver -p DMSVR02 -dm_ini /dm8/data/DM02/dm/.ini

图形化界面:
cd /dm8/tool
./dbca.sh
图形化无法打开其中一种原因:
image.png
关闭实例
#主机关闭
cd /dm8/bin
./DmServiceDMSVR01 stop

#备机关闭
cd /dm8/bin
./DmServiceDMSVR02 stop

备份主机
#主备创建备份目录

mkdir /dm8/backup
cd /dm8/bin
./dmrman
BACKUP DATABASE '/dm8/data/DM01/dm.ini' FULL TO BACKUP_FILE1 BACKUPSET '/dm8/backup/BACKUP_FILE_01'

主备份传到备机

scp /dm8/backup/BACKUP_FILE_01/*   192.168.5.129:/dm8/backup

备机恢复主机备份

./dmrman 
RESTORE DATABASE '/dm8/data/DM02/dm.ini'  FROM BACKUPSET '/dm8/backup'
RECOVER DATABASE '/dm8/data/DM02/dm.ini'  FROM BACKUPSET '/dm8/backup' 
RECOVER DATABASE '/dm8/data/DM02/dm.ini'  UPDATE DB_MAGIC

主库配置

修改新增配置文件
进入实例目录 例如:/dm8/data/DM01/
修改dm.ini

INSTANCE_NAME = DMSVR01 
PORT_NUM = 5236
DW_INACTIVE_INTERVAL = 60 
ALTER_MODE_STATUS = 0 
ENABLE_OFFLINE_TS = 2 
MAL_INI = 1
ARCH_INI = 1
RLOG_SEND_APPLY_MON = 64

创建dmmal.ini文件

MAL_CHECK_INTERVAL = 5
MAL_CONN_FAIL_INTERVAL = 5
[MAL_INST1] 
MAL_INST_NAME = DMSVR01 
MAL_HOST = 192.168.5.128
MAL_PORT = 55101
MAL_INST_HOST = 192.168.5.128
MAL_INST_PORT = 5236
MAL_DW_PORT = 65101
MAL_INST_DW_PORT = 45101
[MAL_INST2] 
MAL_INST_NAME = DMSVR02 
MAL_HOST = 192.168.5.129 
MAL_PORT = 55121 
MAL_INST_HOST = 192.168.5.129
MAL_INST_PORT = 5236 
MAL_DW_PORT = 65121 
MAL_INST_DW_PORT = 45121

创建dmarch.ini (注:arch_dest备机写主机实例,主机写备机实例)

[ARCHIVE_REALTIME] 
ARCH_TYPE = REALTIME
ARCH_DEST = DMSVR02
[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 = AUTO 
DW_ERROR_TIME = 10 
INST_RECOVER_TIME = 60 
INST_ERROR_TIME = 10 
INST_OGUID = 453331 
INST_INI = /dm8/data/DM01/dm.ini  
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /dm8/bin/dmserver 
RLOG_SEND_THRESHOLD = 0  
RLOG_APPLY_THRESHOLD = 0

启动主库 以mount模式
启动后,将以前端进程方式执行,不能关闭shell界面
./dmserver /dm8/data/DM01/dm.ini mount
修改主库的模式和设置oguid

cd /dm8/bin
./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);

备库配置

修改新增配置文件
进入实例目录 例如:/dm8/data/DM02/

INSTANCE_NAME = DMSVR02 
PORT_NUM = 5236
DW_INACTIVE_INTERVAL = 60 
ALTER_MODE_STATUS = 0 
ENABLE_OFFLINE_TS = 2 
MAL_INI = 1
ARCH_INI = 1
RLOG_SEND_APPLY_MON = 64

创建dmmal.ini文件

MAL_CHECK_INTERVAL = 5 
MAL_CONN_FAIL_INTERVAL = 5  
[MAL_INST1] 
MAL_INST_NAME = DMSVR01  
MAL_HOST = 192.168.5.128 
MAL_PORT = 55101 
MAL_INST_HOST = 192.168.5.128
MAL_INST_PORT = 5236 
MAL_DW_PORT = 65101  
MAL_INST_DW_PORT = 45101 
[MAL_INST2] 
MAL_INST_NAME = DMSVR02
MAL_HOST = 192.168.5.129
MAL_PORT = 55121 
MAL_INST_HOST = 192.168.5.129
MAL_INST_PORT = 5236 
MAL_DW_PORT = 65121 
MAL_INST_DW_PORT = 45121

dmarch.ini (注:arch_dest备机写主机实例,主机写备机实例)

[ARCHIVE_REALTIME] 
ARCH_TYPE = REALTIME 
ARCH_DEST = DMSVR01  
[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 = AUTO 
DW_ERROR_TIME = 10 
INST_RECOVER_TIME = 60 
INST_ERROR_TIME = 10  
INST_OGUID = 453331
INST_INI = /dm8/data/DM02/dm.ini 
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /dm8/bin/dmserver 
RLOG_APPLY_THRESHOLD = 0

启动备库 以mount模式
启动后,将以前端进程方式执行,不能关闭shell界面
./dmserver /dm8/data/DM02/dm.ini mount
修改主库的模式和设置oguid
cd /dm8/bin
./disql
输入用户名 密码
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);

启动主库备库守护进程
守护进程将以前端进程方式展示,不可关闭shell界面
[dmdba@/dm8/bin]#./dmwatcher /dm8/data/DM01/dmwatcher.ini
[dmdba@/dm8/bin]#./dmwatcher /dm8/data/DM02/dmwatcher.ini

配置监视器

cd /dm8
mkdir mon
cd mon
vi 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.5.128:65101 
MON_DW_IP = 192.168.5.129:65121

cd /dm8/bin
./dmmonitor /dm8/mon/dmmonitor.ini

主备切换
监视状态下
switchover
考试需要切换两次,回到初始主备机

注册服务

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

/dm8/script/root/dm_service_installer.sh -t dmserver -p DMSERVER -m mount -dm_ini /dm8/data/DM02/dm.ini
/dm8/script/root/dm_service_installer.sh -t dmwatcher -p DMWATCHER -watcher_ini /dm8/data/DM01/dmwatcher.ini

/dm8/script/root/dm_service_installer.sh -t dmwatcher -p DMWATCHER -watcher_ini /dm8/data/DM02/dmwatcher.ini
/dm8/script/root/dm_service_installer.sh -t dmmonitor -p DMMONITOR -monitor_ini /dm8/mon/dmmonitor.ini
注意:监视器注册为服务后端运行后,想再操作需要复制配置文件修改MON_DW_CONFIRM =0,启动一个新的监视器就可以操作

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服