虚拟机搭建达梦dsc第二版

根据新版本 dm8.1.4.200,创建2台虚拟机安装kylin V10,部署达梦DSC

bash 复制代码
安装clear os做快照

mkdir f:\vm\dmdsc\asmdisk\
cd /d C:\Program Files (x86)\VMware\VMware Workstation\

.\vmware-vdiskmanager.exe -c -s 100MB -a lsilogic -t 2 "f:\vm\dmdsc\asmdisk\share-dcr.vmdk" 
.\vmware-vdiskmanager.exe -c -s 100MB -a lsilogic -t 2 "f:\vm\dmdsc\asmdisk\share-vote.vmdk" 
.\vmware-vdiskmanager.exe -c -s 2GB   -a lsilogic -t 2 "f:\vm\dmdsc\asmdisk\share-data1.vmdk"
.\vmware-vdiskmanager.exe -c -s 2GB   -a lsilogic -t 2 "f:\vm\dmdsc\asmdisk\share-data2.vmdk"
.\vmware-vdiskmanager.exe -c -s 2GB   -a lsilogic -t 2 "f:\vm\dmdsc\asmdisk\share-data3.vmdk"
.\vmware-vdiskmanager.exe -c -s 2GB   -a lsilogic -t 2 "f:\vm\dmdsc\asmdisk\share-data4.vmdk"

虚拟机上增加共享磁盘 选择现有设备 设置在scsi1下

编辑虚拟机vmx文件,增加
scsi1.virtualDev = "lsilogic"
scsi1.present = "TRUE"
scsi1:1.fileName = "f:\vm\dmdsc\asmdisk\share-vote.vmdk"
scsi1:1.present = "TRUE"
scsi1:2.fileName = "f:\vm\dmdsc\asmdisk\share-data1.vmdk"
scsi1:2.present = "TRUE"
scsi1:0.fileName = "f:\vm\dmdsc\asmdisk\share-dcr.vmdk"
scsi1:0.present = "TRUE"
scsi1:3.fileName = "f:\vm\dmdsc\asmdisk\share-data2.vmdk"
scsi1:3.present = "TRUE"
scsi1:4.fileName = "f:\vm\dmdsc\asmdisk\share-data3.vmdk"
scsi1:4.present = "TRUE"
scsi1:5.fileName = "f:\vm\dmdsc\asmdisk\share-data4.vmdk"
scsi1:5.present = "TRUE"
scsi1.sharedBus = "virtual"
disk.locking = "false"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.DataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
disk.EnableUUID = "TRUE" 

虚拟机配置两块网卡

cd /etc/sysconfig/network-scripts
cp ifcfg-ens33 ifcfg-ens38
sed -i "s/ens33/ens38/g" ifcfg-ens38
sed -i "s/192.168.32.11/10.34.61.13/g" ifcfg-ens38
sed -i "s/192.168.32.22/10.34.61.49/g" ifcfg-ens38
sed -i "s/GATEWAY=192.168.32.2/GATEWAY=192.168.0.1/g" ifcfg-ens38
sed -i "s/ONBOOT=no/ONBOOT=yes/g" ifcfg-ens3?
sed -i "/UUID/c UUID=$(uuidgen)" /etc/sysconfig/network-scripts/ifcfg-ens38
systemctl restart network
nmcli d

启动虚拟机
nmcli c up ens33
nmcli c up ens38

mobaxerm登录两个主机,开启Multi模式

sed -i "s/X11Forwarding no/X11Forwarding yes/g" /etc/ssh/sshd_config
systemctl restart sshd
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/sysconfig/selinux
systemctl stop firewalld; systemctl disable firewalld
hostnamectl set-hostname dsc1
date -s "2025-11-25 22:59:10"

mkdir /opt/soft
上传数据库安装介质
mount -r /opt/soft/dm8_20250527_x86_kylin10_64.iso /mnt

groupadd -g 1001 dinstall
groupadd -g 1000 dmdba
useradd -u 1000 -g dinstall -G  dmdba -m -d /home/dmdba -s /bin/bash dmdba
echo "Dameng123" | passwd --stdin dmdba

mkdir -p /dm/dmdbms/
chown -R dmdba:dinstall /dm

cat >>/etc/security/limits.conf<<EOF
dmdba  soft      fsize      unlimited
dmdba  hard      fsize      unlimited
dmdba  soft      nproc      10240
dmdba  hard      nproc      10240
dmdba  soft      nofile     65536
dmdba  hard      nofile     65536
dmdba  soft      core       unlimited
dmdba  hard      core       unlimited
dmdba  soft      data       unlimited
dmdba  hard      data       unlimited
EOF

for i in  b c d e f g; 
do
echo /dev/sd$i    `/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`
done

cd /etc/udev/rules.d/
curr=`pwd`
j=-1
for i in b c d e f g ;   
do
echo "KERNEL==\"sd*\",SUBSYSTEM==\"block\", PROGRAM==\"/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\",RESULT==\"`/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\", SYMLINK+=\"asmdisk/asmdata$j\",OWNER=\"dmdba\", GROUP=\"dinstall\",MODE=\"0660\"" >> $curr/88-dm-asmdevices.rules
j=$((j+1))
done

vi /etc/udev/rules.d/88-dm-asmdevices.rules 修改dcr vote磁盘名

/sbin/udevadm control --reload-rules 
/sbin/udevadm trigger --type=devices --action=change

ls -l /dev/asmdisk/

lrwxrwxrwx 1 root root 6 11月  8 10:26 asmdata1 -> ../sdd
lrwxrwxrwx 1 root root 6 11月  8 10:26 asmdata2 -> ../sde
lrwxrwxrwx 1 root root 6 11月  8 10:26 asmdata3 -> ../sdf
lrwxrwxrwx 1 root root 6 11月  8 10:26 asmdata4 -> ../sdg
lrwxrwxrwx 1 root root 6 11月  8 10:26 dcr1 -> ../sdb
lrwxrwxrwx 1 root root 6 11月  8 10:26 asm-vote -> ../sdc

su - dmdba
export DM_INSTALL_TMPDIR=~
/mnt/DMInstall.bin -i

/dm/dmdbms/script/root/root_installer.sh  

cat >>~/.bash_profile<<EOF

export PATH=$DM_HOME/bin:$DM_HOME/tool:$PATH
alias d="disql SYSDBA/Dameng123"
alias m="dmcssm ini_path=/dm/dmdbms/config/dmcssm.ini"
EOF

. ~/.bash_profile

mkdir /dm/dmdbms/config

快照
#仅在节点1上
vi /dm/dmdbms/config/dmdcr_cfg.ini

DCR_N_GRP = 3
DCR_VTD_PATH = /dev/asmdisk/asm-vote  ##规划的vote盘
DCR_OGUID = 112233      ##长度不超过19位只能为数字,消息标识,DMCSSM 登录DMCSS 消息校验用

[GRP]
DCR_GRP_TYPE = CSS      
DCR_GRP_NAME = GRP_CSS  ##CSS服务组名,固定名称
DCR_GRP_N_EP = 2        
DCR_GRP_DSKCHK_CNT = 60 ##参数的标准配置规范
[GRP_CSS]    ##与CSS [GRP]标签配置中的DCR_GRP_NAME保持一致
DCR_EP_NAME = GRP_CSS1     ##节点CSS服务名 
DCR_EP_HOST = 10.0.0.51     #dsc1心跳ip
DCR_EP_PORT = 9220   ##端口使用规范  
[GRP_CSS]   ##与[GRP]标签配置中的DCR_GRP_NAME保持一致
DCR_EP_NAME = GRP_CSS2   ##节点CSS服务名
DCR_EP_HOST = 10.0.0.52  #dsc2心跳ip
DCR_EP_PORT = 9220   

[GRP]
DCR_GRP_TYPE = ASM
DCR_GRP_NAME = GRP_ASM   ##ASM服务组名,固定名称
DCR_GRP_N_EP = 2
DCR_GRP_DSKCHK_CNT = 60
[GRP_ASM]   ##与ASM [GRP]标签配置中的DCR_GRP_NAME保持一致
DCR_EP_NAME = GRP_ASM1  ##节点ASM服务名
DCR_EP_SHM_KEY = 93360 
DCR_EP_SHM_SIZE = 100  #共享内存大小,每10M管理600G的ASM磁盘空间,初始化配置100,可管理6T
DCR_EP_HOST = 10.0.0.51  #dsc1心跳ip
DCR_EP_PORT = 8221
DCR_EP_ASM_LOAD_PATH = /dev/asmdisk   
[GRP_ASM]  ##与ASM [GRP]标签配置中的DCR_GRP_NAME保持一致
DCR_EP_NAME = GRP_ASM2  ##节点ASM服务名
DCR_EP_SHM_KEY = 93361
DCR_EP_SHM_SIZE = 100    #共享内存大小,每10M管理600G的ASM磁盘空间,初始化配置100,可管理6T
DCR_EP_HOST = 10.0.0.52   #dsc2心跳ip
DCR_EP_PORT = 8221
DCR_EP_ASM_LOAD_PATH = /dev/asmdisk   ##规划的磁盘目录

[GRP]
DCR_GRP_TYPE = DB
DCR_GRP_NAME = GRP_DB    ##DB服务组名,固定名称
DCR_GRP_N_EP = 2
DCR_GRP_DSKCHK_CNT = 60
[GRP_DB]   ##与DB  [GRP]标签配置中的DCR_GRP_NAME保持一致
DCR_EP_NAME = TEST1  ##节点实例名
DCR_EP_SEQNO = 0       #固定数值
DCR_EP_PORT = 5236
DCR_CHECK_PORT = 7222    
[GRP_DB]  ##与DB  [GRP]标签配置中的DCR_GRP_NAME保持一致
DCR_EP_NAME = TEST2  ##节点实例名
DCR_EP_SEQNO = 1    #固定数值
DCR_EP_PORT = 5236
DCR_CHECK_PORT = 7222

#节点1上
vi /dm/dmdbms/config/dmdcr.ini

DMDCR_PATH = /dev/asmdisk/asm-dcr   
DMDCR_MAL_PATH =/dm/dmdbms/config/dmasvrmal.ini  
DMDCR_SEQNO = 0
DMDCR_AUTO_OPEN_CHECK = 35
#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /dm/dmdbms/bin/DmASMSvrServiceTEST1 start  ##服务名与注册的服务名保持一致
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /dm/dmdbms/bin/DmServiceTEST1 start   ##服务名与注册的服务名保持一致

#节点2上
vi /dm/dmdbms/config/dmdcr.ini

DMDCR_PATH = /dev/asmdisk/asm-dcr
DMDCR_MAL_PATH =/dm/dmdbms/config/dmasvrmal.ini  
DMDCR_SEQNO = 1
DMDCR_AUTO_OPEN_CHECK = 35
#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /dm/dmdbms/bin/DmASMSvrServiceTEST2 start  ##服务名与注册的服务名保持一致
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /dm/dmdbms/bin/DmServiceTEST2 start   ##服务名与注册的服务名保持一致

#节点1和节点2上
vi /dm/dmdbms/config/dmasvrmal.ini

[MAL_INST1]
 MAL_INST_NAME = GRP_ASM1  ##与dmdcr_cfg.ini配置文件中ASM组中配置的节点名称保持一致
 MAL_HOST =  10.0.0.51  ##dsc1心跳ip
 MAL_PORT = 6223      
[MAL_INST2]
 MAL_INST_NAME = GRP_ASM2  ##与dmdcr_cfg.ini配置文件中ASM组中配置的节点名称保持一致
 MAL_HOST =  10.0.0.52  ##dsc2心跳ip
 MAL_PORT = 6223 


#仅在节点1上
vi /dm/dmdbms/config/dminit.ini
 
db_name = TEST              #初始化数据库名称大写
system_path = +DMDATA/      #初始化数据库存放的路径
system = +DMDATA/TEST/SYSTEM.DBF    #SYSTEM 表空间路径
system_size = 128       #SYSTEM 表空间大小
roll = +DMDATA/TEST/ROLL.DBF        #ROLL 表空间路径
roll_size = 128 	#ROLL 表空间大小
main = +DMDATA/TEST/MAIN.DBF        #MAIN 表空间路径
main_size = 128	 #MAIN 表空间大小
ctl_path = +DMDATA/TEST/dm.ctl      #DM.CTL 控制文件路径
ctl_size = 8    #DM.CTL 控制文件大小
log_size = 256  #日志文件大小
dcr_path = /dev/asmdisk/asm-dcr    #dcr 磁盘路径
dcr_seqno = 0   #连接 DMASM 节点节点号
auto_overwrite = 1      #文件存在时的处理方式0或1
PAGE_SIZE = 32
EXTENT_SIZE = 32 
CHARSET =1  #应用提供字符集
CASE_SENSITIVE =1     #应用提供大小写是否敏感 未提供默认敏感
BLANK_PAD_MODE=0      #应用提供结尾是否空格填充
SYSDBA_PWD=Dameng123
SYSAUDITOR_PWD=Dameng123
[TEST1]  ##与dmdcr_cfg.ini配置文件中DB组中配置的节点名称保持一致
config_path = /dm/dmdbms/config/dsc1_config   #路径要有创建权限
port_num = 5236 
mal_host = 10.0.0.51        #dsc1心跳ip,节点 MAL 系统使用 IP
mal_port = 4234
LOG_PATH = +DMDATA/TEST1_01.log
LOG_PATH = +DMDATA/TEST1_02.log
[TEST2]  ##与dmdcr_cfg.ini配置文件中DB组中配置的节点名称保持一致
config_path = /dm/dmdbms/config/dsc2_config   #路径要有创建权限
port_num = 5236
mal_host = 10.0.0.52  #dsc2心跳ip
mal_port = 4234
LOG_PATH = +DMDATA/TEST2_01.log
LOG_PATH = +DMDATA/TEST2_02.log 

#仅在节点1上
 vi /dm/dmdbms/config/asmcmd.txt
 
#asm script file
create dcrdisk '/dev/asmdisk/asm-dcr' 'dcr' 
create votedisk '/dev/asmdisk/asm-vote' 'vote' 
init dcrdisk '/dev/asmdisk/asm-dcr' from '/dm/dmdbms/config/dmdcr_cfg.ini' identified by 'Dameng123' 
init votedisk '/dev/asmdisk/asm-vote' from '/dm/dmdbms/config/dmdcr_cfg.ini' 
create asmdisk '/dev/asmdisk/asmdata1' 'DATA01' 
create asmdisk '/dev/asmdisk/asmdata2' 'DATA02' 
create asmdisk '/dev/asmdisk/asmdata3' 'DATA03'
create asmdisk '/dev/asmdisk/asmdata4' 'ARCH01'

dmasmcmd SCRIPT_FILE=/dm/dmdbms/config/asmcmd.txt

dd if=/dev/asmdisk/asm-dcr bs=4096 count=1 2>/dev/null | hexdump -C | head -20
节点1、2启动CSS:
dmcss DCR_INI=/dm/dmdbms/config/dmdcr.ini

新开窗口,节点1、2启动ASM:
dmasmsvr DCR_INI=/dm/dmdbms/config/dmdcr.ini

节点1上:
vim /dm/dmdbms/config/create_asm_group.txt

#asm script file
create diskgroup 'DMDATA' asmdisk     '/dev/asmdisk/asmdata1'
alter diskgroup  'DMDATA' add asmdisk '/dev/asmdisk/asmdata2'
alter diskgroup  'DMDATA' add asmdisk '/dev/asmdisk/asmdata3'
create diskgroup 'DMARCH' asmdisk     '/dev/asmdisk/asmdata4'

cd /dm/dmdbms/config
dmasmtool DCR_INI=dmdcr.ini SCRIPT_FILE=create_asm_group.txt


dmasmtool DCR_INI=/dm/dmdbms/config/dmdcr.ini
mkdir +DMDATA/arch0
mkdir +DMDATA/arch1

dminit control=/dm/dmdbms/config/dminit.ini
scp -r dsc2_config dmdba@192.168.218.52:/dm/dmdbms/config/
密码是 Dameng123

两个节点上
vi /dm/dmdbms/config/dmcssm.ini
CSSM_OGUID = 112233          #和 dmdcr_cfg.ini 中的 DCR_OGUID 保持一致
CSSM_CSS_IP = 10.0.0.51:9220  #与DMDCR_CFG.INI中CSS配置项的DCR_EP_HOST和DCR_EP_PORT保持一致 dsc1的心跳IP
CSSM_CSS_IP = 10.0.0.52:9220  #与DMDCR_CFG.INI中CSS配置项的DCR_EP_HOST和DCR_EP_PORT保持一致 dsc2的心跳IP
CSSM_LOG_PATH =/dm/dmdbms/log    #监视器日志文件存放路径
CSSM_LOG_FILE_SIZE = 256         #每个日志文件大小上限
CSSM_LOG_SPACE_LIMIT = 1024      #限定日志文件总占用空间


cd /dm/dmdbms/config/dsc1_config  节点1上
cd /dm/dmdbms/config/dsc2_config  节点2上
sed -i "s/ARCH_INI                        = 0/ARCH_INI                        = 1/g" dm.ini

节点1上
vi /dm/dmdbms/config/dsc1_config/dmarch.ini

ARCH_WAIT_APPLY = 0
ARCH_LOCAL_SHARE = 1
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMDATA/arch0
ARCH_FILE_SIZE = 256
ARCH_SPACE_LIMIT = 20480
ARCH_FLUSH_BUF_SIZE = 0
[ARCH_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = TEST2
ARCH_INCOMING_PATH = +DMDATA/arch1
ARCH_FILE_SIZE = 256
ARCH_SPACE_LIMIT = 20480
ARCH_FLUSH_BUF_SIZE = 0

节点2上
vi /dm/dmdbms/config/dsc2_config/dmarch.ini

ARCH_WAIT_APPLY = 0
ARCH_LOCAL_SHARE = 1
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMDATA/arch1
ARCH_FILE_SIZE = 256
ARCH_SPACE_LIMIT = 20480
ARCH_FLUSH_BUF_SIZE = 0
[ARCH_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = TEST1
ARCH_INCOMING_PATH = +DMDATA/arch0
ARCH_FILE_SIZE = 256
ARCH_SPACE_LIMIT = 20480
ARCH_FLUSH_BUF_SIZE = 0

# 切换到root用户下
cd /dm/dmdbms/script/root/
./dm_service_installer.sh -t dmcss -p TEST1 -dcr_ini /dm/dmdbms/config/dmdcr.ini
./dm_service_installer.sh -t dmcss -p TEST2 -dcr_ini /dm/dmdbms/config/dmdcr.ini

./dm_service_installer.sh -t dmasmsvr -p TEST1 -dcr_ini /dm/dmdbms/config/dmdcr.ini -y DmCSSServiceTEST1
./dm_service_installer.sh -t dmasmsvr -p TEST2 -dcr_ini /dm/dmdbms/config/dmdcr.ini -y DmCSSServiceTEST2

./dm_service_installer.sh -t dmserver -p TEST1 -dm_ini /dm/dmdbms/config/dsc1_config/dm.ini -y DmASMSvrServiceTEST1 -dcr_ini /dm/dmdbms/config/dmdcr.ini
./dm_service_installer.sh -t dmserver -p TEST2 -dm_ini /dm/dmdbms/config/dsc2_config/dm.ini -y DmASMSvrServiceTEST2 -dcr_ini /dm/dmdbms/config/dmdcr.ini

各窗口exit退出 ps -ef|grep dbms
DmCSSServiceTEST1 start
DmCSSServiceTEST2 start

DmASMSvrServiceTEST1 start
DmASMSvrServiceTEST2 start

m   #启动 CSS MONITOR
show
ep startup grp_db
exit

d   #登录disql
select * from v$dsc_ep_info;
select name,status$,host_name,start_time,mode$,DSC_SEQNO,dsc_role  from gv$instance order by 1;
bash 复制代码
[dmdba@dsc2 ~]$ disql -id
DM Database 64 V8 03134284488-20260212-314192-20200
相关推荐
weixin_381288182 小时前
mysql如何配置多实例运行环境_单机部署多个数据库服务
jvm·数据库·python
m0_734949792 小时前
PHP怎么使用Eloquent Attribute Synthesis属性合成_Laravel多源数据融合【指南】
jvm·数据库·python
风流 少年2 小时前
向量数据库:Chroma
数据库
qq_372906932 小时前
CSS怎么在flex布局中实现项目均分间距_设置justify-content space-evenly
jvm·数据库·python
2401_882273722 小时前
CSS 背景色无法撑满父容器?解决浮动导致的高度塌陷问题
jvm·数据库·python
weixin_381288182 小时前
jsoup如何读取html
jvm·数据库·python
逆境不可逃2 小时前
一篇速通Redis 从原理到Java实战(含缓存问题解决方案+集群配置)
数据库·redis·缓存
小卓(friendhan2005)2 小时前
基于Qt的音乐播放器项目
数据库·c++·qt
2401_882273722 小时前
golang如何处理zip压缩包_golang zip压缩包处理思路
jvm·数据库·python