达梦数据库两节点DSC+1DW集群搭建


一、实验背景

为增加共享存储集群的冗余性,建议可在共享存储集群构架上再增加一台实时备机,保障系统的数据安全和实时稳定。
本实验练习在两节点的DSC集群基础上,新增一台实时备机,增加数据库的高可靠性。
在这里插入图片描述

二、实验要求

完成2节点dsc+1节点dw的部署

三、实验步骤

1 集群规划

1.1 地址规划

表1 地址规划

服务器名DM1DM2DM_DW
业务IP192.168.75.141192.168.75.142192.168.75.144
内部IP1.1.1.111.1.1.121.1.1.14
OGUID123412341234

1.2 DSC端口规划

表2 实例端口规划(dmdcr_cfg)

服务器名实例名IPPORT_NUM
DM1CSS1192.168.75.1415230
ASM15231
DSC15232
DM2CSS2192.168.75.1425230
ASM25231
DSC25232

表3 其它端口规划

服务器名配置文档实例名端口类型PORT_NUM
DM1dmasvrmalASM1MAL_PORT5233
dminitDSC1PORT_NUM5232
dmasvrmalDSC1MAL_PORT5235
DM2dmasvrmalASM2MAL_PORT5233
dminitDSC2PORT_NUM5232
dmasvrmalDSC2MAL_PORT5235

1.3 实时备机端口规划(增)

实例名PORT_NUMMAL_PORTMAL_DW_PORTMAL_INST_DW_PORT
DW15232523552345236

1.4 用户和用户组规划

两台机器均创建用户和组:

groupadd dmdba
useradd dmdba -g dmdba
passwd dmdba

1.5 目录规划

两台机器均准备:
(1)使用dmdba用户创建用于DSC环境搭建的目录:/home/dmdba/dmdsc
(2)DM执行码和工具存放的目录:/home/dmdba/dmdsc/bin
(3)配置文件存放的目录:两台分别为/home/dmdba/dmdsc/data/DSC1和/home/dmdba/dmdsc/data/DSC2
实时备机目录:
(1)数据库安装目录/dm8
(2)数据库目录/dm8/data
(3)归档目录:/dm8/data/arch

1.6 存储规划(实验用)

磁盘名称大小文件命名用途
SCR磁盘1GDSCShare_1G_1.vmdk记录存储、集群配置的详细信息
VOTE磁盘1GDSCShare_1G_2.vmdk存储VTD文件,记录集群成员信息,并通过VOTE DISK进行心跳检测,确定节点状态。
DMDATA磁盘10GDSCShare_10G_1.vmdk
DMLOG磁盘10GDSCShare_10G_2.vmdk
归档日志5GDSCShare_5G_1.vmdk

所有存储只需要挂在给DSC两节点,实时备份节点不需要挂载

2 参数配置

2.1 创建用户、目录并安装数据库

正常初始化数据库
正常初始化数据库
在这里插入图片描述
注意:无需初始化数据库,新建目录保存配置文件即可

2.2 存储配置

参考:https://blog.csdn.net/January01/article/details/119008348
使用vmware-vdiskmanager.exe工具创建共享磁盘,分别为1G、1G、10G、10G大小。(注意工具的位置和创建磁盘的目录根据自己的需要进行修改)
注意最后一条为新增

D:\vmware\vmware-vdiskmanager.exe -c -s 1Gb -a lsilogic -t 2 "E:\98_VMware\share_disk\DSCShare_1G_1.vmdk
D:\vmware\vmware-vdiskmanager.exe -c -s 1Gb -a lsilogic -t 2 "E:\98_VMware\share_disk\DSCShare_1G_2.vmdk
D:\vmware\vmware-vdiskmanager.exe -c -s 1Gb -a lsilogic -t 2 "E:\98_VMware\share_disk\DSCShare_10G_1.vmdk
D:\vmware\vmware-vdiskmanager.exe -c -s 1Gb -a lsilogic -t 2 "E:\98_VMware\share_disk\DSCShare_10G_1.vmdk
D:\vmware\vmware-vdiskmanager.exe -c -s 5Gb -a lsilogic -t 2 "E:\98_VMware\share_disk\DSCShare_5G_1.vmdk

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

把磁盘挂在给第一台虚拟机,并修改两台虚拟机的vmx文件,在文件后面添加以下内容:注意虚拟设备节点根据实际情况修改。

注意有新增

sata0:1.mode="independent-persistent"
sata0:1.SharedBus="Virtual"
sata0:2.mode="independent-persistent"
sata0:2.SharedBus="Virtual"
sata0:3.mode="independent-persistent"
sata0:3.SharedBus="Virtual"
sata0:0.mode="independent-persistent"
sata0:0.SharedBus="Virtual"
sata0:4.mode="independent-persistent"
sata0:4.SharedBus="Virtual"
disk.locking="FALSE"
disk.EnableUUID="TRUE"

保存vmx文件,已现有文件的方式挂载磁盘后,启动第二台虚拟机,磁盘可以被正常挂载。

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

使用UDEV工具来固定磁盘,先查看磁盘的scsi_id,查询命令如下:

/usr/lib/udev/scsi_id -g -u /dev/sdb
/usr/lib/udev/scsi_id -g -u /dev/sdc
/usr/lib/udev/scsi_id -g -u /dev/sdd
/usr/lib/udev/scsi_id -g -u /dev/sde
/usr/lib/udev/scsi_id -g -u /dev/sdf

编写/etc/udev/rules.d/66-dmdevices.rules,创建磁盘软链接

## DCR磁盘配置,且在软链接之前创建文件夹 /dev_DSC2
KERNEL=="sd*",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="35000c29082f479d4",SYMLINK+="DCR", OWNER="dmdba", GROUP="dmdba", MODE="0660", RUN+="/bin/sh -c 'chown dmdba:dmdba /dev/$name;mkdir -p /dev_DSC2; ln -s /dev/DCR /dev_DSC2/DCR'"
## VOTE 磁盘配置
KERNEL=="sd*",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="35000c293c79e120a",SYMLINK+="VOTE", OWNER="dmdba", GROUP="dmdba", MODE="0660", RUN+="/bin/sh -c 'chown dmdba:dmdba /dev/$name; ln -s /dev/VOTE /dev_DSC2/VOTE'"
## DMDATA 磁盘配置
KERNEL=="sd*",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="35000c2960951fe60",SYMLINK+="DMDATA", OWNER="dmdba", GROUP="dmdba", MODE="0660", RUN+="/bin/sh -c 'chown dmdba:dmdba /dev/$name; ln -s /dev/DMDATA /dev_DSC2/DMDATA'"
## DMLOG 磁盘配置,且在搭建完成之后,将权限直接赋予 dmdba组的dmdba用户
KERNEL=="sd*",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="35000c291ba9a6f99",SYMLINK+="DMLOG", OWNER="dmdba", GROUP="dmdba", MODE="0660", RUN+="/bin/sh -c 'chown dmdba:dmdba /dev/$name; ln -s /dev/DMLOG /dev_DSC2/DMLOG ; chown -R dmdba:dmdba /dev_DSC2'"
## ARCH 磁盘配置,且在搭建完成之后,将权限直接赋予 dmdba组的dmdba用户
KERNEL=="sd*",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="35000c2947250e00e",SYMLINK+="ARCH", OWNER="dmdba", GROUP="dmdba", MODE="0660", RUN+="/bin/sh -c 'chown dmdba:dmdba /dev/$name; ln -s /dev/ARCH /dev_DSC2/ARCH ; chown -R dmdba:dmdba /dev_DSC2'"

重启 systemd-udev-trigger 服务。

systemctl restart systemd-udev-trigger

查看磁盘权限:

ls -lth /dev_DSC2/

在这里插入图片描述

2.3 dmdcr_cfg.ini 文件配置(DM1)

配置文件dmdcr_cfg.ini存放于服务器DM1的/home/dmdba/dmdsc/data/DSC1,内容如下:

DCR_N_GRP= 3
DCR_VTD_PATH=/dev_DSC2/VOTE
DCR_OGUID= 1234
[GRP]
  DCR_GRP_TYPE = CSS
  DCR_GRP_NAME = GRP_CSS
  DCR_GRP_N_EP = 2
  DCR_GRP_DSKCHK_CNT = 60

[GRP_CSS]
  DCR_EP_NAME = CSS1
  DCR_EP_HOST = 1.1.1.11
  DCR_EP_PORT = 5230

[GRP_CSS]
  DCR_EP_NAME = CSS2
  DCR_EP_HOST = 1.1.1.12
  DCR_EP_PORT = 5230

[GRP]
DCR_GRP_TYPE= ASM
DCR_GRP_NAME= GRP_ASM
DCR_GRP_N_EP= 2
DCR_GRP_DSKCHK_CNT= 60

[GRP_ASM]
DCR_EP_NAME= ASM1
DCR_EP_SHM_KEY= 64735
DCR_EP_SHM_SIZE= 512
DCR_EP_HOST= 1.1.1.11
DCR_EP_PORT= 5231
DCR_EP_ASM_LOAD_PATH= /dev_DSC2

[GRP_ASM]
DCR_EP_NAME= ASM2
DCR_EP_SHM_KEY= 54736
DCR_EP_SHM_SIZE= 512
DCR_EP_HOST= 1.1.1.12
DCR_EP_PORT= 5231
DCR_EP_ASM_LOAD_PATH= /dev_DSC2

[GRP]
DCR_GRP_TYPE= DB
DCR_GRP_NAME= GRP_DSC
DCR_GRP_N_EP= 2
DCR_GRP_DSKCHK_CNT= 60

[GRP_DSC]
DCR_EP_NAME= DSC1
DCR_EP_SEQNO= 0
DCR_EP_PORT= 5232

[GRP_DSC]
DCR_EP_NAME= DSC2
DCR_EP_SEQNO= 1
DCR_EP_PORT= 5232

2.4 使用dmasmcmd工具初始化磁盘(DM1)

在DM1上使用dmasmcmd工具初始化磁盘:
有新增

create dcrdisk '/dev_DSC2/DCR' 'DCR'
create votedisk '/dev_DSC2/VOTE' 'VOTE'
create asmdisk '/dev_DSC2/DMDATA' 'DMDATA'
create asmdisk '/dev_DSC2/DMLOG' 'DMLOG'
create asmdisk '/dev_DSC2/ARCH' 'ARCH'
init dcrdisk '/dev_DSC2/DCR' from '/home/dmdba/dmdsc/data/DSC1/dmdcr_cfg.ini' identified by 'SYSDBA'
init votedisk '/dev_DSC2/VOTE' from '/home/dmdba/dmdsc/data/DSC1/dmdcr_cfg.ini'

在这里插入图片描述
在这里插入图片描述
新增:
在这里插入图片描述

说明:如需要清理实验环境,需要重新初始化磁盘,此时会抹除数据

2.5 dmasvrmal.ini文件(DM1,DM2)

dmasvrmal.ini文件保存在/home/dmdba/dmdsc/data/DSC1下,DM1和DM2的配置一致。

[MAL_INST1]
MAL_INST_NAME=ASM1
MAL_HOST=1.1.1.11
MAL_PORT=5233
[MAL_INST2]
MAL_INST_NAME= ASM2
MAL_HOST= 1.1.1.12
MAL_PORT= 5233

2.6 dmarch.ini文件配置

##DM1节点修改 dm.ini

[dmdba@~]# vi /home/dmdba/dmdsc/data/DSC1/dm.ini
ARCH_INI                 = 1

##创建 dmarch.ini

[dmdba@~]# vi /home/dmdba/dmdsc/data/DSC1/dmarch.ini
ARCH_WAIT_APPLY = 0
ARCH_LOCAL_SHARE = 1
ARCH_LOCAL_SHARE_CHECK=0
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +ARCH/ARCH/DSC1/arch
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 2048
[ARCHIVE_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC2
ARCH_INCOMING_PATH = +ARCH/ARCH/DSC2/arch
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 2048

2.7 dmdcr.ini文件配置

DM1和DM2的配置仅DMDCR_SEQNO有区别,当前为手动拉起两个节点的ASM和DMSERVER服务。待集群配置完成后,再去掉注释符号##,修改为自动拉起
DM1节点配置:

[dmdba@~]# vi /home/dmdba/dmdsc/data/DSC1/dmdcr.ini
DMDCR_PATH=/dev_DSC2/DCR
DMDCR_MAL_PATH=/home/dmdba/dmdsc/data/DSC1/dmasvrmal.ini
DMDCR_SEQNO=0
DMDCR_AUTO_OPEN_CHECK=111
DMDCR_ASM_TRACE_LEVEL =2
#DMDCR_ASM_RESTART_INTERVAL   = 30  #CSS 认定 ASM 故障重启的时间
#DMDCR_ASM_STARTUP_CMD=/home/dmdba/dmdsc/bin/DmASMSvrServiceASM start
#DMDCR_DB_RESTART_INTERVAL= 60##CSS认定DSC 故障重启的时间,设置为 0 不自动拉起
#DMDCR_DB_STARTUP_CMD=/home/dmdba/dmdsc/bin/DmServiceDSC start

DM2节点修改DMDCR_SEQNO为1,注意修改ini文件目录名

[dmdba@~]#vi /home/dmdba/dmdsc/data/DSC2/dmdcr.ini
DMDCR_PATH=/dev_DSC2/DCR
DMDCR_MAL_PATH=/home/dmdba/dmdsc/data/DSC2/dmasvrmal.ini
DMDCR_SEQNO=1
DMDCR_AUTO_OPEN_CHECK=111
DMDCR_ASM_TRACE_LEVEL =2
#DMDCR_ASM_RESTART_INTERVAL   = 30  #CSS 认定 ASM 故障重启的时间
#DMDCR_ASM_STARTUP_CMD=/home/dmdba/dmdsc/bin/DmASMSvrServiceASM start
#DMDCR_DB_RESTART_INTERVAL= 60##CSS认定DSC 故障重启的时间,设置为 0 不自动拉起
#DMDCR_DB_STARTUP_CMD=/home/dmdba/dmdsc/bin/DmServiceDSC start

2.8 启动DMCSS和DMASM服务

启动DMCSS服务

[dmdba@dm1 bin]$ ./dmcss dcr_ini=/home/dmdba/dmdsc/data/DSC1/dmdcr.ini
[dmdba@dm2 bin]$ ./dmcss dcr_ini=/home/dmdba/dmdsc/data/DSC2/dmdcr.ini

在这里插入图片描述
启动DMASM服务

[dmdba@dm1 bin]$ ./dmasmsvr dcr_ini=/home/dmdba/dmdsc/data/DSC1/dmdcr.ini
[dmdba@dm2 bin]$ ./dmasmsvr dcr_ini=/home/dmdba/dmdsc/data/DSC2/dmdcr.ini

在这里插入图片描述

2.9 创建DMASM磁盘组

在DM1上使用DMASMTOOL工具创建ASM磁盘组:

/home/dmdba/dmdsc/bin/dmasmtool dcr_ini=/home/dmdba/dmdsc/data/DSC1/dmdcr.ini

创建DATA磁盘组和LOG磁盘组
有新增

create diskgroup 'DMDATA' asmdisk '/dev_DSC2/DMDATA'
create diskgroup 'DMLOG' asmdisk '/dev_DSC2/DMLOG'
create diskgroup 'ARCH' asmdisk '/dev_DSC2/ARCH'

在这里插入图片描述

2.10 dminit.ini文件配置

##创建 dminit.ini 文件保存在/home/dmdba/data/DSC1上

DB_NAME= dsc2
SYSDBA_PWD= SYSDBA_PWD
SYSTEM_PATH= +DMDATA/data
SYSTEM= +DMDATA/data/dsc2/SYSTEM.dbf
SYSTEM_SIZE= 512
ROLL= +DMDATA/data/dsc2/ROLL.dbf
ROLL_SIZE= 512
MAIN= +DMDATA/data/dsc2/MAIN.dbf
MAIN_SIZE= 512
CTL_PATH= +DMDATA/data/dsc2/dm.ctl
CTL_SIZE= 8
LOG_SIZE= 512
DCR_PATH= /dev_DSC2/DCR
DCR_SEQNO= 0
AUTO_OVERWRITE= 2
PAGE_SIZE= 32
EXTENT_SIZE = 16
BLANK_PAD_MODE= 1

[DSC1]
CONFIG_PATH= /home/dmdba/dmdsc/data/DSC1
PORT_NUM= 5232
MAL_HOST= 1.1.1.11
MAL_PORT= 5235
LOG_PATH= +DMLOG/DSC0_LOG01.log
LOG_PATH= +DMLOG/DSC0_LOG02.log
[DSC2]
CONFIG_PATH= /home/dmdba/dmdsc/data/DSC2
PORT_NUM= 5232
MAL_HOST= 1.1.1.12
MAL_PORT= 5235
LOG_PATH= +DMLOG/DSC1_LOG01.log
LOG_PATH= +DMLOG/DSC1_LOG02.log

##在 DM1 节点执行初始化 db 命令(路径需修改)

[dmdba@~]# ./dminit control=/home/dmdba/dmdsc/data/DSC1/dminit.ini

在这里插入图片描述
##拷贝文件到 db1 节点

[dmdba@dm1 data]$ scp -r DSC2 1.1.1.12:/home/dmdba/dmdsc/data/

2.11 dmarch.ini文件配置(实验如不开启归档可不配置)

DM1节点:
##修改 dm.ini,如不开启归档,可不配置

ARCH_INI= 1

##创建 dmarch.ini

ARCH_WAIT_APPLY = 0
ARCH_LOCAL_SHARE = 1
ARCH_LOCAL_SHARE_CHECK=0
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMARCH/ARCH/DSC1/arch
ARCH_FILE_SIZE = 512
ARCH_SPACE_LIMIT = 1024
[ARCHIVE_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC2
ARCH_INCOMING_PATH = +DMARCH/ARCH/DSC2/arch
ARCH_FILE_SIZE = 512
ARCH_SPACE_LIMIT = 1024

DM2节点:
##修改 dm.ini

ARCH_INI= 1

##创建 dmarch.ini

ARCH_WAIT_APPLY = 0
ARCH_LOCAL_SHARE = 1
ARCH_LOCAL_SHARE_CHECK=0
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMARCH/ARCH/DSC2/arch
ARCH_FILE_SIZE = 512
ARCH_SPACE_LIMIT = 1024
[ARCHIVE_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC1
ARCH_INCOMING_PATH = +DMARCH/ARCH/DSC1/arch
ARCH_FILE_SIZE = 512
ARCH_SPACE_LIMIT = 1024

2.12 手动拉起集群

##DM1 机器

[dmdba@dm1 bin]$ ./dmserver /home/dmdba/dmdsc/data/DSC1/dm.ini dcr_ini=/home/dmdba/dmdsc/data/DSC1/dmdcr.ini

在这里插入图片描述
##DM2 机器

[dmdba@dm1 bin]$ ./dmserver /home/dmdba/dmdsc/data/DSC2/dm.ini dcr_ini=/home/dmdba/dmdsc/data/DSC2/dmdcr.ini

在这里插入图片描述

2.13 注册服务

##DM1 机器

[root@~]# /home/dmdba/dmdsc/script/root/dm_service_installer.sh -t dmcss -dcr_ini /home/dmdba/dmdsc/data/DSC1/dmdcr.ini -p CSS
[root@~]# /home/dmdba/dmdsc/script/root/dm_service_installer.sh -t dmasmsvr -dcr_ini /home/dmdba/dmdsc/data/DSC1/dmdcr.ini -y DmCSSServiceCSS.service -p ASM
[root@~]# /home/dmdba/dmdsc/script/root/dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dmdsc/data/DSC1/dm.ini -dcr_ini /home/dmdba/dmdsc/data/DSC1/dmdcr.ini -y DmASMSvrServiceASM.service -m open -p DSC

##DM2 机器

[root@~]# /dm/dmdbms/script/root/dm_service_installer.sh -t dmcss -dcr_ini /dm/dmdbms/dsc_config/dmdcr.ini -p CSS
[root@~]# /dm/dmdbms/script/root/dm_service_installer.sh -t dmasmsvr -dcr_ini /dm/dmdbms/dsc_config/dmdcr.ini -y DmCSSServiceCSS.service -p ASM
[root@~]# /dm/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /dm/dmdbms/dsc_config/DSC1/dm.ini -dcr_ini /dm/dmdbms/dsc_config/dmdcr.ini -y DmASMSvrServiceASM.service -m -p DSC

3 实时备机搭建

3.1 基本环境准备

(1)准备用户和目录、准备网络、安装数据库
(2)停止DSC集群的DMSERVER服务

3.2 备份DSC集群数据并在备机上恢复

##备份 DM1 机器数据

[dmdba@dm1 bin]$ ./dmrman dcr_ini=../data/DSC1/dmdcr.ini
RMAN> backup database '/home/dmdba/dmdsc/data/DSC1/dm.ini' full backupset '/home/dmdba/BACKUP_FILE1'

在这里插入图片描述
##检查备份文件有效性

RMAN> check backupset '/home/dmdba/BACKUP_FILE1' ;

在这里插入图片描述
将备份文件发送到 DM_DW 机器

[dmdba@~]# scp -r /home/dmdba/BACKUP_FILE dmdba@1.1.1.14:/home/dmdba/

登录备机使用 rman 进行还原(注意:备机初始化参数要与主库一致)

[dmdba@dm_dw bin]$ ./dmrman 
RMAN> check backupset '/home/dmdba/BACKUP_FILE1' ;
RMAN>RESTORE DATABASE  '/dm8/data/DW1/dm.ini' FROM BACKUPSET '/home/dmdba/BACKUP_FILE1';
RMAN>RECOVER DATABASE '/dm8/data/DW1/dm.ini' FROM BACKUPSET '/home/dmdba/BACKUP_FILE1';
RMAN>RECOVER DATABASE '/dm8/data/DW1/dm.ini' UPDATE DB_MAGIC;

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

3.3 dm.ini文件修改

##修改DSC集群dm.ini文件,DM1 和DM2 机器该配置相同

[dmdba@dm1 ~]$ vi /home/dmdba/dmdsc/data/DSC1/dm.ini
DW_INACTIVE_INTERVAL = 60 #接收守护进程消息超时时间 
ALTER_MODE_STATUS = 0 #不允许手工方式修改实例模式/状态/OGUID 
ENABLE_OFFLINE_TS = 2 #不允许备库 OFFLINE 表空间 
MAL_INI = 1 #打开 MAL 系统
ARCH_INI = 1 #打开归档配置 
RLOG_SEND_APPLY_MON = 64 #统计最近 64 次的日志发送信息

##修改DM_DW机器的dm.ini文件

[dmdba@~]# vi /dm8/data/DW1/dm.ini
INSTANCE_NAME = DW01
PORT_NUM = 5232 #数据库实例监听端口 
DW_INACTIVE_INTERVAL = 60 #接收守护进程消息超时时间 
ALTER_MODE_STATUS = 0 #不允许手工方式修改实例模式/状态/OGUID
ENABLE_OFFLINE_TS = 2 #不允许备库 OFFLINE 表空间
MAL_INI = 1 #打开 MAL 系统
ARCH_INI = 1 #打开归档配置
RLOG_SEND_APPLY_MON = 64 #统计最近 64 次的日志发送信息

3.4 配置dmmal.ini文件

DSC集群中DM1和DM2服务器的dmmal.ini文件需要修改,DM_DW服务器需新建dmmal.ini文件,三台服务器文件必须保持一致。

[dmdba@dm1 ~]$ cat  /home/dmdba/dmdsc/data/DSC1/dmmal.ini
MAL_CHECK_INTERVAL=87
MAL_CONN_FAIL_INTERVAL=180
MAL_SYS_BUF_SIZE=600
MAL_BUF_SIZE=300
MAL_VPOOL_SIZE=500
MAL_COMPRESS_LEVEL=0
[MAL_INST0]
MAL_INST_NAME            = DSC1
MAL_HOST                 = 1.1.1.11
MAL_PORT                 = 5235
MAL_INST_HOST            = 192.168.75.141
MAL_INST_PORT            = 5232
MAL_DW_PORT              = 5234
MAL_INST_DW_PORT         = 5236
[MAL_INST1]
MAL_INST_NAME            = DSC2
MAL_HOST                 = 1.1.1.12
MAL_PORT                 = 5235
MAL_INST_HOST            = 192.168.75.142
MAL_INST_PORT            = 5232
MAL_DW_PORT              = 5234
MAL_INST_DW_PORT         = 5236
[MAL_INST2]
MAL_INST_NAME            = DW1
MAL_HOST                 = 1.1.1.14
MAL_PORT                 = 5235
MAL_INST_HOST            = 192.168.75.144
MAL_INST_PORT            = 5232
MAL_DW_PORT              = 5234
MAL_INST_DW_PORT         = 5236

3.5 配置dmmarch.ini

DM1:

[dmdba@dm1 ~]$ cat dmdsc/data/DSC1/dmarch.ini
ARCH_WAIT_APPLY = 0
ARCH_LOCAL_SHARE = 1
ARCH_LOCAL_SHARE_CHECK=0
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +ARCH/ARCH/DSC1/arch
ARCH_FILE_SIZE = 512
ARCH_SPACE_LIMIT = 1024
[ARCHIVE_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC2
ARCH_INCOMING_PATH = +ARCH/ARCH/DSC2/arch
ARCH_FILE_SIZE = 512
ARCH_SPACE_LIMIT = 1024
[ARCHIVE_REALTIME1]
ARCH_TYPE=REALTIME
ARCH_DEST=DW1

DM2:

[dmdba@dm2 bin]$ cat ../data/DSC2/dmarch.ini
ARCH_WAIT_APPLY = 0
ARCH_LOCAL_SHARE = 1
ARCH_LOCAL_SHARE_CHECK=0
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +ARCH/ARCH/DSC2/arch
ARCH_FILE_SIZE = 512
ARCH_SPACE_LIMIT = 1024
[ARCHIVE_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC1
ARCH_INCOMING_PATH = +ARCH/ARCH/DSC1/arch
ARCH_FILE_SIZE = 512
ARCH_SPACE_LIMIT = 1024
[ARCHIVE_REALTIME1]
ARCH_TYPE=REALTIME
ARCH_DEST=DW1

DM_DW:

[ARCHIVE_REALTIME] 
ARCH_TYPE = REALTIME #实时归档类型 
ARCH_DEST = DSC1/DSC2  #实时归档目标实例名 
[ARCHIVE_LOCAL1] 
ARCH_TYPE = LOCAL #本地归档类型 
ARCH_DEST = /dm8/data/arch  #本地归档文件存放路径 
ARCH_FILE_SIZE = 512  
ARCH_SPACE_LIMIT = 1024 #单位 Mb,0 表示无限制,范围 1024~4294967294M 

3.6 配置dmwatcher.ini

DM1:

[GRP1]
DW_TYPE = GLOBAL
DW_MODE = MANUAL
DW_ERROR_TIME = 120
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 120
INST_OGUID = 11111
INST_INI = /home/dmdba/dmdsc/data/DSC1/dm.ini
DCR_INI=/home/dmdba/dmdsc/data/DSC1/dmdcr.ini
INST_STARTUP_CMD = /home/dmdba/dmdsc/bin/DmCSSServiceDSC start
INST_AUTO_RESTART = 0
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0

DM1:

[GRP1]
DW_TYPE = GLOBAL
DW_MODE = MANUAL
DW_ERROR_TIME = 120
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 120
INST_OGUID = 11111
INST_INI = /home/dmdba/dmdsc/data/DSC2/dm.ini
DCR_INI=/home/dmdba/dmdsc/data/DSC2/dmdcr.ini
INST_STARTUP_CMD = /home/dmdba/dmdsc/bin/DmCSSServiceDSC start
INST_AUTO_RESTART = 0
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0

DM_DW:

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

3.7 配置DSC+DW监视器

MON_DW_CONFIRM         = 1
MON_LOG_PATH           = /home/dmdba/dmdsc/data/DSC1/log
MON_LOG_INTERVAL       = 0
MON_LOG_FILE_SIZE      = 32
MON_LOG_SPACE_LIMIT    = 0
[GRP1]
MON_INST_OGUID    = 11111
MON_DW_IP         = 192.168.75.141:5232/192.168.75.142:5232
MON_DW_IP         = 192.168.75.144:5232

3.8 注册服务

##DM1 机器

[root@~]# /home/dmdba/dmdsc/script/root/dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /home/dmdba/dmdsc/data/DSC1/dmwatcher.ini

##DM2 机器

[root@~]# /home/dmdba/dmdsc/script/root/dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /home/dmdba/dmdsc/data/DSC2/dmwatcher.ini

##DM_DW 机器

[root@~]# /dm8/script/root/dm_service_installer.sh -t dmserver -p DW1 -dm_ini /dm8/data/DW1/dm.ini
[root@~]# /dm8/script/root/dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /dm8/data/DW1/dmwatcher.ini

3.9 启动数据库并修改参数

以mount方式分别启动DSC及备库,并修改参数

/home/dmdba/dmdsc/bin/dmserver path=/home/dmdba/dmdsc/data/DSC2/dm.ini dcr_ini=/home/dmdba/dmdsc/data/DSC2/dmdcr.ini mount

启动后监视器查看DSC集群已状态正常
在这里插入图片描述
##使用 disql 连接 dsc 数据库执行:

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SQL>sp_set_oguid(11111);
SQL> alter database primary;
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

##使用 disql 连接备库数据库执行:

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SQL>sp_set_oguid(11111);
SQL> alter database standby;
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

在这里插入图片描述
##主备分别启动守护进程

./DmWatcherServiceWatcher start 

3.10 启动dmcssm和dmmonitor监视器

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

4 服务启动和关闭顺序

4.1 启动

(1)启动DSC集群的CSS服务,服务配置30s自动拉起ASM,60s自动拉起DSC
(2)启动所有节点的守护进程,守护进程会自动拉起备机

4.2 关闭

(1)DSC集群DMSERVER服务
(2)DSC集群ASM服务
(3)DSC集群CSS服务
(4)所有节点的守护进程
(5)备节点的DMSERVER服务

四、实验结论

(1)完成2节点DSC集群+1DW备机环境搭建,配置文件较多,手动配置较复杂
(2)在原有DSC集群的基础上,备机可以多提供一层保障。

五、实验心得

1 备库的RSTAT始终处于IVALID状态

原因:备库的归档目录没有生成归档文件,重启后正常
在这里插入图片描述

社区地址:https://eco.dameng.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值