赞
踩
达梦数据库管理系统是武汉达梦公司推出的具有完全自主知识产权的高性能数据库管理系统,简称DM。达梦数据库管理系统目前最新的版本是8.0版本,简称DM8,以下介绍dm7,dm8,以及HA集群的搭建详细步骤
DM8是达梦公司在总结DM系列产品研发与应用经验的基础上,坚持开放创新、简洁实用的理念,推出的新一代自研数据库。DM8吸收借鉴当前先进新技术思想与主流数据库产品的优点,融合了分布式、弹性计算与云计算的优势,对灵活性、易用性、可靠性、高安全性等方面进行了大规模改进,多样化架构充分满足不同场景需求,支持超大规模并发事务处理和事务-分析混合型业务处理,动态分配计算资源,实现更精细化的资源利用、更低成本的投入。
以下是官网的原话:
1、新一代大型通用关系型数据库,全面支持SQL标准和主流编程语言接口/开发框架。行列整合存储技术,在兼顾OLAP和OLTP的同时,满足HTAP混合应用场景。
2、融合 了分布式、弹性计算与云计算的优势,对灵活性、易用性、可靠性、高安全性等方面进行了大规模改进,多样化架构充分满足不同场景需求,支持超大规模并发事务处理和事务-分析混合型业务处理,动态分配计算资源,实现更精细化的资源利用、更低成本的投入。一个数据库,满足用户多种需求,让用户能更加专注业务发展。
3、支持自动故障切换、支持事务级读写负载分离、支持读写分配比例可调整、读多写少业务场景下的性能近线性提升。
4、具备事务-分析混合弄业务处理能力,满足用户对HTAP应用场景的需求;具备变更缓存、高级日志两个关键特性,弥合行存储列存储的鸿沟。
5、多项细节优化,增强易用性,为用户带来359项产品细节打磨,优化细节增强易用性。全新的集中式运维管理工具——DEM;管理工具集成新的SQL助手2.0、运行环境提示与误删保护;高安全等级的数据库管理系统,达到国家安全四级、EAL4+级,满足GB/T 20273、GB/T 18336;增强改进多项安全性;支持多种云计算基础设施环境、支持多种硬件平台。
标准版 | 不支持集群等特性,满足小型企业需求 |
企业版 | 满足中大型企业需求,生产环境使用最多的版本 |
安全版 | 增加了安全特性,四权分离、强制访问控制,环境标记等 |
开发版 | 对使用时间做了限制,不用于商用 |
查看磁盘大小
lvs
查看磁盘名称
blkid
查看操作系统,然后去获取对应的iso镜像文件
cat /etc/issue
在root下创建用户和组
- groupadd dinstall
- mkdir -p /home/dmdba
- useradd -g dinstall -m -d /home/dmdba/dm -s /bin/bash dmdba
- passwd dmdba --设置用户dmdba密码
创建安装所需要目录,dmdata是存放数据的目录,dmbak是存备份文件的目录,dmarch是存归档文件的目录
- mkdir -p /dbdata/dmdata /dbbak/dmbak /dbarch/dmarch
- chown -R dmdba:dinstall /home/dmdba /dbdata /dbbak /dbarch
创建目录,存放iso镜像文件,dm.ini,dmarch.ini, sqllog.ini, dm.key,sql语句,nmon监控脚本等配置文件
mkdir /opt/dm
根据不同要求创建目录
- mkdir -p ./dbdata/dmdata ./dbbak/dmbak ./dbarch/dmarch
-
- mkdir -p /home/dmdba/dbdata/dmdata /home/dmdba/dbbak/dmbak /home/dmdba/dbarch/dmarch
- chown -R dmdba:dinstall /home/dmdba /home/dmdba/dbdata /home/dmdba/dbbak /home/dmdba/dbarch
HA是装两台服务端,两台共用磁盘,所以只需要在一台挂载一台实例化,切忌两边挂载,会崩,如果是ha需挂载磁盘,按照data数据文件最大,arch最小挂载
使用blkid查看磁盘名,然后挂载:
- blkid
- mount /dev/mapper/vg01-lv01 /dbdata
- mount /dev/mapper/vg02-lv02 /dbbak
- mount /dev/mapper/vg03-lv03 /dbarch
设置用户open files(用户可以打开文件的最大数目):ulimit -n 65536。
ulimit 用于限制 shell 启动进程所占用的资源
ulimit -n 65536
或修改limit.conf文件:
- vi /etc/security/limits.conf
-
- dmdba soft nofile 65536
- dmdba hard nofile 65536
- dmdba soft nproc 10240
- dmdba hard nproc 10240
- dmdba soft core unlimited
- dmdba hard core unlimited
查看系统用户所有限制值:
ulimit -a
resource:
core – 限制内核文件的大小
fsize – 最大文件大小
memlock – 最大锁定内存地址空间
nofile – 打开文件的最大数目
rss – 最大持久设置大小
stack – 最大栈大小
cpu – 以分钟为单位的最多 CPU 时间
noproc – 进程的最大数目(系统的最大进程数)
as – 地址空间限制
maxlogins – 此用户允许登录的最大数目
这里就需要设置文件大小不限制
ulimit -c unlimited
设置安装缓存,目录后开始安装
必须是在Dmdba用户下安装
挂载是Linux中的根目录以外的文件要想被访问,需要将其“关联”到根目录下的某个目录来实现,这种关联操作就是“挂载”,这个目录就是“挂载点”,所以以下挂载点就是/mnt
挂载命令:
mount -o loop /opt/dm/dm7_20230721_HWarm_linux6.0_64.iso /mnt
然后去dmdba用户下去安装
- su - dmdba
- cd /mnt
- ./DMInstall.bin -i
安装完成提示有一段脚本需要执行(没有就不需要执行)
root执行脚本
su -
安装完毕执行 脚本
初始化达梦数据库
配置实例
su - dmdba
命令行配置实例,(匹配ORACLE要加参数 blank_pad_mode=1 取值:1兼容ORA,0不兼容;CHARSET=1 取值:1为UTF-8 )(这一步也会验证key)
去dmdbms路径下:
cd /home/dmdba/dm/dmdbms/bin
切换到dmdba用户下的bin文件中按实际需求修改初始化参数,其中dbdata路径需和前面创建目录相同:
./dminit INI_FILE=/dbdata/dmdata/DAMENG/dm.ini PATH=/dbdata/dmdata extent_size=16 page_size=32 case_sensitive=y log_size=2048
将dm.ini文件拷贝到达梦安装目录bin目录下,修改参数(南瑞继保要将关键字过滤全部删掉 EXCLUDE_RESERVED_WORDS )
dm.ini 文件中SYSTEM_PATH 指向目录下放置 dmarch.ini
DM8直接从DAMENG中拖出dm.ini放入人bin中
cp /dbdata/dmdata/DAMENG/dm.ini /home/dmdba/dm/dmdbms/bin
dm.ini文件放入/home/dmdba/dm/dmdbms/bin目录下,dmarch.ini与sqllog.ini放入数据目录下并替换。
- cd /opt/dm/
- cp dm.ini /home/dmdba/dm/dmdbms/bin
- cp dmarch.ini sqllog.ini /dbdata/dmdata/DAMENG/
dm.ini(BUFFER设为内存的40%,单位M MAX_BUFFER50%)、dmarch.ini(ARCH_SPACE_LIMIT存储的80%)
vi /home/dmdba/dm/dmdbms/bin/dm.ini
##DM8需要用自动生成的文件,先跑优化脚本,之后手动修改
AutoParaAdj_dm8.sql文件
修改dm.ini以下配置
ARCH_INI=1 SVR_LOG=1 MAX_SESSION
vi /dbdata/dmdata/DAMENG/dmarch.ini
添加dmap.sh脚本
- cp /opt/dm/monitor_dmap.sh /home/dmdba/dm/dmdbms/bin/
- chown dmdba:dinstall /home/dmdba/dm/dmdbms/bin/monitor_dmap.sh
- chmod +x /home/dmdba/dm/dmdbms/bin/monitor_dmap.sh
- ll /home/dmdba/dm/dmdbms/bin/monitor_dmap.sh
部署了HA环境,务必将dm.ini参数文件放置在安装目录bin文件夹下,并添加参数: 其他设备的IP
HA_INST_CHECK_IP = 172.17.3.53
HA_INST_CHECK_IP = 10.10.10.1
HA_INST_CHECK_IP = 11.11.11.1
HA_OTHER_INST_PORT = 65533
配置启动脚本/bin/service_template/DmService 为dmserverd,
- cd /home/dmdba/dm/dmdbms/bin/service_template/
- cp DmService ../dmserverd
- cd ../
- vi dmserverd --修改path_ini的路径
-
- /home/dmdba/dm/dmdbms/bin/dm.ini --path_ini的路径
-
- INI_PATH=/home/dmdba/dm/dmdbms/bin/dm.ini
修改ini文件目录为/home/dmdba/dm/dmdbms/bin/dm.ini
使用root用户
- cp /home/dmdba/dm/dmdbms/bin/dmserverd /etc/rc.d/init.d/
- cp /home/dmdba/dm/dmdbms/bin/dmserverd /etc/init.d/
HA需要复制DmAPService
- cp /home/dmdba/dm/dmdbms/bin/DmAPService /etc/rc.d/init.d/
- cp /home/dmdba/dm/dmdbms/bin/DmAPService /etc/init.d/
开机自启设置
- /lib/systemd/systemd-sysv-install enable dmserverd
- chkconfig dmserverd on
- chkconfig dmserverd --list
- --(2,3,4,5应都为启用状态)
客户端的安装配置
客户端的安装配置
- su - dmdba
- vi /etc/dm_svc.conf
添加
char_chk=(0) #忽略字符检查
direct=(n) #不使用快速装载
dummy=(y) #导入导出时选择覆盖
用dmdba用户,把oci接口放入相应文件夹
- ls -lrth
- cd /opt/dm/dmoci/
- cp libdmoci.so /home/dmdba/dm/dmdbms/bin
- cp libdmoci.a /home/dmdba/dm/dmdbms/include/
- cd include/
- cp oci.h /home/dmdba/dm/dmdbms/include/
符号包的导入
- mv symbols.tar.gz /home/dmdba/dm/dmdbms/
- cd /home/dmdba/dm/dmdbms/
- tar -zxvf symbols.tar.gz
启动库
- cd /home/dmdba/dm/dmdbms/bin
- ./dmserverd start
连接达梦数据库:
./disql SYSDBA/SYSDBA
##DM8需要用自动生成的文件,先跑优化脚本
AutoParaAdj_dm8.sql文件 查看dm.ini文件参数
跑一个备份的sql
下面dbbak dmbak需要根据实际路径更换,比如/home/dmdba/dbbak
- call SP_INIT_JOB_SYS(1);
- call SP_CREATE_JOB('dbbak',1,0,'',0,0,'',0,'');
- call SP_JOB_CONFIG_START('dbbak');
- call SP_ADD_JOB_STEP('dbbak', 'bakjob', 6, '01040000/dbbak/dmbak', 0, 2, 0, 0, NULL, 0);
- call SP_ADD_JOB_STEP('dbbak', 'del7', 0, 'CALL SF_BAKSET_BACKUP_DIR_ADD(''DISK'',''/dbbak/dmbak'');
- CALL SF_BAKSET_REMOVE_BATCH (''DISK'',now()-7,NULL,NULL);', 1, 2, 0, 0, NULL, 0);
- call SP_ADD_JOB_SCHEDULE('dbbak', 'dobak', 1, 1, 1, 0, 0, '01:00:00', NULL, '1970-01-01 00:00:00', NULL, '');
- call SP_JOB_CONFIG_COMMIT('dbbak');
如歌客户端需要更改用户的归属把客户端启动权限给ems
- id ems
- chown -R ems:1002 /home/dmdba/dm/dmClient
-
- cd /home/dmdba/dm/dmClient/tool/
- ./manager
部署nmon监控程序:
上传nmon程序
root下
创建nmon的监控路径和log文件
- cp /opt/dm/nmon.dat /home/dmdba/dm/dmdbms/tool
- cd /home/dmdba/dm/dmdbms/tool
- chown -R dmdba:dinstall nmon.dat
- chmod -R 777 nmon.dat
- mv nmon.dat nmon
- ls -ll nmon
- mkdir -p /home/dmdba/dm/nmon_log
- chown -R dmdba:dinstall /home/dmdba/dm/nmon_log/
crontab -e 是一个用于编辑 crontab 文件的命令。crontab 文件是一个用于定时执行任务的文件,其中包含了一系列的命令和任务,系统会按照预定的时间间隔来执行这些任务。
crontab -e
- 0 0 * * * /home/dmdba/dm/dmdbms/tool/nmon -s20 -c4320 -fT -m /home/dmdba/dm/nmon_log > /dev/null 2>&1
- 0 0 * * * find /home/dmdba/dm/nmon_log -type f -mtime +365 -exec rm -f {} \;
- */1 * * * * /home/dmdba/dm/dmdbms/bin/monitor_dmap.sh
##DM8 或者客户要求 需要根据客户执行相关表空间创建用户等sql
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。