共享集群加主备搭建

以下操作全部由dmdba用户操作,共享集群可以参考我上篇文章主备集群的搭建

以下为我的配置,DSC集群已经搭建完成。并且备库也安装完数据库,初始化完实例

节点名称

IP Addr

数据版本

DSC机器一

192.168.75.101(内外网)

dm8_20240314_x86_kylin10_64.ios

DSC机器二

192.168.75.202(内外网)

dm8_20240314_x86_kylin10_64.ios

备机

192.168.75.33(内外网)

dm8_20240314_x86_kylin10_64.ios

数据库相关文件路径:

路径

数据库安装路径

/home/dmdba/dmdbms

配置文件路径

/home/data

实例初始化后配置文件路径

DSC机器一:/home/data/dsc1 DSC机器二:/home /data/dsc2

备机:/home/data/DAMENG/

1.配置dm.ini文件

1.dsc节点一

cd   /home/data/dsc1
vim dm.ini
DSC节点1:
INSTANCE_NAME = DSC0       #不用改动
PORT_NUM = 5237            #数据库实例监听端口 
ALTER_MODE_STATUS = 0      #不允许手工方式修改实例模式/状态/OGUID 
ENABLE_OFFLINE_TS = 2      #不允许备库 OFFLINE 表空间 
MAL_INI = 1                #打开 MAL 系统
ARCH_INI = 1               #打开归档配置 

2.dsc节点二

 
cd   /home/data/dsc2
vim dm.ini
DSC节点2:
INSTANCE_NAME = DSC1       #不用改动
PORT_NUM = 5237            #数据库实例监听端口 
ALTER_MODE_STATUS = 0      #不允许手工方式修改实例模式/状态/OGUID 
ENABLE_OFFLINE_TS = 2      #不允许备库 OFFLINE 表空间 
MAL_INI = 1                #打开 MAL 系统
ARCH_INI = 1               #打开归档配置 

3.备机

 
cd  /home/data/DAMENG/
vim  dm.ini
 
备机
INSTANCE_NAME = DMSERVER   #不用改动
PORT_NUM = 5237            #数据库实例监听端口 
ALTER_MODE_STATUS = 0      #不允许手工方式修改实例模式/状态/OGUID 
ENABLE_OFFLINE_TS = 2      #不允许备库 OFFLINE 表空间 
MAL_INI = 1                #打开 MAL 系统
ARCH_INI = 1               #打开归档配置 

2.配置dmarch.ini

 
vim /home/data/dsc1/dmarch.ini

1.dsc1

ARCH_LOCAL_SHARE = 1      #DMDSC 集群本地归档是否共享给远程节点作为远程归档。0 表示不共享,1 表示共享,默认值>为 0。
ARCH_LOCAL_SHARE_CHECK=0  #是否进行 LOCAL 归档和 REMOTE 归档路径校验,默认值等于 ARCH_LOCAL_SHARE,1表示会校验。

[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMDATA/LOCAL_ARCH_DSC0  #注意dsc集群的实例一名字
ARCH_FILE_SIZE = 512
ARCH_SPACE_LIMIT = 1024

[ARCHIVE_LOCAL2]
ARCH_TYPE = LOCAL
ARCH_DEST =  /dmdata/arch #注意dsc备份目录
ARCH_FILE_SIZE = 512
ARCH_SPACE_LIMIT = 1024

[ARCHIVE_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC1
ARCH_INCOMING_PATH = +DMDATA/LOCAL_ARCH_DSC1  #注意dsc集群的实例二名字
ARCH_FILE_SIZE = 512
ARCH_SPACE_LIMIT = 1024

[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME #实时归档类型
ARCH_DEST = DMSERVER  #实时归档目标实例名

2.dsc2

 
vim /home/data/dsc2/dmarch.ini
ARCH_LOCAL_SHARE = 1      #DMDSC 集群本地归档是否共享给远程节点作为远程归档。0 表示不共享,1 表示共享,默认值为 0。
ARCH_LOCAL_SHARE_CHECK=0  #是否进行 LOCAL 归档和 REMOTE 归档路径校验,默认值等于 ARCH_LOCAL_SHARE,1表示会校验。

[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMDATA/LOCAL_ARCH_DSC1  #注意dsc集群的实例二名字
ARCH_FILE_SIZE = 512
ARCH_SPACE_LIMIT = 1024

[ARCHIVE_LOCAL2]
ARCH_TYPE = LOCAL
ARCH_DEST =  /dmdata/arch #注意dsc备份目录
ARCH_FILE_SIZE = 512
ARCH_SPACE_LIMIT = 1024

[ARCHIVE_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC0
ARCH_INCOMING_PATH = +DMDATA/LOCAL_ARCH_DSC0  #注意dsc集群的实例一名字
ARCH_FILE_SIZE = 512
ARCH_SPACE_LIMIT = 1024

[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME #实时归档类型
ARCH_DEST = DMSERVER  #实时归档目标实例名

3.备机

vim /home/data/DAMENG/dmarch.ini
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME #实时归档类型
ARCH_DEST = DSC0 #实时归档目标实例名,以DSC主库实际情况为准
[ARCHIVE_REALTIME2]
ARCH_TYPE = REALTIME #实时归档类型
ARCH_DEST = DSC1 #实时归档目标实例名,以DSC主库实际情况为准
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL #本地归档类型
ARCH_DEST = /dmdata/arch/ #本地归档文件存放路径
ARCH_FILE_SIZE = 2048 #单位 Mb,本地单个归档文件最大值
ARCH_SPACE_LIMIT = 1048576 #单位Mb,0表示无限制,范围 1024~2147483647M

3.配置dmmal.ini文件

1.dsc1

vim /home/data/dsc1/dmmal.ini
MAL_CHECK_INTERVAL    =87  #线程检测间隔
MAL_CONN_FAIL_INTERVAL=180 #检测线程认定链路断开的时间
MAL_SYS_BUF_SIZE      =600 #MAL系统总内存大小限制
MAL_BUF_SIZE          =300 #单个MAL缓存大小限制
MAL_VPOOL_SIZE        =500 #MAL系统使用的内存初始化大小
MAL_COMPRESS_LEVEL    =0   #MAL消息压缩等级,0代表不进行消息压缩
[MAL_INST0]
MAL_INST_NAME         = DSC0
MAL_HOST              = 192.168.75.101
MAL_PORT              = 31246
MAL_INST_HOST         = 192.168.75.101
MAL_INST_PORT         = 5237
MAL_DW_PORT           = 52141
MAL_INST_DW_PORT      = 5276
MAL_LINK_MAGIC                          =1
[MAL_INST1]
MAL_INST_NAME         = DSC1
MAL_HOST              = 192.168.75.202
MAL_PORT              = 31246
MAL_INST_HOST         = 192.168.75.202
MAL_INST_PORT         = 5237
MAL_DW_PORT           = 52141
MAL_INST_DW_PORT      = 5276
MAL_LINK_MAGIC                           =1
[MAL_INST2]
MAL_INST_NAME         = DMSERVER 
MAL_HOST              = 192.168.75.33
MAL_PORT              = 31246
MAL_INST_HOST         = 192.168.75.33
MAL_INST_PORT         = 5236
MAL_DW_PORT           = 52141
MAL_INST_DW_PORT      = 5276                          

2.dsc2

 vim /home/data/dsc2/dmmal.ini
MAL_CHECK_INTERVAL    =87  #线程检测间隔
MAL_CONN_FAIL_INTERVAL=180 #检测线程认定链路断开的时间
MAL_SYS_BUF_SIZE      =600 #MAL系统总内存大小限制
MAL_BUF_SIZE          =300 #单个MAL缓存大小限制
MAL_VPOOL_SIZE        =500 #MAL系统使用的内存初始化大小
MAL_COMPRESS_LEVEL    =0   #MAL消息压缩等级,0代表不进行消息压缩
[MAL_INST0]
MAL_INST_NAME         =DSC0
MAL_HOST              = 192.168.75.101
MAL_PORT              = 31246
MAL_INST_HOST         = 192.168.75.101
MAL_INST_PORT         = 5237
MAL_DW_PORT           = 52141
MAL_INST_DW_PORT      = 5276
MAL_LINK_MAGIC                          =1
[MAL_INST1]
MAL_INST_NAME         = DSC1
MAL_HOST              = 192.168.75.202
MAL_PORT              = 31246
MAL_INST_HOST         = 192.168.75.202
MAL_INST_PORT         = 5237
MAL_DW_PORT           = 52141
MAL_INST_DW_PORT      = 5276
MAL_LINK_MAGIC                           =1
[MAL_INST2]
MAL_INST_NAME         = DMSERVER 
MAL_HOST              = 192.168.75.33
MAL_PORT              = 31246
MAL_INST_HOST         = 192.168.75.33
MAL_INST_PORT         = 5236
MAL_DW_PORT           = 52141
MAL_INST_DW_PORT      = 5276

3.备机

vim /home/data/DAMENG/dmmal.ini
MAL_CHECK_INTERVAL    =87  #线程检测间隔
MAL_CONN_FAIL_INTERVAL=180 #检测线程认定链路断开的时间
MAL_SYS_BUF_SIZE      =600 #MAL系统总内存大小限制
MAL_BUF_SIZE          =300 #单个MAL缓存大小限制
MAL_VPOOL_SIZE        =500 #MAL系统使用的内存初始化大小
MAL_COMPRESS_LEVEL    =0   #MAL消息压缩等级,0代表不进行消息压缩
[MAL_INST0]
MAL_INST_NAME         =DSC0
MAL_HOST              = 192.168.75.101
MAL_PORT              = 31246
MAL_INST_HOST         = 192.168.75.101
MAL_INST_PORT         = 5237
MAL_DW_PORT           = 52141
MAL_INST_DW_PORT      = 5276
MAL_LINK_MAGIC                          =1
[MAL_INST1]
MAL_INST_NAME         = DSC1
MAL_HOST              = 192.168.75.202
MAL_PORT              = 31246
MAL_INST_HOST         = 192.168.75.202
MAL_INST_PORT         = 5237
MAL_DW_PORT           = 52141
MAL_INST_DW_PORT      = 5276
MAL_LINK_MAGIC                           =1
[MAL_INST2]
MAL_INST_NAME         = DMSERVER 
MAL_HOST              = 192.168.75.33
MAL_PORT              = 31246
MAL_INST_HOST         = 192.168.75.33
MAL_INST_PORT         = 5236
MAL_DW_PORT           = 52141
MAL_INST_DW_PORT      = 5276

4.配置dmwatcher.ini

1.dsc1

vim /home/data/dsc1/dmwatcher.ini
[GRP1]
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = MANUAL #故障手动切换模式
DW_ERROR_TIME = 120 #远程守护进程故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 120 #本地实例故障认定时间
INST_OGUID = 453331 #守护系统唯一 OGUID 值
INST_INI = /home/data/dsc1/dm.ini #路径以实际为准
DCR_INI= /home/data/dmdcr.ini #路径以实际为准
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/DmDSCService  #路径以实际为准
INST_AUTO_RESTART = 0 #关闭实例的自动启动功能
RLOG_SEND_THRESHOLD =0 #指定主库发送日志到备库的时间阈值,默认关闭
RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阈值,默认关闭 

2.dsc2

vim /home/data/dsc2/dmwatcher.ini
[GRP1]
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = MANUAL #故障手动切换模式
DW_ERROR_TIME = 120 #远程守护进程故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 120 #本地实例故障认定时间
INST_OGUID = 453331 #守护系统唯一 OGUID 值
INST_INI = /home/data/dsc2/dm.ini #路径以实际为准
DCR_INI= /home/data/dmdcr.ini  #路径以实际为准
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/DmDSCService  #路径以实际为准
INST_AUTO_RESTART = 0 #关闭实例的自动启动功能
RLOG_SEND_THRESHOLD =0 #指定主库发送日志到备库的时间阈值,默认关闭
RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阈值,默认关闭    

3.备机

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

5.配置监视器

vim /home/dmdba/dmdbms/bin/dmmonitor.ini
MON_DW_CONFIRM = 1
MON_LOG_PATH = /dmdata  #根据实际环境修改路径
MON_LOG_INTERVAL = 0
MON_LOG_FILE_SIZE = 32
MON_LOG_SPACE_LIMIT = 0
[GRP1]
MON_INST_OGUID = 453331
MON_DW_IP = 192.168.75.101:52141/192.168.75.202:52141
MON_DW_IP = 192.168.75.33:52141                          

7.备份还原

这里需要保证DSC集群CSS服务ASM服务正常运行,关闭DSC服务

建议把DSC集群的自动拉起服务关闭

dsc1

vim  /home/data/dmdcr.ini
DMDCR_PATH     = /dev/raw/raw1
DMDCR_MAL_PATH =/home/data/dmasvrmal.ini  #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO   = 0
#ASM 重启参数,命令行方式启动
#DMDCR_ASM_RESTART_INTERVAL = 10
#DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr dcr_ini=/home/data/dmdcr.ini
#DB 重启参数,命令行方式启动
#DMDCR_DB_RESTART_INTERVAL = 30
#DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver path=/home/data/dsc1/dm.ini dcr_ini=/home/data/dmdcr.ini
DMDCR_AUTO_OPEN_CHECK = 60

dsc2

vim  /home/data/dmdcr.ini
DMDCR_PATH     = /dev/raw/raw1
DMDCR_MAL_PATH =/home/data/dmasvrmal.ini  #dmasmsvr 使用的 MAL 配置文件路径
DMDCR_SEQNO   = 1
#ASM 重启参数,命令行方式启动
#DMDCR_ASM_RESTART_INTERVAL = 10
#DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr dcr_ini=/home/data/dmdcr.ini
#DB 重启参数,命令行方式启动
#DMDCR_DB_RESTART_INTERVAL = 30
#DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver path=/home/data/dsc2/dm.ini dcr_ini=/home/data/dmdcr.ini
DMDCR_AUTO_OPEN_CHECK = 60                    

1.主库脱机备份

  1. dsc1

cd /home/dmdba/dmdbms/bin
./DmDSCService   stop

  1. dsc2

cd /home/dmdba/dmdbms/bin
./DmDSCService     stop

  1. dsc1

cd /home/dmdba/dmdbms/bin
./dmrman DCR_INI=/home/data/dmdcr.ini
 backup database '/home/data/dsc1/dm.ini'   backupset '/home/data/bak'

  1. 备机

cd  /home/dmdba/dmdbms/bin
./dmrman
 
restore  database '/home/data/DAMENG/dm.ini'   from  backupset   '/home/data/bak'

recover database '/home/data/DAMENG/dm.ini'   from  backupset   '/home/data/bak'

recover database  '/home/data/DAMENG/dm.ini'   update DB_MAGIC 

8.修改mount启动

  1. dsc1

cd  /home/dmdba/dmdbms/bin

vim DmDSCService 
START_MODE=mount        ##修改为mount
./DmDSCService   start
  1. dsc2

cd  /home/dmdba/dmdbms/bin
vim DmDSCService 
START_MODE=mount        ##修改为mount
./DmDSCService   start

  1. 备机

cd  /home/dmdba/dmdbms/bin
vim DmServiceDMSERVER 
START_MODE=mount        ##修改为mount
./DmServiceDMSERVER   start

9.修改OGUID和数据库模式

1.dsc1

cd  /home/dmdba/dmdbms/bin
./disql  SYSDBA/SYSDBA:5237
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
sp_set_oguid(453331);
ALTER DATABASE primary;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

2.dsc2

cd  /home/dmdba/dmdbms/bin
./disql  SYSDBA/SYSDBA:5237
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
sp_set_oguid(453331);
ALTER DATABASE primary;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

3.备库

cd  /home/dmdba/dmdbms/bin
./disql
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
sp_set_oguid(453331);
ALTER DATABASE standby;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

10.启动守护进程

1.编写启动脚本

dsc1

cd  /home/dmdba/dmdbms/bin/service_template/ 
cp DmWatcherService  ../
cd ..


vim DmWatcherService 
INI_PATH="/home/data/dsc1/dmwatcher.ini"   ##修改路径

dsc2

cd  /home/dmdba/dmdbms/bin/service_template/ 
cp DmWatcherService  ../
cd ..


vim DmWatcherService 
INI_PATH="/home/data/dsc1/dmwatcher.ini"   ##修改路径

备机

 
cd  /home/dmdba/dmdbms/bin/service_template/ 
cp DmWatcherService  ../
cd ..


vim DmWatcherService 
INI_PATH="/home/data/DAMENG/dmwatcher.ini"   ##修改路径

./DmWatcherService   start   ##先启动DSC集群的守护进程,再启动备机的守护进程

2.启动监视器查看状态

cd   /home/dmdba/dmdbms/bin/dmmonitor.ini
./dmmonitor   dmmonitor.ini

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值