4.1 DSC共享存储集群のDMASM两节点
一、前期规划
1.1 系统规划
1.2 IP与端口规划
1.3 共享存储规划
1.4 本地存储规划
二、搭建过程
2.1 环境准备
2.1.1 配置主机名
++ 1. 针对RHEL 6.x 修改主机名
vim /etc/sysconfig/network
HOSTNAME=dmdsc1
#HOSTNAME=dmdsc2
++ 1. 针对RHEL 7.x 修改主机名
hostnamectl set-hostname dmdsc1
#hostnamectl set-hostname dmdsc2
++ 2. 添加hosts
echo "192.168.1.11 dsc01" >> /etc/hosts
echo "192.168.1.12 dsc02" >> /etc/hosts
++ 3. 临时设置主机名,当前生效
hostname dmdsc1
#hostname dmdsc2
2.1.2 关闭防火墙和SELinux
++ 1. 针对RHEL 6.x 关闭防火墙
service iptables stop
chkconfig iptables off
++ 1. 针对RHEL 7.x 关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
++ 2. 禁用SELinux
setenforce 0
sed -i s:^SELINUX=.*$:SELINUX=disabled:g /etc/selinux/config
# 重启永久生效
# sestatus -v
2.1.3 添加用户和用户组
groupadd -g 2001 dinstall
useradd -u 2001 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
echo "dmdba" | passwd --stdin dmdba
# echo "dmdba:dameng123" |chpasswd
2.1.4 配置用户资源限制
# 1. 添加资源限制条目
cat >>/etc/security/limits.conf<<EOF
dmdba soft nofile 65535
dmdba hard nofile 65536
dmdba soft nproc 65535
dmdba hard nproc 65535
dmdba soft stack 10240
dmdba hard stack 32768
EOF
# 2. 让资源限制的配置文件生效
root# echo "session required pam_limits.so" >> /etc/pam.d/login
root# echo "session required /lib64/security/pam_limits.so" >> /etc/pam.d/login
# 3. 当前会话设置生效(关于最大文件打开数)
root# ulimit -SHn 65536
# 4. 切换dmdba检查用户资源限制是否生效
su - dmdba
ulimit -a
ulimit -u
2.1.5 调整两个节点的系统时间与时区
注:集群中所有节点的时间应该保持一致。
++ 1. 统一系统时区
date -R # 查看当前系统的时区
tzselect
echo "TZ='Asia/Shanghai'; export TZ" >> ~/.bash_profile
timedatectl list-timezones | grep "^Asia"
timedatectl set-timezone "Asia/Shanghai"
date -s "2020-12-16 21:51:46"
hwclock -r
hwclock --hctosys
++ 2. 统一系统时间
+ 2.1 采用ntpdate客户端方式定时同步时间服务器
# 不建议使用这种方式同步,因为跳跃太大(由于数据库事务的时间不会往回跳跃)
# 应用程序依赖连续时钟,时间是线性的。
ntpdate -u s2a.time.edu.cn
+ 2.2 采用ntpd服务器模式自动同步上级时间服务器(Oracle官方建议)
#https://www.cnblogs.com/quchunhui/p/7658853.html
#ntpd不仅能够校准计算机的时间,而且能够校准计算机的时钟
#ntpd在和时间服务器的同步过程中,会把BIOS计时器的振荡频率偏差——或者说Local Clock的自然漂移(drift)——记录下来。
[root@dsc01 ~]# yum –y install ntp
[root@dsc01 ~]# chkconfig --list|grep ntp
ntpd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
ntpdate 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭
[root@dsc01 ~]# service ntpd status
ntpd (pid 2248) 正在运行...
[root@dsc01 ~]# vim /etc/ntp.conf
server 59.124.196.83
# 查看ntp服务器有无和上层ntp连通
ntpstat
# 查看ntp服务器与上层ntp的状态
ntpq -p
2.1.6 创建软件安装目录
mkdir -pv /DMDB/app/DM8
mkdir -pv /DMDB/data
mkdir -pv /DMDB/arch
mkdir -pv /DMDB/backup
mkdir -pv /DMDB/soft
chown -R dmdba:dinstall /DMDB
chmod -R 775 /DMDB
ls -ld /DMDB
2.1.7 配置dmdba环境变量
注:一般情况,安装完达梦数据库软件后,它会自动添加DM_HOME和LD_LIBRARY_PATH变量。
su - dmdba
vi .bash_profile
source ~/.bash_profile
#################################################
### Dameng Database Environment Configuration ###
export TMP=/tmp
export TMP_DIR=$TMP
export DM_INSTALL_TMPDIR=$TMP
export DM_HOME=/DMDB/app/DM8
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/DMDB/app/DM8/bin"
export PATH=$DM_HOME/bin:$DM_HOME/tool:$PATH:$HOME/bin
umask 022
### end ###
2.1.8 格式化共享磁盘
++ 1. vmware workstation 创建共享磁盘
vmware-vdiskmanager.exe -c -s 200M -a lsilogic -t 2 E:\VMDATA\DM\dscdisk\dcr.vmdk
vmware-vdiskmanager.exe -c -s 200M -a lsilogic -t 2 E:\VMDATA\DM\dscdisk\vote.vmdk
vmware-vdiskmanager.exe -c -s 5g -a lsilogic -t 2 E:\VMDATA\DM\dscdisk\data0.vmdk
vmware-vdiskmanager.exe -c -s 2g -a lsilogic -t 2 E:\VMDATA\DM\dscdisk\log0.vmdk
++ 2. 在两个节点主机(虚拟机)配置共享磁盘
//dmdsc1.vmx末尾追加内容
# share disk 2020-12-16
disk.enableUUID = "TRUE"
disk.locking = "false"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.dataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
scsi1.present = "TRUE"
scsi1.virtualDev = "lsilogic"
scsi1.sharedBus = "virtual"
scsi1:1.present = "TRUE"
scsi1:1.mode = "independent-persistent"
scsi1:1.filename = "E:\VMDATA\DM\dscdisk\dcr.vmdk"
scsi1:2.present = "TRUE"
scsi1:2.mode = "independent-persistent"
scsi1:2.filename = "E:\VMDATA\DM\dscdisk\vote.vmdk"
scsi1:3.present = "TRUE"
scsi1:3.mode = "independent-persistent"
scsi1:3.filename = "E:\VMDATA\DM\dscdisk\data0.vmdk"
scsi1:4.present = "TRUE"
scsi1:4.mode = "independent-persistent"
scsi1:4.filename = "E:\VMDATA\DM\dscdisk\log0.vmdk"
++ 3. Linux系统磁盘分区 (可选)
# 裸设备可以建分区,也可不建分区
fdisk -l | grep 'Disk /dev'
lsblk
fdisk /dev/sdb
fdisk /dev/sdc
fdisk /dev/sdd
fdisk /dev/sde
[root@dsc01 ~]# fdisk -l | grep 'Disk /dev' | sort
Disk /dev/sda: 53.7 GB, 53687091200 bytes
Disk /dev/sdb: 107.4 GB, 107374182400 bytes
Disk /dev/sdc: 209 MB, 209715200 bytes
Disk /dev/sdd: 209 MB, 209715200 bytes
Disk /dev/sde: 5368 MB, 5368709120 bytes
Disk /dev/sdf: 2147 MB, 2147483648 bytes
[root@dsc02 ~]# fdisk -l | grep 'Disk /dev' | sort
Disk /dev/sda: 53.7 GB, 53687091200 bytes
Disk /dev/sdb: 107.4 GB, 107374182400 bytes
Disk /dev/sdc: 209 MB, 209715200 bytes
Disk /dev/sdd: 209 MB, 209715200 bytes
Disk /dev/sde: 5368 MB, 5368709120 bytes
Disk /dev/sdf: 2147 MB, 2147483648 bytes
2.1.9 共享磁盘绑定udev
作用:防止后期盘符变化,同时固定权限。
++ 1. 取出共享磁盘的UUID(采用同oracle绑定udev方式)
for i in c d e f;
do
echo "KERNEL==\"sd?\",SUBSYSTEM==\"block\", PROGRAM==\"/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\",RESULT==\"`/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\", SYMLINK+=\"asm-disk$i\",OWNER=\"dmdba\", GROUP=\"dinstall\",MODE=\"0660\",OPTIONS=\"nowatch\""
done
for i in c d e f;
do
echo "KERNEL==\"sd?\",SUBSYSTEM==\"block\", PROGRAM==\"/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\",RESULT==\"`/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\", SYMLINK+=\"asm-disk$i\",OWNER=\"dmdba\", GROUP=\"dinstall\",MODE=\"0660\",OPTIONS=\"nowatch\""
done >> /etc/udev/rules.d/99-dm-devices.rules
//SYMLINK 链接名可根据自己的喜好定义
[root@dsc01 ~]# more /etc/udev/rules.d/99-dm-devices.rules
KERNEL=="sd?",SUBSYSTEM=="block", PROGRAM=="/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c2973bc339661d0e
6826f09dc9f3", SYMLINK+="asm-dcr",OWNER="dmdba", GROUP="dinstall",MODE="0660",OPTIONS="nowatch"
KERNEL=="sd?",SUBSYSTEM=="block", PROGRAM=="/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29be5928af292e1
1b5fc1ae7eaf", SYMLINK+="asm-vote",OWNER="dmdba", GROUP="dinstall",MODE="0660",OPTIONS="nowatch"
KERNEL=="sd?",SUBSYSTEM=="block", PROGRAM=="/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29f041a770b7664
2e79e186b94c", SYMLINK+="asm-data0",OWNER="dmdba", GROUP="dinstall",MODE="0660",OPTIONS="nowatch"
KERNEL=="sd?",SUBSYSTEM=="block", PROGRAM=="/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29efe610de95581
bd9d40179f3e", SYMLINK+="asm-log0",OWNER="dmdba", GROUP="dinstall",MODE="0660",OPTIONS="nowatch"
++ 2. 重载udev规则,让绑定生效
# 针对RHLE 6.x
start_udev
# 针对RHEL 7.x
/sbin/udevadm trigger --type=devices --action=change
/sbin/udevadm control --reload-rules
++ 3. 查看共享磁盘的绑定规则生效
ls -lh /dev/sd*
[root@dsc01 ~]# ls -l /dev/sd*
brw-rw---- 1 root disk 8, 0 12月 16 13:34 /dev/sda
brw-rw---- 1 root disk 8, 1 12月 16 13:34 /dev/sda1
brw-rw---- 1 root disk 8, 2 12月 16 13:34 /dev/sda2
brw-rw---- 1 root disk 8, 16 12月 16 13:34 /dev/sdb
brw-rw---- 1 root disk 8, 17 12月 16 13:34 /dev/sdb1
brw-rw---- 1 dmdba dinstall 8, 32 12月 16 13:34 /dev/sdc
brw-rw---- 1 dmdba dinstall 8, 48 12月 16 13:34 /dev/sdd
brw-rw---- 1 dmdba dinstall 8, 64 12月 16 13:34 /dev/sde
brw-rw---- 1 dmdba dinstall 8, 80 12月 16 13:34 /dev/sdf
[root@dsc01 ~]# ls -l /dev/asm*
lrwxrwxrwx 1 root root 3 12月 16 13:34 /dev/asm-data0 -> sde
lrwxrwxrwx 1 root root 3 12月 16 13:34 /dev/asm-dcr -> sdc
lrwxrwxrwx 1 root root 3 12月 16 13:34 /dev/asm-log0 -> sdf
lrwxrwxrwx 1 root root 3 12月 16 13:34 /dev/asm-vote -> sdd
++ 4. 将做好的udev配置文件传至另一节点主机
scp 192.168.1.11:/etc/udev/rules.d/99-dm-devices.rules /etc/udev/rules.d/
start_udev
2.1.10 配置裸设备(可选)
注意:
1、使用裸设备作为数据文件,数据文件大小不能更改,所以大小要提前规划好。
2、一般建议使用达梦ASM文件管理系统,灵活而方便,扩展性好。
++ 1. 方法一:/etc/rc.local
echo -e "
###################################
DMDB RAW Bind Rules
###################################
#DCR
/bin/raw /dev/raw/raw1 /dev/asm-dcr
sleep 2
chown dmdba:dinstall /dev/raw/raw1
chmod 660 /dev/raw/raw1
#Votingdisk
/bin/raw /dev/raw/raw2 /dev/asm-vote
sleep 2
chown dmdba:dinstall /dev/raw/raw2
chmod 660 /dev/raw/raw2
#LOG
/bin/raw /dev/raw/raw3 /dev/asm-data0
sleep 2
chown dmdba:dinstall /dev/raw/raw3
chmod 660 /dev/raw/raw3
#Data
/bin/raw /dev/raw/raw4 /dev/asm-log0
sleep 2
chown dmdba:dinstall /dev/raw/raw4
chmod 660 /dev/raw/raw4
#注意这里必须放在最后一行,否则开机不会自动映射raw设备
touch /var/lock/subsys/local
" >> /etc/rc.local
//执行rc.local脚本
sh /etc/rc.local
//列出当前系统中存在的裸设备:
[root@dsc01 ~]# raw -qa
/dev/raw/raw1: bound to major 8, minor 32
/dev/raw/raw2: bound to major 8, minor 48
/dev/raw/raw3: bound to major 8, minor 64
/dev/raw/raw4: bound to major 8, minor 80
//查看裸设备大小:
blockdev --getsize64 /dev/raw/raw1
//解绑裸设备
raw /dev/raw/raw1 0 0
++ 2. 方法二:/etc/udev/rules.d/60-raw.rules
# 裸设备格式化后成字符设备
# crw-rw---- 1 dmdba dinstall 162, 1 12月 16 14:15 /dev/raw/raw1
ACTION=="add", KERNEL=="sdc", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdd", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sde", RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="sdf", RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add", KERNEL=="raw[1-4]", OWNER="dmdba", GROUP="dinstall", MODE="660"
//查看裸设备大小
[root@dsc02 ~]# blockdev --getsize64 /dev/raw/raw1
209715200 字节单位
[root@dsc02 ~]# blockdev --getsize64 /dev/raw/raw2
209715200
[root@dsc02 ~]# blockdev --getsize64 /dev/raw/raw3
5368709120
[root@dsc02 ~]# blockdev --getsize64 /dev/raw/raw4
2147483648
2.1.11 系统内核参数优化 (可选)
vim /etc/sysctl.conf
#----------------------------------------
fs.file-max = 6815744
fs.aio-max-nr = 1048576
#kernel.shmall = 2097152
#kernel.shmmax = 2147483648
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
vm.swappiness = 10
vm.dirty_background_ratio = 3
vm.dirty_ratio = 80
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100
++ 不重启系统,立即加载生效
sysctl -p
2.2 安装达梦数据库软件
2.2.1 上传软件安装包或挂载光盘
mount /dev/cdrom /mnt
cp /mnt/DMInstall.bin /DMDB/soft
chown dba:dinstall /DMDB/soft/DMInstall.bin
chmod a+x /DMDB/soft/DMInstall.bin
#chmod 775 /DMDB/soft/DMInstall.bin
2.2.2 切换dmdba用户开始安装达梦数据库
su - dmdba
cd /DMDB/soft/
./DMInstall.bin -i
# 按文本向导提示进行安装 (略)
#请以root系统用户执行命令:
/DMDB/app/DM8/script/root/root_installer.sh
2.3 配置DMASM
2.3.1 配置dmdcr_cfg.ini文件
dmdcr_cfg.ini 是格式化 DCR 和 Voting Disk 的配置文件。 配置信息包括三类:
集群环境全局信息、集群组信息、以及组内节点信息。
仅使用裸设备,不使用 ASM 文件系统,不需要配置 ASM 信息,仅配置 CSS/DB 信息。
#/DMDB/data/dmdcr_cfg.ini
DCR_N_GRP = 3 #集群环境包括多少组,取值[1,16]
DCR_VTD_PATH = /dev/raw/raw2 #voting disk路径
DCR_OGUID = 63635 #消息标识,dmcssm登录dmcss消息校验使用
[GRP] #[GRP]表示新建一个Group
DCR_GRP_TYPE = CSS #组类型(CSS/ASM/DB)
DCR_GRP_NAME = GRP_CSS #组名,16字节,配置文件中不可重复
DCR_GRP_N_EP = 2 #组内节点个数,最大16.
DCR_GRP_DSKCHK_CNT = 60 #磁盘心跳的容错时间,单位秒,缺省60秒,取值[5,600]
[GRP_CSS] #[]里的是组名,与 DCR_GRP_NAME 对应
#DB 的节点名必须和dm.ini里的INSTANCE_NAME 保持一致
#ASM 的节点名必须和dmmal.ini里的MAL_INST_NAME 一致
#同一类型节点的EP_NAME不能重复
DCR_EP_NAME = CSS0 #节点名 16字节,配置文件中不可重复
#对DB来说,是绑定VIP的网卡对应的物理IP地址,若配置DCR_VIP才需要配置,否则不需要配置。
#CSS 中设置表示DMCSSM可以通过该IP连接CSS,可以不配置;
#ASM中设置表示 DB 可以通过该 IP 连接 ASM,可以不配置
DCR_EP_HOST = 10.10.10.11 #节点IP(实例所在机器的 IP 地址) ,私有网络
DCR_EP_PORT = 9341
[GRP_CSS] #[]里的是组名,与 DCR_GRP_NAME 对应
DCR_EP_NAME = CSS1
DCR_EP_HOST = 10.10.10.12
DCR_EP_PORT = 9343 #节点TCP监听端口(CSS/ASM/DB 有效,对应登录 CSS/ASM/DB 的端口
#号),节点实例配置此参数,取值范围 1024~65534;发起连接端的端口
#在 1024~65535 之间随机分配
[GRP] #[GRP]表示新建一个 Group
DCR_GRP_TYPE = ASM
DCR_GRP_NAME = GRP_ASM
DCR_GRP_N_EP = 2
DCR_GRP_DSKCHK_CNT = 60
[GRP_ASM] #[]里的是组名,与 DCR_GRP_NAME 对应
DCR_EP_NAME = ASM0
DCR_EP_SHM_KEY = 93360
DCR_EP_SHM_SIZE = 10 #共享内存大小,单位M,(ASM 有效,初始化共享内存大小),取值范围10~1024
DCR_EP_HOST = 192.168.1.11 #公网IP
DCR_EP_PORT = 9349
DCR_EP_ASM_LOAD_PATH = /dev/raw #ASM 磁盘扫描路径
[GRP_ASM] #[]里的是组名,与 DCR_GRP_NAME 对应
DCR_EP_NAME = ASM1
DCR_EP_SHM_KEY = 93361 #共享内存标识,数值类型(ASM 有效,初始化共享内存的标识符),应为大于 0 的 4 字节整数
DCR_EP_SHM_SIZE = 10
DCR_EP_HOST = 192.168.1.12
DCR_EP_PORT = 9351
DCR_EP_ASM_LOAD_PATH = /dev/raw
[GRP] #[GRP]表示新建一个 Group
DCR_GRP_TYPE = DB
DCR_GRP_NAME = GRP_DSC
DCR_GRP_N_EP = 2
DCR_GRP_DSKCHK_CNT = 60
[GRP_DSC] #[]里的是组名,与 DCR_GRP_NAME 对应
DCR_EP_NAME = GRP_DSC01
DCR_EP_SEQNO = 0 #组内序号,CSS/ASM 不能配置,自动分配。DB可以配置,0 ~ n_ep-1,组内不能重复,如不配置则自动分配
DCR_EP_PORT = 5236
DCR_CHECK_PORT = 9741 #DCR检查端口号。检查实例是否活动的时候用,各实例不能冲突。
[GRP_DSC] #[]里的是组名,与DCR_GRP_NAME对应
DCR_EP_NAME = GRP_DSC02
DCR_EP_SEQNO = 1
DCR_EP_PORT = 5236
DCR_CHECK_PORT = 9742
2.3.2 DMASMCMD初始化磁盘
注:仅在任意一台节点主机上执行初始化即可。
++ 1. 将以下命令存为脚本文件/DMDB/data/asmdisk.cmd
#asm script file
create dcrdisk '/dev/raw/raw1' 'dcr'
create votedisk '/dev/raw/raw2' 'vote'
create asmdisk '/dev/raw/raw3' 'data0'
create asmdisk '/dev/raw/raw4' 'log0'
init dcrdisk '/dev/raw/raw1' from '/DMDB/data/dmdcr_cfg.ini' identified by 'SYSDBA123'
init votedisk '/dev/raw/raw2' from '/DMDB/data/dmdcr_cfg.ini'
++ 2. 调用脚本文件,批量初始化磁盘
su - dmdba
dmasmcmd script_file=asmdisk.cmd
[dmdba@dsc01 data]$ dmasmcmd script_file=asmdisk.cmd
DMASMCMD V8
ASM>create dcrdisk '/dev/raw/raw1' 'dcr'
[Trace]The ASM initialize dcrdisk /dev/raw/raw1 to name DMASMdcr
Used time: 14.817(ms).
ASM>create votedisk '/dev/raw/raw2' 'vote'
[Trace]The ASM initialize votedisk /dev/raw/raw2 to name DMASMvote
Used time: 11.374(ms).
ASM>create asmdisk '/dev/raw/raw3' 'data0'
[Trace]The ASM initialize asmdisk /dev/raw/raw3 to name DMASMdata0
Used time: 8.664(ms).
ASM>create asmdisk '/dev/raw/raw4' 'log0'
[Trace]The ASM initialize asmdisk /dev/raw/raw4 to name DMASMlog0
Used time: 9.472(ms).
ASM>init dcrdisk '/dev/raw/raw1' from '/DMDB/data/dmdcr_cfg.ini' identified by 'SYSDBA123'
[Trace]DG 126 allocate 4 extents for file 0xfe000002.
Used time: 185.505(ms).
ASM>init votedisk '/dev/raw/raw2' from '/DMDB/data/dmdcr_cfg.ini'
[Trace]DG 125 allocate 4 extents for file 0xfd000002.
Used time: 42.400(ms).
2.3.3 配置dmasvrmal.ini文件
DMASM 的所有节点都要配置,内容完全一样
# /DMDB/data/dmasvrmal.ini
[MAL_INST1]
MAL_INST_NAME = ASM0
MAL_HOST = 10.10.10.11
MAL_PORT = 7236
[MAL_INST2]
MAL_INST_NAME = ASM1
MAL_HOST = 10.10.10.12
MAL_PORT = 7237
2.3.4 配置dmdcr.ini文件
dmdcr.ini 是 dmcss、dmasmsvr、dmasmtool 工具的输入参数。记录了当前节点序列号以及 DCR 磁盘路径。
DMASM 的两个节点分别配置 dmdcr.ini,dmdcr_path 相同,dmasvrmal.ini
文件内容也相同,dmdcr_seqno分别为 0 和 1。
dsc01
#将DMDCR_ASM_RESTART_INTERVAL 与 DMDCR_DB_RESTART_INTERVAL值修改为不等于0,
#css即可自动拉起asm与server服务
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/DMDB/data/dmasvrmal.ini #dmasmsvr使用的MAL配置文件路径
DMDCR_SEQNO = 0
#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /DMDB/app/DM8/bin/dmasmsvr dcr_ini=/DMDB/data/dmdcr.ini
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /DMDB/app/DM8/bin/dmserver path=/DMDB/data/dmdata0_config/dm.ini dcr_ini=/DMDB/data/dmdcr.ini
dsc02
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/DMDB/data/dmasvrmal.ini #dmasmsvr使用的MAL配置文件路径
DMDCR_SEQNO = 0
#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /DMDB/app/DM8/bin/dmasmsvr dcr_ini=/DMDB/data/dmdcr.ini
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /DMDB/app/DM8/bin/dmserver path=/DMDB/data/dmdata0_config/dm.ini dcr_ini=/DMDB/data/dmdcr.ini
2.3.5 启动DMASM实例
++ 1. dsc01
su - dmdba
# 启动DMCSS服务、DMASMSVR服务
dmcss DCR_INI=/DMDB/data/dmdcr.ini
dmasmsvr DCR_INI=/DMDB/data/dmdcr.ini
[dmdba@dsc01 data]$ dmcss DCR_INI=/DMDB/data/dmdcr.ini
DMCSS V8
DMCSS IS READY
[CSS]: 设置EP CSS0[0]为控制节点
[ASM]: 设置EP ASM0[0]为控制节点
[ASM]: 设置命令[START NOTIFY], 目标站点 ASM0[0], 命令序号[2]
[ASM]: 设置命令[EP START], 目标站点 ASM0[0], 命令序号[3]
[ASM]: 设置命令[NONE], 目标站点 ASM0[0], 命令序号[0]
[ASM]: 设置命令[EP START], 目标站点 ASM1[1], 命令序号[5]
[ASM]: 设置命令[NONE], 目标站点 ASM1[1], 命令序号[0]
[ASM]: 设置命令[EP OPEN], 目标站点 ASM0[0], 命令序号[8]
[ASM]: 设置命令[EP OPEN], 目标站点 ASM1[1], 命令序号[9]
[ASM]: 设置命令[NONE], 目标站点 ASM0[0], 命令序号[0]
[ASM]: 设置命令[NONE], 目标站点 ASM1[1], 命令序号[0]
[dmdba@dsc01 ~]$ dmasmsvr DCR_INI=/DMDB/data/dmdcr.ini
ASM SELF EPNO:0
DMASMSVR V8
dmasmsvr task worker thread startup
the ASM server is Ready.
check css cmd: START NOTIFY, cmd_seq: 2
check css cmd: EP START, cmd_seq: 3
ASM Control Node EPNO:0
check css cmd: EP OPEN, cmd_seq: 8
++ 2. dsc02
su - dmdba
dmcss DCR_INI=/DMDB/data/dmdcr.ini
dmasmsvr DCR_INI=/DMDB/data/dmdcr.ini
//
[dmdba@dsc01 data]$ dmcss DCR_INI=/DMDB/data/dmdcr.ini
dmcss: error while loading shared libraries: libdmcalc.so: cannot open shared object file: No such file or directory
处理方法:
ln -s /DMDB/app/DM8/bin/*.so /lib64
2.3.6 创建DMASM磁盘组
su - dmdba
dmasmtool DCR_INI=/dmdata/dmdcr.ini
ASM> create diskgroup 'LOG' asmdisk '/dev/raw/raw4'
ASM> create diskgroup 'DATA' asmdisk '/dev/raw/raw3'
ASM>lsdg
total 4 groups......
1 disk_group:
name: LOG
id: 0
au_size: 1.00 MB
extent_size: 4
total_size: 2.00 GB
free_size: 1.99 GB
total_file_num: 1
2 disk_group:
name: DATA
id: 1
au_size: 1.00 MB
extent_size: 4
total_size: 5.00 GB
free_size: 4.99 GB
total_file_num: 1
3 disk_group:
name: VOTE
id: 125
au_size: 1.00 MB
extent_size: 4
total_size: 200.00 MB
free_size: 176.00 MB
total_file_num: 2
4 disk_group:
name: DCR
id: 126
au_size: 1.00 MB
extent_size: 4
total_size: 200.00 MB
free_size: 176.00 MB
total_file_num: 2
Used time: 23.149(ms).
ASM>lsdsk
group LOG include 1 disks......
NO.1 disk :
name: DMASMlog0
path: /dev/raw/raw4
size: 2.00 GB
create_time: 2020-12-16 15:07:27
modify_time: 2020-12-16 15:41:46
belong group: LOG
group DATA include 1 disks......
NO.1 disk :
name: DMASMdata0
path: /dev/raw/raw3
size: 5.00 GB
create_time: 2020-12-16 15:07:27
modify_time: 2020-12-16 15:41:53
belong group: DATA
group VOTE include 1 disks......
NO.1 disk :
name: DMASMvote
path: /dev/raw/raw2
size: 200.00 MB
create_time: 2020-12-16 15:07:27
modify_time: 2020-12-16 15:07:27
belong group: VOTE
group DCR include 1 disks......
NO.1 disk :
name: DMASMdcr
path: /dev/raw/raw1
size: 200.00 MB
create_time: 2020-12-16 15:07:27
modify_time: 2020-12-16 15:07:27
belong group: DCR
total 0 disks unused......
Used time: 39.580(ms).
ASM>df
group LOG include 1 disks......
NO.1 disk :
name: DMASMlog0
path: /dev/raw/raw4
size: 2.00 GB
create_time: 2020-12-16 15:07:27
modify_time: 2020-12-16 15:41:46
belong group: LOG
group DATA include 1 disks......
NO.1 disk :
name: DMASMdata0
path: /dev/raw/raw3
size: 5.00 GB
create_time: 2020-12-16 15:07:27
modify_time: 2020-12-16 15:41:53
belong group: DATA
group VOTE include 1 disks......
NO.1 disk :
name: DMASMvote
path: /dev/raw/raw2
size: 200.00 MB
create_time: 2020-12-16 15:07:27
modify_time: 2020-12-16 15:07:27
belong group: VOTE
group DCR include 1 disks......
NO.1 disk :
name: DMASMdcr
path: /dev/raw/raw1
size: 200.00 MB
create_time: 2020-12-16 15:07:27
modify_time: 2020-12-16 15:07:27
belong group: DCR
total 0 disks unused......
Used time: 34.519(ms).
ASM>
2.4 初始化数据库
2.4.1 编辑dminit.ini文件
dminit.ini 是 dminit 工具初始化数据库环境的配置文件。 与初始化库使用普通文件系统不同,如果使用裸设备或者 ASM
文件系统,必须使用 dminit 工具的 control 参数指定 dminit.ini 文件。 dminit 工具的命令行参数都可以放在
dminit.ini 中,比如db_name,auto_overwrite 等,dminit.ini 格式分为全局参数和节点参数。
db_name = dsc #数据库名
system_path = +DATA/data #初始化数据库存放的路径
system = +DATA/data/dsc/system.dbf #系统表空间文件
system_size = 128
roll = +DATA/data/dsc/roll.dbf #回滚表空间文件
roll_size = 128
main = +DATA/data/dsc/main.dbf #默认的用户表空间文件
main_size = 128
ctl_path = +DATA/data/dsc/dm.ctl #dm.ini的控制文件
ctl_size = 8
log_size = 256 #联机日志文件大小
dcr_path = /dev/raw/raw1 #dcr 磁盘路径,目前不支持asm,只能是裸设备
dcr_seqno = 0 #连接DMASM节点的节点号
auto_overwrite = 1 #文件存在时覆盖
[GRP_DSC01] #inst_name跟dmdcr_cfg.ini中DB类型 group中DCR_EP_NAME 对应
config_path = /DMDB/data/dsc01_config
port_num = 5236 #节点服务器监听通讯端口号
mal_host = 10.10.10.11
mal_port = 9340 #MAL监听端口,用于数据守护、DSC、MPP 等环境中各节点实例之间MAL链路配置
log_path = +LOG/log/dsc01_log01.log
log_path = +LOG/log/dsc01_log02.log
[GRP_DSC02] #inst_name跟dmdcr_cfg.ini中DB类型 group中DCR_EP_NAME 对应
config_path = /DMDB/data/dsc02_config
port_num = 5236
mal_host = 10.10.10.12
mal_port = 9341
log_path = +LOG/log/dsc02_log01.log
log_path = +LOG/log/dsc02_log02.log
2.4.2 初始化数据库
dminit control=/DMDB/data/dminit.ini
scp -r dsc02_config 192.168.1.12:/dmdata/
[dmdba@dsc01 data]$ dminit control=dminit.ini
initdb V8
db version: 0x7000b
file dm.key not found, use default license!
License will expire on 2021-09-04
log file path: +LOG/log/dsc01_log01.log
log file path: +LOG/log/dsc01_log02.log
log file path: +LOG/log/dsc02_log01.log
log file path: +LOG/log/dsc02_log02.log
write to dir [+DATA/data/dsc].
create dm database success. 2020-12-16 15:58:37
[dmdba@dsc01 data]$ ls -l
总用量 28
-rw-r--r-- 1 dmdba dinstall 319 12月 16 15:07 asmdisk.cmd
-rw-r--r-- 1 dmdba dinstall 145 12月 16 15:31 dmasvrmal.ini
-rw-r--r-- 1 dmdba dinstall 3452 12月 16 15:02 dmdcr_cfg.ini
-rw-r--r-- 1 dmdba dinstall 468 12月 16 15:32 dmdcr.ini
-rw-r--r-- 1 dmdba dinstall 1246 12月 16 15:58 dminit.ini
drwxr-xr-x 2 dmdba dinstall 4096 12月 16 15:58 dsc01_config
drwxr-xr-x 2 dmdba dinstall 4096 12月 16 15:58 dsc02_config
[dmdba@dsc01 data]$ scp -r dsc02_config 192.168.1.12:/DMDB/data/
[email protected]'s password:
dm.ini 100% 49KB 48.6KB/s 00:00
dmmal.ini 100% 212 0.2KB/s 00:00
sqllog.ini
2.4.3 所有节点主机上配置dm_svc.conf服务名
vim /etc/dm_svc.conf
dsc=(192.168.1.11:5236,192.168.1.12:5236)
SWITCH_TIME=(10000) #服务器之间的切换次数
SWITCH_INTERVAL=(100) #切换间隔时间100毫秒
TIME_ZONE=(480)
LANGUAGE=(cn)
2.4.4 测试手工启动数据库实例
dmserver /DMDB/data/dsc01_config/dm.ini dcr_ini=/DMDB/data/dmdcr.ini
dmserver /DMDB/data/dsc02_config/dm.ini dcr_ini=/DMDB/data/dmdcr.ini
[dmdba@dsc01 ~]$ disql SYSDBA/SYSDBA
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 11.245(ms)
disql V8
SQL> select name from v$instance;
行号 NAME
---------- ---------
1 GRP_DSC01
已用时间: 11.573(毫秒). 执行号:497.
[dmdba@dsc02 ~]$ disql SYSDBA/SYSDBA
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 16.980(ms)
disql V8
SQL> select name from v$instance;
行号 NAME
---------- ---------
1 GRP_DSC02
已用时间: 3.393(毫秒). 执行号:301.
SQL> select * from v$dsc_ep_info;
行号 EP_NAME EP_SEQNO EP_GUID EP_TIMESTAMP EP_MODE EP_STATUS
---------- --------- ----------- -------------------- -------------------- ------------ ---------
1 GRP_DSC01 0 363434433 363434904 Control Node OK
2 GRP_DSC02 1 363439946 363440394 Normal Node O
[dmdba@dsc01 ~]$ disql SYSDBA/SYSDBA@dsc
服务器[192.168.1.12:5236]:处于普通打开状态
登录使用时间 : 64.587(ms)
disql V8
SQL> select name from v$instance;
行号 NAME
---------- ---------
1 GRP_DSC02
已用时间: 6.419(毫秒). 执行号:501.
2.5 注册服务
-- 1.注册DMCSS服务
su - root
/DMDB/app/DM8/script/root/dm_service_installer.sh -t dmcss -dcr_ini /DMDB/data/dmdcr.ini -p DmCss1
/DMDB/app/DM8/script/root/dm_service_installer.sh -t dmcss -dcr_ini /DMDB/data/dmdcr.ini -p DmCss2
[root@dsc01 ~]# /DMDB/app/DM8/script/root/dm_service_installer.sh -t dmcss -dcr_ini /DMDB/data/dmdcr.ini -p DmCss1
移动服务脚本文件(/DMDB/app/DM8/bin/DmCSSServiceDmCss1 到 /etc/rc.d/init.d/DmCSSServiceDmCss1)
创建服务(DmCSSServiceDmCss1)完成
[root@dsc02 ~]# /DMDB/app/DM8/script/root/dm_service_installer.sh -t dmcss -dcr_ini /DMDB/data/dmdcr.ini -p DmCss2
移动服务脚本文件(/DMDB/app/DM8/bin/DmCSSServiceDmCss2 到 /etc/rc.d/init.d/DmCSSServiceDmCss2)
创建服务(DmCSSServiceDmCss2)完成
-- 2.注册DMASM服务
su - root
[root@dsc01 ~]# /DMDB/app/DM8/script/root/dm_service_installer.sh -t dmasmsvr -dcr_ini /DMDB/data/dmdcr.ini -p DmAsmsvr1
移动服务脚本文件(/DMDB/app/DM8/bin/DmASMSvrServiceDmAsmsvr1 到 /etc/rc.d/init.d/DmASMSvrServiceDmAsmsvr1)
创建服务(DmASMSvrServiceDmAsmsvr1)完成
[root@dsc02 ~]# /DMDB/app/DM8/script/root/dm_service_installer.sh -t dmasmsvr -dcr_ini /DMDB/data/dmdcr.ini -p DmAsmsvr2
移动服务脚本文件(/DMDB/app/DM8/bin/DmASMSvrServiceDmAsmsvr2 到 /etc/rc.d/init.d/DmASMSvrServiceDmAsmsvr2)
创建服务(DmASMSvrServiceDmAsmsvr2)完成
/DMDB/app/DM8/script/root/dm_service_installer.sh -t dmasmsvr -dcr_ini /DMDB/data/dmdcr.ini -p DmAsmsvr1 -y DmCSSServiceDmCss1
/DMDB/app/DM8/script/root/dm_service_installer.sh -t dmasmsvr -dcr_ini /DMDB/data/dmdcr.ini -p DmAsmsvr2 -y DmCSSServiceDmCss2
# -y 设置依赖服务,此选项只针对systemd服务环境下的dmserver和dmasmsvr服务生效。即针对RHEL 7.x
#在注册DMASM服务时候,会提示/usr/lib/systemd/system/DmCSSServiceDmCss1不存在,解决办法如下:
[root@dsc01 ~]# cp -p /DMDB/app/DM8/bin/DmCSSServiceDmCss1 /usr/lib/systemd/system/
[root@dsc02 ~]# cp -p /DMDB/app/DM8/bin/DmCSSServiceDmCss2 /usr/lib/systemd/system/
-- 3.注册数据库实例启动服务
[root@dsc01 ~]# /DMDB/app/DM8/script/root/dm_service_installer.sh -t dmserver -dm_ini /DMDB/data/dsc01_config/dm.ini -dcr_ini /DMDB/data/dmdcr.ini -p GRP_DSC01 -y DmASMSvrServiceDmAsmsvr1.service
[root@dsc02 ~]# /DMDB/app/DM8/script/root/dm_service_installer.sh -t dmserver -dm_ini /DMDB/data/dsc02_config/dm.ini -dcr_ini /DMDB/data/dmdcr.ini -p GRP_DSC02 -y DmASMSvrServiceDmAsmsvr1.service
[root@dsc01 ~]# /DMDB/app/DM8/script/root/dm_service_installer.sh -t dmserver -dm_ini /DMDB/data/dsc01_config/dm.ini -dcr_ini /DMDB/data/dmdcr.ini -p GRP_DSC01
移动服务脚本文件(/DMDB/app/DM8/bin/DmServiceGRP_DSC01 到 /etc/rc.d/init.d/DmServiceGRP_DSC01)
创建服务(DmServiceGRP_DSC01)完成
[root@dsc02 ~]# /DMDB/app/DM8/script/root/dm_service_installer.sh -t dmserver -dm_ini /DMDB/data/dsc02_config/dm.ini -dcr_ini /DMDB/data/dmdcr.ini -p GRP_DSC02
移动服务脚本文件(/DMDB/app/DM8/bin/DmServiceGRP_DSC02 到 /etc/rc.d/init.d/DmServiceGRP_DSC02)
创建服务(DmServiceGRP_DSC02)完成
[root@dsc01 ~]# chkconfig --list |grep ^Dm
DmAPService 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
DmASMSvrServiceDmAsmsvr1 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
DmCSSServiceDmCss1 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
DmServiceGRP_DSC01 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
[root@dsc02 ~]# chkconfig --list |grep ^Dm
DmAPService 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
DmASMSvrServiceDmAsmsvr2 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
DmCSSServiceDmCss2 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
DmServiceGRP_DSC02 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
2.6 数据库故障重连连接测试
[dmdba@dsc01 ~]$ disql SYSDBA/SYSDBA@dsc
服务器[192.168.1.11:5236]:处于普通打开状态
登录使用时间 : 49.299(ms)
disql V8
SQL> select name from v$instance;
行号 NAME
---------- ---------
1 GRP_DSC01
已用时间: 4.033(毫秒). 执行号:597.
SQL> host ps -fu dmdba
UID PID PPID C STIME TTY TIME CMD
dmdba 10784 1 0 14:28 pts/0 00:00:00 /DMDB/app/DM8/bin/dmap
dmdba 10800 10799 0 14:30 pts/0 00:00:00 -bash
dmdba 11075 10800 0 15:37 pts/0 00:00:10 dmcss DCR_INI=/DMDB/data/dmdcr.ini
dmdba 11087 11086 0 15:37 pts/1 00:00:00 -bash
dmdba 11115 11087 0 15:37 pts/1 00:00:09 dmasmsvr DCR_INI=/DMDB/data/dmdcr.ini
dmdba 11160 11159 0 15:40 pts/2 00:00:00 -bash
dmdba 11328 11160 2 16:21 pts/2 00:01:01 dmserver /DMDB/data/dsc01_config/dm.ini dcr_ini=/DMDB/data/dmdcr.ini
dmdba 11704 11703 0 16:55 pts/3 00:00:00 -bash
dmdba 11729 11704 0 16:56 pts/3 00:00:00 disql SYSDBA/SYSDBA@dsc
dmdba 11736 11729 0 16:57 pts/3 00:00:00 ps -fu dmdba
SQL> select name from v$instance;
行号 NAME
---------- ---------
1 GRP_DSC01
已用时间: 1.304(毫秒). 执行号:598.
SQL> host kill -9 11328
SQL> select name from v$instance;
行号 NAME
---------- ---------
1 GRP_DSC02
已用时间: 5.079(毫秒). 执行号:701.
//重启节点dsc01上的数据库实例
//原来普通节点变成控制节点角色
SQL> select * from v$dsc_ep_info;
行号 EP_NAME EP_SEQNO EP_GUID EP_TIMESTAMP EP_MODE EP_STATUS
---------- --------- ----------- -------------------- -------------------- ------------ ---------
1 GRP_DSC01 0 364084518 364084536 Normal Node OK
2 GRP_DSC02 1 363439946 363442581 Control Node OK
SQL> create table fstab as select id,name from sysobjects;
SQL> select count(1) from fstab;
2.7 配置DMDSC CSSM集群监视器
DMDSC 集群的运行情况可以通过 DMCSSM 监视器进行查看,也可以查询 DMDSC 相关的动态视图获取更详细的信息。
DMCSSM监视器支持一些控制命令,可以用来启动、关闭 DMDSC 集群,还可以进行手动控制节点故障处理和节点重加入。 同一个 DMDSC
集群中,允许最多同时启动 10 个监视器,建议监视器放在独立的第三方机器上, 避免由于节点间网络不稳定等原因导致监视器误判节点故障。
## /DMDB/data/dmcssm.ini
CSSM_OGUID = 63635
CSSM_CSS_IP = 10.10.10.11:9341
CSSM_CSS_IP = 10.10.10.12:9343
CSSM_LOG_PATH =/DMDB/log
CSSM_LOG_FILE_SIZE = 32
CSSM_LOG_SPACE_LIMIT = 0
//启动dmcssm监视器
dmcssm ini_path=/DMDB/data/dmcssm.ini
help
DMCSSM使用说明:
SHOW命令中可以通过指定group_name获取指定组的信息,如果没有指定,则显示所有组的信息
---------------------------------------------------------------------------------------------
1.help --显示帮助
2.show [group_name] --显示指定的组信息
3.show config --显示配置文件信息
4.show monitor --显示当前连接的监视器信息
5.set group_name auto restart on --打开指定组的自动拉起功能(只修改dmcss内存值)
6.set group_name auto restart off --关闭指定组的自动拉起功能(只修改dmcss内存值)
7.open force group_name --强制OPEN指定的ASM或DB组
8.ep startup group_name --启动指定的ASM或DB组
9.ep stop group_name --停止指定的ASM或DB组
10.ep halt group_name.ep_name --强制退出指定组的指定节点
11.extend node --扩展集群节点
12.ep crash group_name.ep_name --设定指定节点故障
13.check crash over group_name --检查指定组故障处理是否结束
14.exit --退出监视器
---------------------------------------------------------------------------------------------
show
monitor current time:2020-12-16 17:53:02, n_group:3
=================== group[name = GRP_CSS, seq = 0, type = CSS, Control Node = 0] ========================================
[CSS0] global info:
[ASM0] auto restart = FALSE
[GRP_DSC01] auto restart = FALSE
[CSS1] global info:
[ASM1] auto restart = FALSE
[GRP_DSC02] auto restart = FALSE
ep: css_time inst_name seqno port mode inst_status vtd_status is_ok active guid ts
2020-12-16 17:53:02 CSS0 0 9341 Control Node OPEN WORKING OK TRUE 441383647 441391767
2020-12-16 17:53:02 CSS1 1 9343 Normal Node OPEN WORKING OK TRUE 441406275 441414304
=================== group[name = GRP_ASM, seq = 1, type = ASM, Control Node = 0] ========================================
n_ok_ep = 2
ok_ep_arr(index, seqno):
(0, 0)
(1, 1)
sta = OPEN, sub_sta = STARTUP
break ep = NULL
recover ep = NULL
crash process over flag is TRUE
ep: css_time inst_name seqno port mode inst_status vtd_status is_ok active guid ts
2020-12-16 17:53:02 ASM0 0 9349 Control Node OPEN WORKING OK TRUE 441395205 441403280
2020-12-16 17:53:02 ASM1 1 9351 Normal Node OPEN WORKING OK TRUE 441411235 441419245
=================== group[name = GRP_DSC, seq = 2, type = DB, Control Node = 1] ========================================
n_ok_ep = 2
ok_ep_arr(index, seqno):
(0, 0)
(1, 1)
sta = OPEN, sub_sta = STARTUP
break ep = NULL
recover ep = NULL
crash process over flag is TRUE
ep: css_time inst_name seqno port mode inst_status vtd_status is_ok active guid ts
2020-12-16 17:53:02 GRP_DSC01 0 5236 Normal Node OPEN WORKING OK TRUE 364084518 364087364
2020-12-16 17:53:02 GRP_DSC02 1 5236 Control Node OPEN WORKING OK TRUE 363439946 363445407
==================================================================================================================
## 注册监视器服务
/DMDB/app/DM8/script/root/dm_service_installer.sh -t dmcssm -cssm_ini /DMDB/data/dmcssm.ini -p Dmcssm
三、实验总结
1) 启动DSC集群数据库的正确顺序
DMCSS集群服务 --> DMASMSVR共享文件集群服务 --> DMSERVER数据库实例
2) 关闭DSC集群数据库的正确顺序
DMSERVER数据库实例 --> DMASMSVR共享文件集群服务 --> DMCSS集群服务
3) DMASM服务比DMCSS的启动早一些,导致DMASM服务不能正常启动,数据库也无法正常
启动,此时需手动启动DMASM服务,然后启动数据库服务。
4) 如果DMCSS配置DMASMSVR/DMSERVER自动拉起命令,则手动停止DMSERVER和DMASMSVR时会被拉起来,
因此可能导致停止服务执行成功,但是集群并未停止的情况。
此时利用集群监视器停止ASMSVR服务或者DMASMSVR服务"ep stop 集群组名",监视器会关闭相关的自动拉起命令,
故可以确保集群的正确停止。
5) 通过在监视器执行"set group_name auto restart on/off"打开/关闭指定组的自动拉起功能,此命令只修改dmcss内存值。