虚拟机搭建达梦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
相关推荐
weelinking19 小时前
【2026】08_Claude与版本控制:Git协作技巧
数据库·人工智能·git·python·数据挖掘·交互·cloudera
黄焖鸡能干四碗1 天前
固定资产管理系统建设方案和源码(Java源码)
大数据·数据库·人工智能·物联网·区块链
JoneBB1 天前
ABAP Webservice连接
运维·开发语言·数据库·学习
解决问题no解决代码问题1 天前
从乱码到脱敏导出:TiDB CSV 导出实战全指南
数据库
未若君雅裁1 天前
MySQL高可用与扩展-主从复制读写分离分库分表
java·数据库·mysql
2401_867623981 天前
CSS Flex布局中如何设置子元素间距_掌握gap属性的现代用法
jvm·数据库·python
月落归舟1 天前
一篇文章了解Redis内存淘汰机制与过期Key清理
数据库·redis·mybatis
phltxy1 天前
Redis 事务
数据库·redis·缓存
康乾隆1 天前
SQL Server Always On 重新添加从库步骤
数据库·sqlserver
环流_1 天前
redis核心数据类型在java中的操作
java·数据库·redis