准备好两节点DSC、两个装好DM8的虚拟机,后续的搭建过程先搭建DSC+实时备机,在验证完成后再添加异步备机,地址和端口分配如下:
机器名 对外地址 实例名
DSC1 192.168.237.154/164 DSC1
DSC2 192.168.237.155/165 DSC2
DMDW 192.168.237.156/166 GRP1_RT_01
DMADW 192.168.237.157/167 GRP1_LOCAL_01
实例名 端口类型 端口 端口类型 端口
ASM1 DCR_EP_PORT 9349
ASM2 DCR_EP_PORT 9351
CSS1 DCR_EP_PORT 9341
CSS2 DCR_EP_PORT 9343
DSC1 DCR_EP_PORT 5700 DCR_CHECK_PORT 9741
DSC2 DCR_EP_PORT 5700 DCR_CHECK_PORT 9742
GRP1_RT_01 DCR_EP_PORT 9344
GRP1_LOCAL_01 DCR_EP_PORT 32143
ASM1 MAL_PORT 7236
ASM2 MAL_PORT 7237
DSC0 MAL_PORT 9255
DSC1 MAL_PORT 9266
GRP1_RT_01 MAL_PORT 8738
GRP1_LOCAL_01 MAL_PORT 61143
DSC0 MAL_INST_DW_PORT 4567 MAL_DW_PORT 3567
DSC1 MAL_INST_DW_PORT 4568 MAL_DW_PORT 3568
GRP1_RT_01 MAL_INST_DW_PORT 4569 MAL_DW_PORT 3569
GRP1_LOCAL_01 MAL_INST_DW_PORT 33143 MAL_DW_PORT 52143
配置dmarch.ini:
DSC1:
ARCH_LOCAL_SHARE = 1
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMDATA/DSC/DSC01/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
[ARCHIVE_REMOTE]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC2
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
ARCH_INCOMING_PATH = +DMDATA/DSC/DSC02/arch
DSC2:
ARCH_LOCAL_SHARE = 1
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMDATA/DSC/DSC02/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
[ARCHIVE_REMOTE]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC1
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
ARCH_INCOMING_PATH = +DMDATA/DSC/DSC01/arch
修改dm.ini(DSC1和DSC2一起):
ARCH_INI = 1
到dm/bin目录下:
./dmrman dcr_ini=/dm8/config/dmdcr.ini
BACKUP DATABASE '/dm8/config/dsc1/dm.ini' FULL BACKUPSET '/dm8/config/dsc1/bak/db_full_bak_for_DSC';
将主库的备份传输到备机上,然后到dm/bin目录下:
./dminit path=/dm/data/EP01/
./dmrman
RESTORE DATABASE '/dm8/data/EP01/DAMENG/dm.ini' FROM BACKUPSET '/dm8/data/EP01/DAMENG/bak/db_full_bak_for_DSC';
RECOVER DATABASE '/dm8/data/EP01/DAMENG/dm.ini' FROM BACKUPSET '/dm8/data/EP01/DAMENG/bak/db_full_bak_for_DSC';
RECOVER DATABASE '/dm8/data/EP01/DAMENG/dm.ini' UPDATE DB_MAGIC;
DSC1:
INSTANCE_NAME = DSC1
PORT_NUM = 5700 ##数据库实例监听端口
ALTER_MODE_STATUS = 0 ##不允许手工方式修改实例模式/状态/OGUID
ENABLE_OFFLINE_TS = 2 ##不允许备库OFFLINE表空间
MAL_INI = 1 ##打开MAL系统
ARCH_INI = 1 ##打开归档配置
DSC2:
INSTANCE_NAME = DSC2
PORT_NUM = 5700
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2
MAL_INI = 1
ARCH_INI = 1
DMDW:
INSTANCE_NAME = GRP1_RT_01
PORT_NUM = 9344
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2
MAL_INI = 1
ARCH_INI = 1
[mal_inst0]
mal_inst_name = DSC1
mal_host = 192.168.237.164
mal_port = 9255
MAL_INST_HOST = 192.168.237.154 ##实例的对外服务IP地址
MAL_INST_PORT = 5700 ##实例的对外服务端口,和dm.ini中的PORT_NUM一致
MAL_DW_PORT = 3567 ##实例本地的守护进程监听TCP连接的端口
MAL_INST_DW_PORT = 4567 ##实例监听守护进程TCP连接的端口
[mal_inst1]
mal_inst_name = DSC2
mal_host = 192.168.237.165
mal_port = 9266
MAL_INST_HOST = 192.168.237.155
MAL_INST_PORT = 5700
MAL_DW_PORT = 3568
MAL_INST_DW_PORT = 4568
[mal_inst2]
MAL_INST_NAME = GRP1_RT_01
MAL_HOST = 192.168.237.166
MAL_PORT = 8738
MAL_INST_HOST = 192.168.237.156
MAL_INST_PORT = 9344
MAL_DW_PORT = 3569
MAL_INST_DW_PORT = 4569
DSC1:
ARCH_LOCAL_SHARE = 1
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMDATA/DSC/DSC01/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
[ARCHIVE_REMOTE]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC2
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
ARCH_INCOMING_PATH = +DMDATA/DSC/DSC02/arch
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = GRP1_RT_01
DSC2:
ARCH_LOCAL_SHARE = 1
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMDATA/DSC/DSC02/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
[ARCHIVE_REMOTE]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC1
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
ARCH_INCOMING_PATH = +DMDATA/DSC/DSC01/arch
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = GRP1_RT_01
DMDW:
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/data/EP01/DAMENG/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME
ARCH_DEST = DSC1/DSC2
DSC1:
[GRP1]
DW_TYPE = GLOBAL ##全局守护类型
DW_MODE = MANUAL ##手动切换模式
DW_ERROR_TIME = 60 ##远程守护进程故障认定时间
INST_RECOVER_TIME = 60 ##主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 35 ##本地实例故障认定时间
INST_INI = /dm8/config/dsc1/dm.ini ##dm.ini配置文件路径
DCR_INI = /dm8/config/dmdcr.ini ##dmdcr.ini配置文件路径
INST_OGUID = 1000 ##守护系统唯一OGUID值
INST_STARTUP_CMD = /dm8/bin/dmserver ##命令行方式启动
INST_AUTO_RESTART = 0 ##关闭实例的自动启动功能
RLOG_SEND_THRESHOLD = 0 ##指定主库发送日志到备库的时间阈值,默认关闭
RLOG_APPLY_THRESHOLD = 0 ##指定备库重演日志的时间阈值,默认关闭
DSC2:
[GRP1]
DW_TYPE = GLOBAL
DW_MODE = MANUAL
DW_ERROR_TIME = 60
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 35
INST_INI = /dm8/config/dsc2/dm.ini
DCR_INI = /dm8/config/dmdcr.ini
INST_OGUID = 1000
INST_STARTUP_CMD = /dm8/bin/dmserver
INST_AUTO_RESTART = 0
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0
DMDW:
[GRP1]
DW_TYPE = GLOBAL
DW_MODE = MANUAL
DW_ERROR_TIME = 60
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 35
INST_INI = /dm8/data/EP01/DAMNEG/dm.ini
INST_OGUID = 1000
INST_STARTUP_CMD = /dm8/bin/dmserver
INST_AUTO_RESTART = 0
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0
仅在DMDW上配置,放在/dm8/data目录上:
MON_LOG_PATH = /dm8/data/log
MON_LOG_INTERVAL = 60
MON_LOG_FILE_SIZE = 64
MON_LOG_SPACE_LIMIT = 0
MON_DW_CONFIRM = 0
[GRP1]
MON_INST_OGUID = 1000
MON_DW_IP = 192.168.237.164:3567/192.168.237.165:3568
MON_DW_IP = 192.168.237.166:3569
分别在三台机器的/dm8/bin目录下执行:
./dmserver /dm8/config/dsc1/dm.ini DCR_INI=/dm8/config/dmdcr.ini mount
./dmserver /dm8/config/dsc2/dm.ini DCR_INI=/dm8/config/dmdcr.ini mount
./dmserver /dm8/data/EP01/DAMENG/dm.ini mount
DSC:
./disql SYSDBA/SYSDBA@localhost:5700
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SQL>SP_SET_OGUID(1000);
SQL>ALTER DATABASE PRIMARY;
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
DMDW:
./disql SYSDBA/SYSDBA@localhost:9344
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SQL>SP_SET_OGUID(1000);
SQL>ALTER DATABASE STANDBY;
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
./dmwatcher /dm8/config/dsc1/dmwatcher.ini
./dmwatcher /dm8/config/dsc2/dmwatcher.ini
./dmwatcher /dm8/data/EP01/DAMENG/dmwatcher.ini
./dmmonitor path=/dm8/data/dmmonitor.ini
在以上搭建两节点DSC+1实时备机的基础上,再添加一个异步备机,首先需正常关闭主备库的守护进程及数据库服务
主库备份(在DSC1/2其中一台执行即可):
./dmrman dcr_ini=/dm8/config/dmdcr.ini
BACKUP DATABASE '/dm8/config/dsc1/dm.ini' FULL BACKUPSET '/dm8/config/dsc1/bak/db_full_bak2_for_DSC';
备库还原:
./dminit path=/dm8/data/
./dmrman
RESTORE DATABASE '/dm8/data/DAMENG/dm.ini' FROM BACKUPSET '/dm8/data/DAMENG/bak/db_full_bak2_for_DSC';
RECOVER DATABASE '/dm8/data/DAMENG/dm.ini' FROM BACKUPSET '/dm8/data/DAMENG/bak/db_full_bak2_for_DSC';
RECOVER DATABASE '/dm8/data/DAMENG/dm.ini' UPDATE DB_MAGIC;
DSC+DMDW:
TIMER_INI = 1
DMADW:
INSTANCE_NAME = GRP1_LOCAL_01
PORT_NUM = 32143 ##数据库实例监听端口
ALTER_MODE_STATUS = 0 ##不允许手工方式修改实例模式/状态/OGUID
ENABLE_OFFLINE_TS = 2 ##不允许备库OFFLINE表空间
MAL_INI = 1 ##打开MAL系统
ARCH_INI = 1 ##打开归档配置
##在原先基础上添加如下内容:
[MAL_INST3]
MAL_INST_NAME = GRP1_LOCAL_01 ##实例名,和dm.ini中的INSTANCE_NAME一致
MAL_HOST = 192.168.237.167 ##MAL系统监听TCP连接的IP地址
MAL_PORT = 61143 ##MAL系统监听TCP连接的端口
MAL_INST_HOST = 192.168.237.157 ##实例的对外服务IP地址
MAL_INST_PORT = 32143 ##实例的对外服务端口,和dm.ini中的PORT_NUM一致
MAL_DW_PORT = 52143 ##实例对应的守护进程监听TCP连接的端口
MAL_INST_DW_PORT = 33143 ##实例监听守护进程TCP连接的端口
DSC+DMDW:
##在原先基础上添加:
[ARCHIVE_ASYNC]
ARCH_TYPE = ASYNC ##异步归档类型
ARCH_DEST = GRP1_LOCAL_01 ##异步归档目标实例名
ARCH_TIMER_NAME = RT_TIMER ##定时器名称,和dmtimer.ini中的名称一致
DMADW:
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL ##本地归档类型
ARCH_DEST = /dm8/data/DAMENG/arch ##本地归档文件路径
ARCH_FILE_SIZE = 128 ##单位Mb,本地单个归档文件最大值
ARCH_SPACE_LIMIT = 0 ##单位Mb,0表示无限制,范围1024~4294967294M
DSC+DMDW:
[RT_TIMER] ##和dmarch.ini中的ARCH_TIMER_NAME一致
TYPE = 2
FREQ_MONTH_WEEK_INTERVAL = 1
FREQ_SUB_INTERVAL = 0
FREQ_MINUTE_INTERVAL = 0
START_TIME = 00:00:00
END_TIME = 00:00:00
DURING_START_DATE = 2016-02-11 17:36:09
DURING_END_DATE = 9999-12-31 23:59:59
NO_END_DATE_FLAG = 1
DESCRIBE = RT TIMER
IS_VALID = 1
DMADW:
[GRP1]
DW_TYPE = LOCAL ##本地守护类型
DW_MODE = MANUAL ##故障手动切换模式
DW_ERROR_TIME = 10 ##远程守护进程故障认定时间
INST_ERROR_TIME = 10 ##本地实例故障认定时间
INST_OGUID = 1000 ##守护系统唯一OGUID值
INST_INI = /dm8/data/DAMENG/dm.ini ##dm.ini配置文件路径
INST_AUTO_RESTART = 1 ##打开实例的自动启动功能
INST_STARTUP_CMD = /dm8/bin/dmserver ##命令行方式启动
##在四个机器上分别执行:
./dmserver /dm8/config/dsc1/dm.ini DCR_INI=/dm8/config/dmdcr.ini mount
./dmserver /dm8/config/dsc2/dm.ini DCR_INI=/dm8/config/dmdcr.ini mount
./dmserver /dm8/data/EP01/DAMENG/dm.ini mount
./dmserver /dm8/data/DAMENG/dm.ini mount
仅DMADW机器即异步备机需要执行:
./disql SYSDBA/SYSDBA@localhost:32143
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SQL>SP_SET_OGUID(1000);
SQL>ALTER DATABASE STANDBY;
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
./dmwatcher /dm8/config/dsc1/dmwatcher.ini
./dmwatcher /dm8/config/dsc2/dmwatcher.ini
./dmwatcher /dm8/data/EP01/DAMENG/dmwatcher.ini
./dmwatcher /dm8/data/DAMENG/dmwatcher.ini
./dmmonitor path=/dm8/data/dmmonitor.ini
文章
阅读量
获赞