主机 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配置------------
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
以上为数据库主备集群搭建过程及注意事项
文章
阅读量
获赞