注册
主备集群搭建及注意事项
培训园地/ 文章详情 /

主备集群搭建及注意事项

刘杰 2024/04/25 596 2 1

主机 192.168.32.134
备机 192.168.32.135
监视器 192.168.32.136

数据库名 实例名 PORT_NUM MAL_INST_DW_PORT MAL_HOST MAL_PORT MAL_DW_PORT
DM01 GRP1_RT_01 5246 45101 192.168.32.134 55101 65101
DM01 GRP1_RT_03 5246 45121 192.168.32.135 55121 65121

--先初始化主备库实例,dbca建库,注意名称
或者命令行初始化命令如下:
主库:
./dminit path=/dm8/data DB_NAME=DM01 INSTANCE_NAME=GRP1_RT_01 PAGE_SIZE=16 EXTENT_SIZE=32 LOG_SIZE=500 CASE_SENSITIVE=Y SYSDBA_PWD=DM01SYSDBA
备库:
./dminit path=/dm8/data DB_NAME=DM01 INSTANCE_NAME=GRP1_RT_03 PAGE_SIZE=16 EXTENT_SIZE=32 LOG_SIZE=500 CASE_SENSITIVE=Y SYSDBA_PWD=DM01SYSDBA

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

--主备两台实例关掉
./DmServiceGRP1_RT_01 stop
./DmServiceGRP1_RT_02 stop

--从主上进行备份:
./dmrman CTLSTMT="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.32.135:/dm8/backup
--在备上进行恢复
./dmrman CTLSTMT="RESTORE DATABASE '/dm8/data/DM01/dm.ini' FROM BACKUPSET '/dm8/backup'"
./dmrman CTLSTMT="RECOVER DATABASE '/dm8/data/DM01/dm.ini' FROM BACKUPSET '/dm8/backup'"
./dmrman CTLSTMT="RECOVER DATABASE '/dm8/data/DM01/dm.ini' UPDATE DB_MAGIC"

--------主库primary配置------------

vi dm.ini

INSTANCE_NAME = GRP1_RT_01
PORT_NUM = 5246
DW_INACTIVE_INTERVAL = 60
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2
MAL_INI = 1
ARCH_INI = 1
RLOG_SEND_APPLY_MON = 64

vi /dm8/data/DM01/dmmal.ini
MAL_CHECK_INTERVAL = 5
MAL_CONN_FAIL_INTERVAL = 5
[MAL_INST1]
MAL_INST_NAME = GRP1_RT_01
MAL_HOST = 192.168.32.134
MAL_PORT = 55101
MAL_INST_HOST = 192.168.32.134
MAL_INST_PORT = 5246
MAL_DW_PORT = 65101
MAL_INST_DW_PORT = 45101
[MAL_INST2]
MAL_INST_NAME = GRP1_RT_03
MAL_HOST = 192.168.32.135
MAL_PORT = 55121
MAL_INST_HOST = 192.168.32.135
MAL_INST_PORT = 5246
MAL_DW_PORT = 65121
MAL_INST_DW_PORT = 45121

vi /dm8/data/DM01/dmarch.ini(注:arch_dest备机写主机实例,主机写备机实例)
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = GRP1_RT_03
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0

vi /dm8/data/DM01/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

-- 注意守护进程注册服务
[root@~]# /dm8/script/root/dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /dm8/data/DM01/dmwatcher.ini

启动主库
./dmserver /dm8/data/DM01/dm.ini mount
或者
cd /dm8/binB
./DmServiceGRP1_RT_01 mount

disql
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SQL>sp_set_oguid(453331);
SQL>alter database primary;
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

------备库standby配置-----------
dm.ini

INSTANCE_NAME = GRP1_RT_03
PORT_NUM = 5246
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 = GRP1_RT_01
MAL_HOST = 192.168.32.134
MAL_PORT = 55101
MAL_INST_HOST = 192.168.32.134
MAL_INST_PORT = 5246
MAL_DW_PORT = 65101
MAL_INST_DW_PORT = 45101
[MAL_INST2]
MAL_INST_NAME = GRP1_RT_03
MAL_HOST = 192.168.32.135
MAL_PORT = 55121
MAL_INST_HOST = 192.168.32.135
MAL_INST_PORT = 5246
MAL_DW_PORT = 65121
MAL_INST_DW_PORT = 45121

dmarch.ini(注:arch_dest备机写主机实例,主机写备机实例)
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = GRP1_RT_01
[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_APPLY_THRESHOLD = 0

--注册服务
[root@~]# /dm8/script/root/dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /dm8/data/DM01/dmwatcher.ini

以 Mount 方式启动备库
./dmserver /dm8/data/DM01/dm.ini mount
或者
cd /dm8/bin
./DmServiceGRP1_RT_03 mount

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);

--启动主库守护进程
./dmwatcher /dm8/data/DM01/dmwatcher.ini
或者
cd /dm8/bin
./DmWatcherServiceWatcher start

--启动备库守护进程
./dmwatcher /dm8/data/DM01/dmwatcher.ini
cd /dm8/bin
./DmWatcherServiceWatcher start

--验证
disql分别仅主库备库
处于主库/备库打开状态为正常

主库建表:
create table DMTEST.t1 (id int);
insert into DMTEST.t1 values (1);
备库验证
select * from DMTEST.t1;

----配置监视器
vi /dm8/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.32.134:65101
MON_DW_IP = 192.168.32.135:65121

vi /dm8/dmmonitor_noc.ini
MON_DW_CONFIRM = 0
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.32.134:65101
MON_DW_IP = 192.168.32.135:65121

--注册服务
/dm8/script/root/dm_service_installer.sh -t dmmonitor -p ITSM_DB -monitor_ini /dm8/dmmonitor.ini

--启动监视器
在bin目录下
./dmmonitor /dm8/dmmonitor.ini
或者
./DmMonitorServiceITSM_DB start
show验证一下

--手动切换主备
./dmmonitor /dm8/dmmonitor.ini
login
sysdba/DM01SYSDBA
switchover

以上为数据库主备集群搭建过程及注意事项

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服