DSC+异步备机测试

1集群原始情况

1.1环境说明

主机名主备状态内网外网数据库目录实例名端口号
db0主库192.168.153.11192.168.204.11/dmdbmsDSC05237
db1主库192.168.153.12192.168.204.12/dmdbmsDSC15237
db2备库192.168.153.13192.168.204.13/dmdbmsDSC_DW5237

1.2DSC监控

监视器文件dmcssm.ini配置在主机db0数据库bin目录下。

[dmdba@db0 ~]$ cd /dmdbms/bin
[dmdba@db0 bin]$ ./dmcssm dmcssm.ini
show

在这里插入图片描述

1.3主备监控

监视器文件dmmonitor.ini配置在主机db2数据库bin目录下。

[dmdba@db2 ~]$ cd /dmdbms/bin
[dmdba@db2 bin]$ ./dmmonitor dmmonitor.ini
show

在这里插入图片描述

2测试1-重搭备机

准备新的异步备机,将DSC集群重新备份还原后,首先启动DSC即主库的CSS、ASM、DSC、DW服务,然后再进行新异步备机的配置,最后观察新异步备机是否可以加入集群。

2.1备机db2作为主备集群监视器

2.1.1备机db2关闭守护进程

[dmdba@db2 bin]$ ./DmWatcherService stop

2.1.2目前守护集群状态

[dmdba@db2 bin]$ ./dmmonitor dmmonitor.ini
show

在这里插入图片描述

2.2准备新异步备机

2.2.1备机db3环境说明

主机名主备状态内网外网数据库目录实例名端口号
db3备库192.168.153.14192.168.204.14/dmdbmsDSC_DW25237

2.2.2安装DM8

安装过程略,初始化参数需与DSC集群保持一致。

[dmdba@db3 bin]$ ./dminit path=/dmdata db_name=DAMENG instance_name=DSC_DW2 port_num=5237 mal_port=11246

在这里插入图片描述

2.2.3数据库实例后台脚本

准备后台服务,方便后续操作。DmService存放在数据库bin目录下的service_template里,将其拷贝到bin目录下再进行路径修改即可。

[dmdba@db3 bin]$ cp /dmdbms/bin/service_template/DmService /dmdbms/bin
[dmdba@db3 bin]$ vi /dmdbms/bin/DmService

##将DM_HOME修改成/dmdbms/;将INI_PATH修改成/dmdata/DAMENG/dm.ini

2.3DSC重新备份还原

2.3.1DSC数据库服务关闭

DSC0节点:./DmService stop
DSC1节点:./DmService stop

2.3.2DMDSC集群做备份

在数据库服务关闭后,使用dmrman工具对DMDSC集群做备份,在其中一个节点执行即可。备份前注意开启DmAP服务。
–备份

[dmdba@db0 bin]$ ./DmAPService start
[dmdba@db0 bin]$ ./dmrman use_ap=2 dcr_ini=/dmdbms/config/dmdcr.ini
RMAN> BACKUP DATABASE '/dmdbms/dmdata/dsc0_config/dm.ini' FULL BACKUPSET '/backup/db_full_bak_for_DSC01'

在这里插入图片描述
–备份检验

RMAN> check BACKUPSET  '/backup/db_full_bak_for_DSC01'

在这里插入图片描述
–把备份拷贝到异步备机db3上

[dmdba@db0 bin]$ scp -r -p 22 /backup/db_full_bak_for_DSC01 192.168.204.14:/dmbak

在这里插入图片描述

2.3.3异步备机db3进行脱机还原

1)关闭数据库服务,开启DmAP服务:
[dmdba@db3 bin]$ ./DmService stop
[dmdba@db3 bin]$ ./DmAPService start
2)脱机还原:

–开启dmrman

[dmdba@db3 bin]$ ./dmrman USE_AP=2

–使用 DMDSC 库的备份集还原恢复到异步备库

RMAN> RESTORE DATABASE '/dmdata/DAMENG/dm.ini' FROM BACKUPSET '/dmbak/db_full_bak_for_DSC01';
RMAN>RECOVER DATABASE '/dmdata/DAMENG/dm.ini' FROM BACKUPSET '/dmbak/db_full_bak_for_DSC01';
RMAN>RECOVER DATABASE '/dmdata/DAMENG/dm.ini' update db_magic;

在这里插入图片描述

2.4启动主库的服务(css、asm、dsc、dw)

由于上述步骤集群只关闭DmService,因此现在只开启DmService,再去查看集群状态。

2.4.1开启主库DSC

[dmdba@db0 bin]$ ./DmService start
[dmdba@db1 bin]$ ./DmService start

2.4.2DSC集群状态

进到数据库bin目录下:

[dmdba@db0 bin]$ ./dmcssm dmcssm.ini
show

在这里插入图片描述

2.4.3守护集群状态

进到数据库bin目录下:

[dmdba@db2 bin]$ ./dmmonitor dmmonitor.ini
show

在这里插入图片描述

2.5配置异步备库

2.5.1配置dm.ini

DSC0/DSC1在原有基础上不做修改;

INSTANCE_NAME = DSC_DW2
PORT_NUM = 5237     #数据库实例监听端口 
DW_INACTIVE_INTERVAL = 60        #接收守护进程消息超时时间 
ALTER_MODE_STATUS = 0       #不允许手工方式修改实例模式/状态 
ENABLE_OFFLINE_TS = 2        #不允许备库 OFFLINE 表空间 
MAL_INI = 1         #打开 MAL 系统 
ARCH_INI = 1           #打开归档配置 
RLOG_SEND_APPLY_MON = 64        #统计最近 64 次的日志发送信息 
TIMER_INI = 1 

2.5.2配置dmmal.ini

在 DMDSC 集群的 dmmal.ini 文件基础上,增加备库 DSC_DW2 的配置项,将原DSC_DW 的配置项注释。所有节点实例的 dmmal.ini 文件内容是一致的,配置完成后,拷贝到每个节点实例dm.ini 中指定的 CONFIG_PATH 目录下。

1)dmmal.ini内容如下:
[dmdba@db0 bin]$ cat /dmdbms/dmdata/dsc0_config/dmmal.ini
MAL_CHECK_INTERVAL = 30
MAL_CONN_FAIL_INTERVAL = 10
[MAL_INST0]
 MAL_INST_NAME = DSC0
 MAL_HOST = 192.168.153.11
 MAL_PORT = 11246
 MAL_INST_HOST = 192.168.204.11
 MAL_INST_PORT = 5237
 MAL_DW_PORT = 11296
MAL_INST_DW_PORT = 11306
[MAL_INST1]
 MAL_INST_NAME = DSC1
 MAL_HOST = 192.168.153.12
 MAL_PORT = 11246
 MAL_INST_HOST = 192.168.204.12
 MAL_INST_PORT = 5237
 MAL_DW_PORT = 11296
MAL_INST_DW_PORT = 11306
#[MAL_INST2]
#MAL_INST_NAME = DSC_DW
#MAL_HOST = 192.168.153.13
#MAL_PORT = 11246
#MAL_INST_HOST = 192.168.204.13
#MAL_INST_PORT = 5237
#MAL_DW_PORT = 11296
#MAL_INST_DW_PORT = 11306
[MAL_INST2]
 MAL_INST_NAME = DSC_DW2
 MAL_HOST = 192.168.153.14
 MAL_PORT = 11246
 MAL_INST_HOST = 192.168.204.14
 MAL_INST_PORT = 5237
 MAL_DW_PORT = 11296
MAL_INST_DW_PORT = 11306
2)拷贝到各节点:
[dmdba@db0 bin]$ scp /dmdbms/dmdata/dsc0_config/dmmal.ini 192.168.204.12:/dmdbms/dmdata/dsc1_config/
[dmdba@db0 bin]$ scp /dmdbms/dmdata/dsc0_config/dmmal.ini 192.168.204.14:/dmdata/DAMENG/

在这里插入图片描述

2.5.3配置dmarch.ini

配置DSC_DW2的同时再次编辑各个DSC节点的dmarch.ini,将文件中[ARCHIVE_ASYNC]部分的ARCH_DEST = DSC_DW注释,增加ARCH_DEST = DSC_DW2;

1)DSC0节点
[dmdba@db0 bin]$ cat /dmdbms/dmdata/dsc0_config/dmarch.ini
ARCH_LOCAL_SHARE=1
ARCH_LOCAL_SHARE_CHECK=0
[ARCHIVE_LOCAL1]
  ARCH_TYPE     = LOCAL
  ARCH_DEST     = +DMARCH/DSC0/arch
  ARCH_FILE_SIZE        = 1024
  ARCH_SPACE_LIMIT      = 40960
[ARCH_REMOTE1]
  ARCH_TYPE     = REMOTE
  ARCH_DEST     = DSC1
  ARCH_INCOMING_PATH   =+DMARCH/DSC1/arch
  ARCH_FILE_SIZE        = 1024
  ARCH_SPACE_LIMIT      = 40960
[ARCHIVE_ASYNC]
ARCH_TYPE = ASYNC
#ARCH_DEST = DSC_DW
ARCH_DEST = DSC_DW2
ARCH_TIMER_NAME = RT_TIMER
2)DSC1节点
[dmdba@db1 bin]$ cat /dmdbms/dmdata/dsc1_config/dmarch.ini
ARCH_LOCAL_SHARE=1
ARCH_LOCAL_SHARE_CHECK=0
[ARCHIVE_LOCAL1]
  ARCH_TYPE     = LOCAL
  ARCH_DEST     = +DMARCH/DSC1/arch
  ARCH_FILE_SIZE        = 1024
  ARCH_SPACE_LIMIT      = 40960
[ARCH_REMOTE1]
  ARCH_TYPE     = REMOTE
  ARCH_DEST     = DSC0
  ARCH_INCOMING_PATH   =+DMARCH/DSC0/arch
  ARCH_FILE_SIZE        = 1024
  ARCH_SPACE_LIMIT      = 40960
[ARCHIVE_ASYNC]
ARCH_TYPE = ASYNC
#ARCH_DEST = DSC_DW
ARCH_DEST = DSC_DW2
ARCH_TIMER_NAME = RT_TIMER
3)DSC_DW2节点
[dmdba@db3 bin]$ cat /dmdata/DAMENG/dmarch.ini
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dmarch
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 102400

2.5.4配置dmwatcher.ini

DSC0/DSC1在原有基础上不做修改;

[dmdba@db3 bin]$ cat /dmdata/DAMENG/dmwatcher.ini
[GRP1]
 DW_TYPE = LOCAL
 DW_MODE = MANUAL
 DW_ERROR_TIME = 60
 INST_RECOVER_TIME = 60
 INST_ERROR_TIME = 35
 INST_INI = /dmdata/DAMENG/dm.ini
 INST_OGUID = 453331
 INST_STARTUP_CMD = /dmdbms/bin/dmserver
 INST_AUTO_RESTART = 0
 RLOG_SEND_THRESHOLD = 0
 RLOG_APPLY_THRESHOLD = 0

2.5.5配置dmmonitor.ini

由于把原备机db2作为监视机器,故将db2中的dmmonitor.ini中的IP替换即可;

[dmdba@db2 bin]$ cat dmmonitor.ini
MON_LOG_PATH = /dmdbms/log
MON_LOG_INTERVAL = 60
MON_LOG_FILE_SIZE = 64
MON_LOG_SPACE_LIMIT = 0
MON_DW_CONFIRM = 0
[GRP1]
MON_INST_OGUID = 453331
#MON_DW_IP = 192.168.153.11:11296/192.168.153.12:11296
MON_DW_IP = 192.168.153.33:11296/192.168.153.12:11296
MON_DW_IP = 192.168.153.14:11296
#MON_DW_IP = 192.168.153.13:11296

在这里插入图片描述

2.6启动异步备库

修改DmService后台启动脚本,以mount状态启动

[dmdba@db3 bin]$ vi DmService

把START_MODE=open改为START_MODE=mount
启动异步备库库数据库服务

[dmdba@db3 bin]$ ./DmService start

2.7设置OGUID/主备模式

DMDSC 集群不做修改;
disql 连接异步备库,设置备库 OGUID、设置备库Standby 模式。

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SQL>SP_SET_OGUID(453331);
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
SQL> ALTER DATABASE STANDBY;

在这里插入图片描述
(此图在4.1补充部分有详解)

2.8启动守护进程

2.8.1修改守护进程后台启动脚本

在节点的目录/dmdbms/bin/service_template拷贝DmWatcherService文件到/ dmdbms/bin目录下,然后修改DmWatcherService中 INI_PATH为指定守护进程配置文件dmwatcher.ini的对应的路径。–/dmdata/DAMENG/dmwatcher.ini

2.8.2启动守护进程

[dmdba@db3 bin]$ ./DmWatcherService start

2.8.3确认数据库状态

DSC0:
在这里插入图片描述
DSC1:
在这里插入图片描述
DSC_DW2:
在这里插入图片描述

2.9集群状态

2.9.1DSC集群

[dmdba@db0 bin]$ ./dmcssm dmcssm.ini
show

在这里插入图片描述

2.9.2守护集群

[dmdba@db2 bin]$ ./dmmonitor dmmonitor.ini
show

在这里插入图片描述

2.10结论

在原有DSC集群的基础上搭建新的异步备机,新异步备机可以加入集群中。

3测试2-替换IP

DSC集群中主库IP做改变(本次测试将DSC0主库IP做替换),修改异步备机及涉及主库原IP的配置文件,最后查看集群状态是否正常。

3.1还原集群状态

不知测试1结果是否影响测试2,故保险起见将集群状态还原回原始状态。

3.1.1过程

1)关闭集群

DSC0:
在这里插入图片描述
DSC1:
在这里插入图片描述
DSC_DW2:
在这里插入图片描述

2)修改配置文件

将测试1中涉及DSC集群的配置以及dmmonitor.ini修改回来。

①dmmal.ini:

在DSC0节点中将DSC_DW2的配置项注释,还原DSC_DW,修改完后拷贝到DSC1节点。
在这里插入图片描述

②dmarch.ini:

DSC0/DSC1节点分别将文件中[ARCHIVE_ASYNC]部分的ARCH_DEST = DSC_DW2注释,还原ARCH_DEST = DSC_DW。
在这里插入图片描述
在这里插入图片描述

③dmmonitor.ini:

修改备机db2中的dmmonitor.ini。
在这里插入图片描述

3.1.2集群状态

按正确顺序启动DMDSC+数据守护集群,查看其状态。

1)启动集群
[dmdba@db0 bin]$ ./DmCSSService start
[dmdba@db1 bin]$ ./DmCSSService start
[dmdba@db0 bin]$ ./DmASMSvrService start
[dmdba@db1 bin]$ ./DmASMSvrService start
[dmdba@db0 bin]$ ./DmService start
[dmdba@db1 bin]$ ./DmService start
[dmdba@db2 bin]$ ./DmService start
[dmdba@db0 bin]$ ./DmWatcherService start
[dmdba@db1 bin]$ ./DmWatcherService start
[dmdba@db2 bin]$ ./DmWatcherService start
2)确认数据库状态

DSC0:
在这里插入图片描述
DSC1:
在这里插入图片描述
DSC_DW:
在这里插入图片描述

3)DSC集群状态
[dmdba@db0 bin]$ ./dmcssm dmcssm.ini
show

在这里插入图片描述

4)守护集群状态
[dmdba@db2 bin]$ ./dmmonitor dmmonitor.ini
show

在这里插入图片描述

3.2关闭集群

按正确顺序关闭DSC集群+守护集群。

[dmdba@db2 bin]$ ./DmWatcherService stop
[dmdba@db1 bin]$ ./DmWatcherService stop
[dmdba@db0 bin]$ ./DmWatcherService stop
[dmdba@db0 bin]$ ./DmService stop
[dmdba@db1 bin]$ ./DmService stop
[dmdba@db2 bin]$ ./DmService stop
[dmdba@db0 bin]$ ./DmASMSvrService stop
[dmdba@db1 bin]$ ./DmASMSvrService stop
[dmdba@db0 bin]$ ./DmCSSService stop
[dmdba@db1 bin]$ ./DmCSSService stop

3.3修改主库DSC0的IP

修改后的IP为:192.168.153.33/192.168.204.33
在这里插入图片描述

3.4修改配置文件

将涉及到主库DSC0原IP 192.168.204.11/192.168.153.11的配置文件进行修改。

3.4.1DSC集群文件dmdcr_cfg.ini

dmdcr_cfg.ini文件需从ASM中导出来。

1)导出dmdcr_cfg.ini
[dmdba@db0 bin]$ ./dmasmcmd
ASM>export dcrdisk '/dev/asm-dmdcr' to /dmdbms/dmdcr_cfg.ini

在这里插入图片描述

2)修改dmdcr_cfg.ini

部分内容截图:
在这里插入图片描述

3)导入dmdcr_cfg.ini
[dmdba@db0 bin]$ ./dmasmcmd
ASM>import dcrdisk '/dmdbms/dmdcr_cfg.ini' to '/dev/asm-dmdcr'

在这里插入图片描述

3.4.2DSC集群文件dmasvrmal.ini

DSC0:

[dmdba@db0 bin]$ cat /dmdbms/config/dmasvrmal.ini
[MAL_INST1]
    MAL_INST_NAME              = ASM0
    #MAL_HOST                    = 192.168.153.11
    MAL_HOST                    = 192.168.153.33
    MAL_PORT                    = 11266
[MAL_INST2]
    MAL_INST_NAME              = ASM1
    MAL_HOST                    = 192.168.153.12
    MAL_PORT                    = 11266

在这里插入图片描述
因两节点dmasvrmal.ini内容一致,故将其传到DSC1节点:

[dmdba@db0 bin]$ scp /dmdbms/config/dmasvrmal.ini 192.168.204.12:/dmdbms/config/

在这里插入图片描述

3.4.3DSC集群文件dmcssm.ini

DSC0:
监视器配置在DSC0数据库bin目录下;

[dmdba@db0 bin]$ cat dmcssm.ini
CSSM_OGUID      = 63635
#CSSM_CSS_IP     = 192.168.153.11:11286
CSSM_CSS_IP     = 192.168.153.33:11286
CSSM_CSS_IP     = 192.168.153.12:11286
CSSM_LOG_PATH   = ../log
CSSM_LOG_FILE_SIZE      = 32
CSSM_LOG_SPACE_LIMIT    = 0

在这里插入图片描述

3.4.4守护集群文件dmmal.ini

所有节点实例的 dmmal.ini 文件内容是一致的,配置完成后,拷贝到每个节点实例
dm.ini 中指定的 CONFIG_PATH 目录下。
DSC0(部分文件内容截图):
在这里插入图片描述
拷贝到各个节点:
在这里插入图片描述

3.4.5守护集群文件dmmonitor.ini

监视器配置在db2数据库bin目录下;
在这里插入图片描述

3.5启动集群

3.5.1按正确顺序启动DSC集群+守护集群

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.5.2确认数据库状态

DSC0:
在这里插入图片描述
DSC1:
在这里插入图片描述
DSC_DW:
在这里插入图片描述

3.6集群状态

3.6.1DSC集群

[dmdba@db0 bin]$ ./dmcssm dmcssm.ini
show

在这里插入图片描述

3.6.2守护集群

[dmdba@db2 bin]$ ./dmmonitor dmmonitor.ini
show

在这里插入图片描述

3.7结论

在DSC集群中替换主库IP后,修改相关配置文件,集群状态是正常的。

4补充

4.1测试1中的2.7设置OGUID/主备模式部分

在这里插入图片描述
1)db3处于主库配置状态----因为dsc集群备份时为主库配置状态,故异步备机还原后同为此状态;

2)解读报错提示:[-720]:守护进程处于活动状态,或当前配置(ALTER_MODE_STATUS)不允许该操作.

此次报错是因为当前ALTER_MODE_STATUS值为0,表示不可通过sql语句修改数据库模式和状态。

还有一种可能是守护进程处于活动状态(测试到此步骤db3还未开启守护进程,故不涉及),解决方法:先将与此主备集群相关的所有watcher、monitor关闭,执行SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 1);再执行其他相关操作。

3)ALTER_MODE_STATUS是否允许数据库用户通过sql修改数据库模式和状态,1:是,0:否 当ALTER_MODE_STATUS=1时,可通过SQL语句切换数据库模式,不影响集群。

4.2dmdcr_cfg.ini作用

dmdcr_cfg.ini 是格式化 DCR 和 Voting Disk 的配置文件。配置信息包括三类:集群环境全局信息、集群组信息、以及组内节点信息。

使用 dmasmcmd 工具,可以根据 dmdcr_cfg.ini 配置文件,格式化 DCR 和 Voting Disk。

由上述可知,3.4.1中的dmdcr_cfg.ini需通过dmasmcmd 工具从ASM中导出修改再导入,集群状态方可正常。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值