达梦两节点dsc+数据守护集群搭建_yxy

15 篇文章 0 订阅
7 篇文章 0 订阅

1:主机规划

节点IP地址端口
DSC0192.168.139.1005236
DSC1192.168.139.1015236
DSC_DW192.168.139.1025236

2:编辑DSC节点dmarch.ini

搭建完dsc后正常退出 DMDSC 集群的两个 dmserver 节点实例,不需要退出 dmcss和 dmasmsvr。
编辑两个 DMDSC 节点的 dmarch.ini 文件,增加本地归档和远程归档,dmarch.ini 文件放在各自 dm.ini 中指定的 CONFIG_PATH 目录下(/home/data/dsc0_config)。
DSC0,DSC1的dmarch.ini: 加粗的需要修改
[ARCHIVE_LOCAL1]
ARCH_TYPE= LOCAL
ARCH_DEST= /home/data/dsc0_config/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 =/home/data/dsc1_config/arch
配置dm.ini,将DSC两节点的归档参数设置为1

3:备份 DMDSC 库

重启 DMDSC 集群的两个 dmserver 实例,然后再正常退出。在 DMDSC 集群生成有归档日志的情况下进行脱机备份,以便后续校验日志连续性时使用。
启动 dmrman(bin目录下)
./dmrman use_ap=2 dcr_ini=/home/data/dmdcr.ini

1)脱机备份 DMDSC 集群
RMAN>BACKUP DATABASE ‘/home/data/dsc0_config/dm.ini’ FULL BACKUPSET ‘/home/data/dsc0_config/bak/db_full_bak_for_DSC’;

2)在备机上初始化备库(dmdba用户初始化,注意权限问题)
./dminit path=/home/dmdba/dmdbms/data/ db_name=… instance_name= …

3)将db_full_bak_for_DSC文件发送到单节点备库的
/home/dmdba/dmdbms/data/DSC_DW/bak/目录下
scp -r db_full_bak_for_DSC/ dmdba@192.168.139.102:/home/dmdba/dmdbms/data/DSC_DW/bak/

4:配置单节点备库

启动 dmrman
./dmrman use_ap=2

使用 DMDSC 库的备份集还原恢复到单节点备库
还原:
RMAN>restore database ‘/home/dmdba/dmdbms/data/DSC_DW/dm.ini’ from backupset ‘/home/dmdba/dmdbms/data/DSC_DW/bak/db_full_bak_for_DSC’;
恢复:
RMAN>RECOVER DATABASE ‘/home/dmdba/dmdbms/data/DSC_DW/dm.ini’ FROM BACKUPSET ‘/home/dmdba/dmdbms/data/DSC_DW/bak/db_full_bak_for_DSC’;
更新:
RMAN>RECOVER DATABASE ‘/home/dmdba/dmdbms/data/DSC_DW/dm.ini’ UPDATE DB_MAGIC;

5:配置所有节点的dm.ini

ALTER_MODE_STATUS = 0 #不允许手工方式修改实例模式/状态/OGUID
ENABLE_OFFLINE_TS = 2 #不允许备库 OFFLINE 表空间
MAL_INI = 1 #打开 MAL 系统
ARCH_INI = 1 #打开归档配置

6:配置dmmal.ini

(在 DMDSC 集群的 dmmal.ini 文件基础上,增加备库DSC_DW 的配置项。所有节点实例的 dmmal.ini 文件内容是一致的,配置完成后,拷贝到每个节点实例dm.ini 中指定的 CONFIG_PATH 目录下。)
dmmal.ini:
MAL_CHECK_INTERVAL = 30 #MAL链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 10 #判定MAL链路断开的时间

[mal_inst0]
mal_inst_name = DSC0
mal_host = 192.168.139.100
mal_port = 9340
MAL_INST_HOST = 192.168.139.100 #实例的对外服务IP地址
MAL_INST_PORT = 5236 #实例的对外服务端口,和dm.ini中的PORT_NUM一致
MAL_DW_PORT= 3569 #实例本地的守护进程监听TCP连接的端口
MAL_INST_DW_PORT = 4569 #实例监听守护进程TCP连接的端口

[mal_inst1]
mal_inst_name = DSC1
mal_host = 192.168.139.101
mal_port = 9340
MAL_INST_HOST = 192.168.139.101 #实例的对外服务IP地址
MAL_INST_PORT = 5236 #实例的对外服务端口,和dm.ini中的PORT_NUM一致
MAL_DW_PORT= 3569 #实例本地的守护进程监听TCP连接的端口
MAL_INST_DW_PORT = 4569 #实例监听守护进程TCP连接的端口

[mal_inst2]
mal_inst_name = DSC_DW #与dm.ini instance_name相同
mal_host = 192.168.139.102
mal_port = 9340
MAL_INST_HOST = 192.168.139.102 #实例的对外服务IP地址
MAL_INST_PORT = 5236 #实例的对外服务端口,和dm.ini中的PORT_NUM一致
MAL_DW_PORT= 3569 #实例本地的守护进程监听TCP连接的端口
MAL_INST_DW_PORT = 4569 #实例监听守护进程TCP连接的端口

7:配置 dmarch.ini

再次编辑各个节点的 dmarch.ini 文件,增加实时归档配置。
DSC0的dmarch.ini:
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /home/data/dsc0_cfg/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 =/home/data/dsc1_cfg/arch

[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = DSC_DW #因为我单节点实例名是 DSC_DW

DSC1的dmarch.ini:
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST =/home/data/dsc1_cfg_/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0

[ARCHIVE_REMOTE]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC0
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
ARCH_INCOMING_PATH = /home/data/dsc0_cfg/arch

[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = DSC_DW #因为我单节点实例名是 DSC_DW

单节点DMSERVER的dmarch.ini:
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /home/dmdba/dmdbms/data/DSC_DW/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0

[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = DSC0/DSC1

8:配置 dmwatcher.ini

(依次配置每个节点实例的 dmwatcher.ini 文件,放到各自 dm.ini 中指定的CONFIG_PATH 目录下)
DSC0的dmwatcher.ini:
[GRP1]
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = MANUAL #手动切换模式
DW_ERROR_TIME = 60 #远程守护进程故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 30 #本地实例故障认定时间
INST_INI = /home/data/dsc0_config/dm.ini #dm.ini 配置文件路径
DCR_INI = /home/data/dmdcr.ini #dmdcr.ini 配置文件路径
INST_OGUID = 1000 #守护系统唯一 OGUID 值
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver #命令行方式启动
INST_AUTO_RESTART = 0 #关闭实例的自动启动功能
RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阀值,默认关闭
RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阀值,默认关闭

DSC1的dmwatcher.ini:
[GRP1]
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = MANUAL #手动切换模式
DW_ERROR_TIME = 60 #远程守护进程故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 30 #本地实例故障认定时间
INST_INI = /home/data/dsc1_config/dm.ini #dm.ini 配置文件路径
DCR_INI = /home/data/dmdcr.ini #dmdcr.ini 配置文件路径
INST_OGUID = 1000 #守护系统唯一 OGUID 值
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver #命令行方式启动
INST_AUTO_RESTART = 0 #关闭实例的自动启动功能
RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阀值,默认关闭
RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阀值,默认关闭

单节点的dmwatcher.ini:
[GRP1]
DW_TYPE = GLOBAL
DW_MODE = MANUAL
DW_ERROR_TIME = 60
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 30
INST_INI = /home/dmdba/dmdbms/data/DSC_DW/dm.ini
INST_OGUID = 1000
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver
INST_AUTO_RESTART = 0 #对单节点,如果需要打开自动拉起功能,将此配置修改为 1 即可
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0

9:配置 dmmonitor.ini

(在单节点上配置,放在/home/dmdba/dmdbms/data/DSC_DW下)
dmmonitor.ini:
MON_LOG_PATH = /home/dmdba/dmdbms/2des_dw_monitor_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.139.99:3569/192.168.139.100:3569
MON_DW_IP = 192.168.139.101:3569

10:配置 dmdcr.ini

DMDSC 集群中 dmserver 的自动拉起是由 dmcss 执行的,如果不需要打开 dmcss 的自动拉起功能,则可以跳过此章节。否则需要修改 dmdcr.ini 中的自动拉起配置参数(将时间设置不为0即可),此参数修改完成后,需要重启dmcss 才可以生效,为了避免重启 dmcss 引发 dmasmsvr 被强制关闭,这里先将 dmcss和 dmasmsvr 都正常退出。
另外要注意,本示例中是用命令行方式启动,启动参数中指定以 Mount 方式拉起
dmserver,如果是用服务方式启动,服务脚本中也一定要指定以 Mount 方式拉起dmserver。

11:启动DMCSS、DMASM服务程序

在两个节点分别先后启动dmcss,dmasm程序。
手动启动 dmcss 命令:
./dmcss DCR_INI=/home/data/dmdcr.ini
手动启动 dmasmsvr 命令:
./dmasmsvr DCR_INI=/home/data/dmdcr.ini

12:启动主备库

(注意实例都要使用 Mount 方式启动)
启动DSC0:
./dmserver /home/data/dsc0_config/dm.ini DCR_INI=/home/data/dmdcr.ini mount
启动DSC1:
./dmserver /home/data/dsc1_config/dm.ini DCR_INI=/home/data/dmdcr.ini mount
启动单节点备库
./dmserver /home/dmdba/dmdbms/data/DSC_DW/dm.ini mount

设置 OGUID和模式
启动disql
DSC任意一节点:
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);

单节点:
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);

13:启动守护进程

启动DSC0守护进程:
./dmwatcher /home/data/dsc0_config/dmwatcher.ini
启动DSC1守护进程:
./dmwatcher /home/data/dsc1_config/dmwatcher.ini
启动单节点的守护进程:
./dmwatcher /home/dmdba/dmdbms/data/DSC_DW/dmwatcher.ini

14:启动监视器

启动配置在单节点备库的监视器:
./dmmonitor path=/home/dmdba/dmdbms/data/DSC_DW/dmmonitor.ini

至此 DMDSC 集群的实时数据守护系统搭建完毕,在搭建步骤和各项配置都正确的情况下,在监视器上执行 show 命令,可以监控到所有实例都处于 Open 状态,所有守护进程也都处于 Open 状态,即为正常运行状态。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值