达梦DW数据库安装

bash 复制代码
--安装前检查环境
hostname; date; free -h; df -h; cat /etc/hosts; tail /etc/passwd
nmcli d; ip a; ls /opt/soft
确定数据、归档位置

--设置主机名
echo "`hostname -i` " " db`hostname -i |cut -c 11-13`">>/etc/hosts
hostnamectl set-hostname "db`hostname -i |cut -c 11-13`"

--关闭防火墙
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
mkdir /opt/soft
上传介质
mount -r /opt/soft/dm8_20250527_x86_kylin10_64.iso /mnt

date -s "2025-11-15 09:45:00"

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

mkdir -p /dm/dmdbms
mkdir /dmdata
mkdir /dmarch
mkdir /dmbak

chown -R dmdba:dinstall /dm
chown -R dmdba:dinstall /dmdata
chown -R dmdba:dinstall /dmarch
chown -R dmdba:dinstall /dmbak
chown -R dmdba:dinstall /opt/soft

su - dmdba
export DM_INSTALL_TMPDIR=~
/mnt/DMIn* -i

cat >>~/.bash_profile<<EOF

export PATH=$DM_HOME/bin:$DM_HOME/tool:$PATH
alias d="disql SYSDBA/Dameng123"
alias m="dmmonitor /dmdata/TEST/dmmonitor.ini"
EOF
. ~/.bash_profile

只在主库
dminit path=/dmdata db_name=TEST instance_name=TEST1  \
EXTENT_SIZE=32 PAGE_SIZE=32 LOG_SIZE=256 \
SYSDBA_PWD=Dameng123 SYSAUDITOR_PWD=Dameng123 port_num=5236


root:

/dm/dmdbms/script/root/dm_service_installer.sh -t dmserver -p TEST1 -dm_ini /dmdata/TEST/dm.ini

--查看已安装的达梦服务,如果错误删除
systemctl list-unit-files |grep Dm
/home/dmdba/dmdbms/script/root/dm_service_uninstaller.sh -n DmServiceDMDB1

--必须先启动一次,否则不让备份
DmServiceTEST1 start
DmServiceTEST1 stop

dmrman ctlstmt="backup database '/dmdata/TEST/dm.ini' FULL TO BACKUP_FILE1 BACKUPSET '/dmbak/'"
scp -r /dmbak/* 192.168.32.22:/dmbak

cd /dmdata/TEST; vi dmmal.ini

MAL_CHECK_INTERVAL = 15
MAL_CONN_FAIL_INTERVAL = 5
[mal_inst0]
   mal_inst_name  = TEST1
    mal_host       = 192.168.32.11   #主节点 心跳ip       
    mal_port       = 15101 
    MAL_INST_HOST  = 192.168.32.11  #主节点实例的对外服务IP地址
    MAL_INST_PORT  = 5236  #实例对外服务端口,和dm.ini的PORT_NUM一致
    MAL_DW_PORT    = 25101  #实例对应的守护进程监听TCP连接的端口
    MAL_INST_DW_PORT  = 35101  #实例监听守护进程TCP连接的端口
[mal_inst1]
    mal_inst_name  = TEST2 
    mal_host       = 192.168.32.22  #备节点 心跳ip
    mal_port       = 15121 
    MAL_INST_HOST  = 192.168.32.22 #备节点实例的对外服务IP地址
    MAL_INST_PORT  = 5236
    MAL_DW_PORT    = 25121  
    MAL_INST_DW_PORT  = 35121 

vi dmarch.ini

[ARCH_LOCAL]
  ARCH_TYPE         = LOCAL  #本地归档类型
  ARCH_DEST         = /dmarch  #本地归档存放路径
  ARCH_FILE_SIZE       = 256  #单个归档大小,单位MB
  ARCH_SPACE_LIMIT    = 0  #单位M
[ARCH_REALTIME]
ARCH_TYPE         =REALTIME
ARCH_DEST=TEST2

vi dmwatcher.ini

[GRP]
  DW_TYPE                  = GLOBAL  
  DW_MODE                  = AUTO ##如无特殊要求,默认配置manual
  DW_ERROR_TIME            = 10 
  INST_ERROR_TIME          = 10 
  INST_RECOVER_TIME        = 60  
  INST_OGUID               = 112233 ##主备两节点配置一致,集群OGUID规则要求YYYYMMDD01/02...长度不超过19
  INST_INI                 = /dmdata/TEST/dm.ini  
  INST_STARTUP_CMD      = /dm/dmdbms/bin/dmserver  
  INST_AUTO_RESTART        = 1 
  RLOG_SEND_THRESHOLD      = 0  
  RLOG_APPLY_THRESHOLD     = 0 

sed -i 's/MAL_INI                         = 0  /MAL_INI                         = 1  /g' dm.ini
sed -i 's/ARCH_INI                        = 0  /ARCH_INI                        = 1  /g' dm.ini
grep -E 'MAL_INI|ARCH_INI' dm.ini  #都应该为1

dmserver /dmdata/TEST/dm.ini mount

新开窗口
d
SP_SET_PARA_VALUE(1,'ALTER_MODE_STATUS',1);
SP_SET_OGUID(112233); 
ALTER DATABASE PRIMARY;
SP_SET_PARA_VALUE(1,'ALTER_MODE_STATUS',0);

root:
/dm/dmdbms/script/root/dm_service_installer.sh 
-t dmwatcher -p TEST1 -watcher_ini /dmdata/TEST/dmwatcher.ini -m mount

备库
dminit path=/dmdata db_name=TEST instance_name=TEST2  \
EXTENT_SIZE=32 PAGE_SIZE=32 LOG_SIZE=256 \
SYSDBA_PWD=Dameng123 SYSAUDITOR_PWD=Dameng123 port_num=5236


DmAPService start
dmrman ctlstmt="restore database '/dmdata/TEST/dm.ini' from backupset '/dmbak/'"
dmrman ctlstmt="recover database '/dmdata/TEST/dm.ini' from backupset '/dmbak/'"
dmrman ctlstmt="recover database '/dmdata/TEST/dm.ini' update db_magic"

cd /dmdata/TEST/
sed -i 's/MAL_INI                         = 0  /MAL_INI                         = 1  /g' dm.ini
sed -i 's/ARCH_INI                        = 0  /ARCH_INI                        = 1  /g' dm.ini
grep -E 'MAL_INI|ARCH_INI' dm.ini

scp 192.168.32.11:$PWD/dmmal.ini .
scp 192.168.32.11:$PWD/dmarch.ini .
scp 192.168.32.11:$PWD/dmwatcher.ini .

sed -i 's/ARCH_DEST=TEST2/ARCH_DEST=TEST1/g' dmarch.ini

dmserver /dmdata/TEST/dm.ini mount

新开窗口
d
SP_SET_PARA_VALUE(1,'ALTER_MODE_STATUS',1);
SP_SET_OGUID(112233); 
ALTER DATABASE STANDBY;
SP_SET_PARA_VALUE(1,'ALTER_MODE_STATUS',0);

root:
/dm/dmdbms/script/root/dm_service_installer.sh -t dmserver  -p TEST2 -dm_ini /dmdata/TEST/dm.ini
/dm/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -p TEST2 -watcher_ini /dmdata/TEST/dmwatcher.ini -m mount

原启动窗口exit

主库:  DmWatcherServiceTEST1 start
备库:  DmWatcherServiceTEST2 start

vi /dmdata/TEST/dmmonitor.ini

MON_DW_CONFIRM = 1 #0表示监控模式,1表示确认模式
MON_LOG_PATH = /dm/dmdbms/log/  #日志路径根据实际情况更改
MON_LOG_INTERVAL = 60  #自动记录系统状态信息到日志文件的时间间隔
MON_LOG_FILE_SIZE = 64 #单个日志文件大小,单位M
MON_LOG_SPACE_LIMIT = 4096 #日志总空间大小,0表示没限制
[GRP]  
MON_INST_OGUID = 112233 #与 dmwatcher.ini 中的 INST_OGUID 保持一致
MON_DW_IP = 192.168.32.11:25101  #主节点心跳IP
MON_DW_IP = 192.168.32.22:25121  #备节点心跳IP	

m
show

d
select name,status$,host_name,start_time,mode$,DSC_SEQNO,dsc_role  from gv$instance order by 1;

行号     NAME  STATUS$ HOST_NAME START_TIME          MODE$   DSC_SEQNO   DSC_ROLE
---------- ----- ------- --------- ------------------- ------- ----------- --------
1          TEST1 OPEN    dwdb1     2025-11-08 19:22:23 PRIMARY 0           NULL
2          TEST2 OPEN    dwdb2     2025-11-08 19:22:29 STANDBY 0           NULL
相关推荐
SelectDB41 分钟前
宇信科技基于 SelectDB & Apache Doris 构建实时智能的银行经营分析平台
数据库·apache
胖咕噜的稞达鸭1 小时前
算法入门:滑动窗口--->找到字符串中所有的字母异位词,串联所有的子串,最小覆盖子串
数据库·redis·算法
SelectDB1 小时前
上海证券 SelectDB 升级实践:湖仓流批一体落地与 Elasticsearch 全面替换
数据库·apache
一个天蝎座 白勺 程序猿1 小时前
KingbaseES在政务领域的应用实践——武汉人社大数据平台“数字化服务新模式”
大数据·数据库·政务·kingbasees·金仓数据库
f***01933 小时前
【MySQL】JDBC的连接
数据库·mysql
5***T4483 小时前
开启mysql的binlog日志
数据库·mysql
q***33373 小时前
UNION 和 UNION ALL 的区别:深入解析 SQL 中的合并操作
数据库·sql·oracle
郑重其事,鹏程万里3 小时前
关系型数据库(derby)
数据库
Elastic 中国社区官方博客3 小时前
使用 A2A 协议和 MCP 在 Elasticsearch 中创建一个 LLM agent 新闻室:第二部分
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索