搭建部署两节点DSC+1实时备机+1异步备机

1 搭建前准备

准备好两节点DSC、两个装好DM8的虚拟机,后续的搭建过程先搭建DSC+实时备机,在验证完成后再添加异步备机,地址和端口分配如下:

机器名

对外地址

实例名

DSC1

192.168.237.154/164

DSC1

DSC2

192.168.237.155/165

DSC2

DMCB

192.168.237.156/166

GRP1_RT_01

DMCC

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

ASM1MAL

MAL_PORT

7236

ASM2MAL

MAL_PORT

7237

DSC0MAL

MAL_PORT

9255

DSC1MAL

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

DSCB

MAL_INST_DW_PORT

4569

MAL_DW_PORT

3569

DSCC

MAL_INST_DW_PORT

33143

MAL_DW_PORT

52143

2 搭建两节点DSC+1实时备机

2.1 配置DSC主库环境

配置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

2.2 数据准备

2.2.1 主库备份

到dm/bin目录下:

./dmrman use_ap=2 dcr_ini=/dm8/config/dmdcr.ini

BACKUP DATABASE '/dm8/config/dsc1/dm.ini' FULL BACKUPSET '/dm8/config/dsc1/bak/db_full_bak_for_DSC';

2.2.2 备库还原

将主库的备份传输到备机上,然后到dm/bin目录下:

./dminit path=/dm/data/EP01/

./dmrman use_ap=2

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;

2.3 配置dm.ini

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

DCB:

INSTANCE_NAME = GRP1_RT_01

PORT_NUM = 9344

ALTER_MODE_STATUS = 0

ENABLE_OFFLINE_TS = 2

MAL_INI = 1

ARCH_INI = 1

2.4 配置dmmal.ini(三个实例的配置都一致)

[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

2.5 配置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

[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

DCB:

[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

2.6 配置dmwatcher.ini

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

DCB:

[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

2.7 配置dmmonitor.ini

仅在DCB上配置,放在/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

2.8 启动主备库

分别在三台机器的/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

2.9 设置OGUID并修改主备库模式:

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

DCB:

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

2.10 启动守护进程及监视器

./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

2.11 测试验证

在监视器界面输入show,各数据库及守护进程处于open状态及启动成功

于DSC主库上新建表并插入数据,于备库上查询是否存在数据

CREATE SCHEMA TEST AUTHORIZATION SYSDBA;

CREATE TABLE TEST.T1(ID INTEGER,NAME CHAR(10));

INSERT INTO TEST.T1 VALUES(1,'A');
COMMIT;

3 搭建两节点DSC+1实时备机+1异步备机

  在以上搭建两节点DSC+1实时备机的基础上,再添加一个异步备机,首先需正常关闭主备库的守护进程及数据库服务

3.1 数据准备

主库备份(在DSC1/2其中一台执行即可):

./dmrman use_ap=2 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 use_ap=2

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;

3.2 配置dm.ini

DSC+DCB:

TIMER_INI = 1

DCC:

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 ##打开归档配置

3.3 配置dmmal.ini(所有机器一致)

##在原先基础上添加如下内容:

[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连接的端口

3.4 配置dmarch.ini

DSC+DCB:

##在原先基础上添加:

[ARCHIVE_ASYNC]

ARCH_TYPE = ASYNC ##异步归档类型

ARCH_DEST = GRP1_LOCAL_01 ##异步归档目标实例名

ARCH_TIMER_NAME = RT_TIMER ##定时器名称,和dmtimer.ini中的名称一致

DCC:

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL ##本地归档类型

ARCH_DEST = /dm8/data/DAMENG/arch ##本地归档文件路径

ARCH_FILE_SIZE = 128 ##单位Mb,本地单个归档文件最大值

ARCH_SPACE_LIMIT = 0 ##单位Mb,0表示无限制,范围1024~4294967294M

3.5 配置dmtimer.ini

DSC+DCB:

[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

3.6 配置dmwatcher.ini

DCC:

[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 ##命令行方式启动

3.7 启动主备库

##在四个机器上分别执行:

./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

3.8 设置OGUID并修改备库模式

仅DCC机器即异步备机需要执行:

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

3.9 启动守护进程及监视器

./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

3.10 测试

在监视器界面输入show,各数据库及守护进程处于open状态及启动成功

4 关闭数据守护并退出数据库服务

 如果启动了确认监视器,先关闭确认监视器(防止自动接管)

 关闭备库守护进程(防止重启实例)

 关闭主库守护进程(防止重启实例)

 Shutdown 主库

 Shutdown 备库

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值