当前位置: 首页 > article >正文

dm8在Linux环境安装精简步骤说明(2024年12月更新版dm8)

dm8在Linux环境安装详细步骤 - - 2025年1月之后dm8

  • 环境介绍
  • 1 修改操作系统资源限制
  • 2 操作系统创建用户
  • 3 操作系统配置
  • 4 数据库安装
  • 5 初始化数据库
  • 6 实例参数优化
  • 7 登录数据库配置归档与备份
  • 8 配置审计
  • 9 创建用户
  • 10 屏蔽关键字与数据库兼容模式
  • 11 jdbc连接串配置
  • 12 更多达梦数据库学习使用列表

环境介绍

  • Cpu x86
  • Os Kylin v10 sp2
  • Dm8 1-4-6-2024.12.25-255012-20119-ENT
    –03134284294-20241225-255012-20119 Pack20
  • 数据库程序安装路径 /opt/dmdba/dmdbms
  • 数据库实例安装路径 /opt/dmdba/dmdata
  • 数据库归档日志路径 /opt/dmdba/dmarch
  • 数据库异常CORE路径 /opt/dmdba/dmcore
  • 数据库备份路径 /opt/dmdba/data/DAMENG/bak
  • 数据库安装包路径 /opt/dmdba
  • 安装前操作系统环境检查 - - 点击跳转
  • 操作系统建议安装 tar、telnet、perf、gdb、nmon、pstack、iostat、netstat、ethtool 等工具包 , 遇到问题方便分析
磁盘测速 低于25MB/S 不满足上线规范要求,可能存在性能瓶颈
        dd  if=/dev/sdb  of=test  bs=32k  count=20k  oflag=dsync
        dd  if=/dev/vdb  of=test  bs=32k  count=20k  oflag=dsync
              /dev/sdb 是数据盘符名称,根据实际环境修改
              /dev/vdb 是数据盘符名称,根据实际环境修改

1 修改操作系统资源限制

# 使用 root 用户
vi /etc/security/limits.conf

* soft nproc 10240
* hard nproc 10240
dmdba soft nproc 10240
dmdba hard nproc 10240
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba hard data unlimited
dmdba soft data unlimited
dmdba hard fsize unlimited
dmdba soft fsize unlimited
dmdba soft core unlimited
dmdba hard core unlimited

2 操作系统创建用户

# 使用 root 用户
groupadd dinstall
useradd -g dinstall dmdba
passwd dmdba
**********
**********
mkdir -p /opt/dmdba
chown -R dmdba:dinstall /opt/dmdba

3 操作系统配置

# 使用 root 用户

cat /etc/sysctl.conf
# 1 操作系统内存配置overcommit_memory设置为0(详情见上线规范)
echo vm.overcommit_memory = 0 >> /etc/sysctl.conf && sysctl -p
# 2 core 文件生产路径修改 (详情见上线规范)
echo kernel.core_pattern = /opt/dmdba/dmcore/core-%e-%p-%s >> /etc/sysctl.conf && sysctl -p
# 3 关闭numa
echo vm.numa_stat = 0 >> /etc/sysctl.conf && sysctl -p

# 4 内存≤32G 不用改vm.min_free_kbytes
echo vm.min_free_kbytes = 1153434 >> /etc/sysctl.conf && sysctl -p
# 5 内存不足时,建议设置为 1
echo vm.swappiness = 10 >> /etc/sysctl.conf && sysctl -p

# 6 永久关闭swap 缓存 重启生效
sed -ri 's/.*swap.*/#&/' /etc/fstab

# 7 关闭numa +关闭透明大页 重启生效
	# 编辑 vi /etc/default/grub 文件 或编辑 vi /etc/grub.conf 文件
	# (必须看上线规范操作验证)
	在 GRUB_CMDLINE_LINUX 那一行后面追加 numa=off transparent_hugepage=never
	# 查询结果是 UEFI 或 BIOS
	[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS
	# UEFI 执行命令
	grub2-mkconfig -o /boot/efi/EFI/kylin/grub.cfg
	# BIOS 执行命令
	grub2-mkconfig -o /boot/grub2/grub.cfg
	# 重启后验证
	cat /sys/kernel/mm/transparent_hugepage/enabled

# 8 磁盘调算法 (详情见上线规范)
	# 要求磁盘调度算法为 deadline
	cat /sys/block/{DEVICE-NAME}/queue/scheduler
	# 注意把{DEVICE-NAME}替换会数据库所使用的对应的磁盘名称,以下以 sda,sdb,vdb 为例。
	cat /sys/block/sda/queue/scheduler
	cat /sys/block/sdb/queue/scheduler
	cat /sys/block/vdb/queue/scheduler

# 9 麒麟 V10sp1 检查 RemoveIPC 参数 (详情见上线规范)
    查看麒麟版本命令: nkvers
	# 修改/etc/systemd/logind.conf 配置文件中的 RemoveIPC 参数,#注释去掉,并修改 yes 为 no
	# 重启服务
	systemctl daemon-reload;
	systemctl restart systemd-logind
	# 检查确认
	systemctl show systemd-logind | grep -i removeipc

# 10 关闭防火墙或放开端口 (详情见上线规范)
# 11 关闭 SELinux(CentOS6.5) (详情见上线规范)

4 数据库安装

# 使用 root 用户

mount -o loop dm8_20241227_x86_rh7_64.iso /mnt

# 使用 dmdba 用户
su - dmdba
cd /mnt
./DMInstall.bin -i
请选择安装语言 [1]:1
是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:y
请输入Key文件的路径地址 [dm.key]:/opt/dmdba/dm.key
是否设置时区? (Y/y:是 N/n:否) [Y/y]:y
请选择时区 [21]:21
请选择安装类型的数字序号 [1 典型安装]:1
请选择安装目录 [/home/dmdba/dmdbms]:/opt/dmdba/dmdbms
是否确认安装路径(/opt/dmdba/dmdbms)? (Y/y:是 N/n:否)  [Y/y]:y
是否确认安装? (Y/y:是 N/n:否):y

# 使用 root 用户 执行
exit
/opt/dmdba/dmdbms/script/root/root_installer.sh

5 初始化数据库

# 使用 dmdba 用户

su - dmdba

./dminit path=/opt/dmdba/dmdata page_size=32 extent_size=32 log_size=2048 charset=0 case_sensitive=1 DB_NAME=DAMENG INSTANCE_NAME=DMSERVER SYSDBA_PWD=Dameng@123 SYSAUDITOR_PWD=Dameng@123 PORT_NUM=5236 BLANK_PAD_MODE=0

# 前台启动 与 关闭
./dmserver  /opt/dmdba/dmdata/DAMENG/dm.ini
# 日志输出 SYSTEM IS READY
输入 exit  正常关闭数据库

# 使用 root 用户 注册数据库服务
su - root
cd /opt/dmdba/dmdbms/script/root
 ./dm_service_installer.sh -t dmserver -p 5236 -dm_ini /opt/dmdba/dmdata/DAMENG/dm.ini

# 启动数据库服务
/opt/dmdba/dmdbms/bin/DmService5236 start

6 实例参数优化

# 使用 dmdba 用户

su - dmdba
cd /opt/dmdba/dmdbms/bin
./disql SYSDBA/'"Dameng@123"'@127.0.0.1:5236
-- 示例 16c,32g配置 , 报错行可以跳过
SP_SET_PARA_VALUE(2,'WORKER_THREADS',14);
SP_SET_PARA_VALUE(2,'IO_THR_GROUPS',16);
SP_SET_PARA_VALUE(2,'GEN_SQL_MEM_RECLAIM',0);
SP_SET_PARA_VALUE(2,'MAX_OS_MEMORY',       100);
SP_SET_PARA_VALUE(2,'MEMORY_POOL',         2048);
SP_SET_PARA_VALUE(2,'MEMORY_N_POOLS',      3);
SP_SET_PARA_VALUE(2,'MEMORY_TARGET',       10240);
SP_SET_PARA_VALUE(2,'BUFFER',              12000);
SP_SET_PARA_VALUE(2,'BUFFER_POOLS',        21);
SP_SET_PARA_VALUE(2,'RECYCLE',        	   2048);
SP_SET_PARA_VALUE(2,'RECYCLE_POOLS',       7);
SP_SET_PARA_VALUE(2,'FAST_POOL_PAGES',     9999);
SP_SET_PARA_VALUE(2,'FAST_ROLL_PAGES',     1000);
SP_SET_PARA_VALUE(2,'ENABLE_FREQROOTS',1);
SP_SET_PARA_VALUE(2,'MULTI_PAGE_GET_NUM',1);
SP_SET_PARA_VALUE(2,'PRELOAD_SCAN_NUM',0);
SP_SET_PARA_VALUE(2,'PRELOAD_EXTENT_NUM',0);
SP_SET_PARA_VALUE(2,'TASK_THREADS',8);
SP_SET_PARA_VALUE(2,'MEMORY_MAGIC_CHECK',       1);
SP_SET_PARA_VALUE(2,'HJ_BUF_GLOBAL_SIZE',  2048);
SP_SET_PARA_VALUE(2,'HJ_BUF_SIZE',        128);
SP_SET_PARA_VALUE(2,'HAGR_BUF_GLOBAL_SIZE',2048);
SP_SET_PARA_VALUE(2,'HAGR_BUF_SIZE',     128);
SP_SET_PARA_VALUE(2,'SORT_FLAG',0);
SP_SET_PARA_VALUE(2,'SORT_BLK_SIZE',1);
SP_SET_PARA_VALUE(2,'SORT_BUF_SIZE',       10);
SP_SET_PARA_VALUE(2,'SORT_BUF_GLOBAL_SIZE',       2048);
SP_SET_PARA_VALUE(2,'RLOG_POOL_SIZE',      1024);
SP_SET_PARA_VALUE(2,'CACHE_POOL_SIZE',     1024);
SP_SET_PARA_VALUE(2,'DICT_BUF_SIZE',       512);
SP_SET_PARA_VALUE(2,'VM_POOL_TARGET',       16384);
SP_SET_PARA_VALUE(2,'SESS_POOL_TARGET',       16384);
SP_SET_PARA_VALUE(2,'USE_PLN_POOL',        1);
SP_SET_PARA_VALUE(2,'ENABLE_MONITOR',      1);
SP_SET_PARA_VALUE(2,'SVR_LOG',             1);
SP_SET_PARA_VALUE(2,'TEMP_SIZE',           20480);
SP_SET_PARA_VALUE(2,'TEMP_SPACE_LIMIT',    204800);
SP_SET_PARA_VALUE(2,'MAX_SESSIONS',        1500);
SP_SET_PARA_VALUE(2,'MAX_SESSION_STATEMENT', 20480);
SP_SET_PARA_VALUE(2,'PK_WITH_CLUSTER',		0);
SP_SET_PARA_VALUE(2,'ENABLE_ENCRYPT',0);
SP_SET_PARA_VALUE(2,'OLAP_FLAG',2);
SP_SET_PARA_VALUE(2,'VIEW_PULLUP_FLAG',1);
SP_SET_PARA_VALUE(2,'OPTIMIZER_MODE',1);
SP_SET_PARA_VALUE(2,'ADAPTIVE_NPLN_FLAG',0);
SP_SET_PARA_VALUE(2,'MONITOR_INDEX_FLAG',2);
SP_SET_PARA_VALUE(2,'ENABLE_CREATE_BM_INDEX_FLAG',0);
SP_SET_PARA_VALUE(2,'OPTIMIZER_OR_NBEXP',0);
SP_SET_PARA_VALUE(2,'PARALLEL_PURGE_FLAG',1);
SP_SET_PARA_VALUE(2,'PARALLEL_POLICY',2);
SP_SET_PARA_DOUBLE_VALUE(2,'UNDO_RETENTION',900);
SP_SET_PARA_VALUE(2,'UNDO_EXTENT_NUM',16);
SP_SET_PARA_VALUE(2,'ENABLE_INJECT_HINT',1);
SP_SET_PARA_VALUE(2,'BTR_SPLIT_MODE',1);
SP_SET_PARA_VALUE(2,'FAST_LOGIN',1);
SP_SET_PARA_VALUE(2,'ENABLE_MONITOR_BP',0);
SP_SET_PARA_VALUE(2,'MVCC_RETRY_TIMES',300);
SP_SET_PARA_VALUE(2,'RLOG_APPEND_LOGIC',1);
SP_SET_PARA_VALUE(2,'CALC_AS_DECIMAL',1);
SP_SET_PARA_VALUE(2,'AUDIT_MAX_FILE_SIZE',1024);
SP_SET_PARA_VALUE(2,'AUDIT_SPACE_LIMIT',10240);
alter tablespace "MAIN" datafile 'MAIN.DBF' autoextend on maxsize 102400;

7 登录数据库配置归档与备份

# 使用 dmdba 用户

su - dmdba
cd /opt/dmdba/dmdbms/bin
./disql SYSDBA/'"Dameng@123"'@127.0.0.1:5236

-- 开归档
ALTER DATABASE MOUNT;
ALTER DATABASE ARCHIVELOG;
-- 单个文件 2048MB=2GB , 最大空间限制204800MB=200GB
ALTER DATABASE ADD ARCHIVELOG 'DEST=/opt/dmdba/dmdata/dmarch,TYPE=LOCAL,FILE_SIZE=2048,SPACE_LIMIT=204800';
ALTER DATABASE OPEN;
CHECKPOINT(100);

--手动全备一次
backup database compressed;

--开启代理环境
SP_INIT_JOB_SYS(1);

-- 周六晚上9点 备份全量
call SP_CREATE_JOB('db_bak',1,0,'',0,0,'',0,'');
call SP_JOB_CONFIG_START('db_bak');
call SP_ADD_JOB_STEP('db_bak', 'db_bak', 6, '01000000', 1, 1, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('db_bak', 'db_bak', 1, 2, 1, 64, 0, '21:36:44', NULL, '2021-12-08 21:36:44', NULL, '');
call SP_JOB_CONFIG_COMMIT('db_bak');

--23点累计增量备份 周日,周一,周二,周三,周四,周五
--注意修改全量备份路径 /opt/dmdba/dmdata/DAMENG/bak
call SP_CREATE_JOB('db_bak_add',1,0,'',0,0,'',0,'');
call SP_JOB_CONFIG_START('db_bak_add');
call SP_ADD_JOB_STEP('db_bak_add', 'db_bak_add', 6, '41000000/opt/dmdba/dmdata/DAMENG/bak', 1, 1, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('db_bak_add', 'db_bak_add', 1, 2, 1, 63, 0, '23:16:38', NULL, '2024-12-31 17:16:38', NULL, '');
call SP_JOB_CONFIG_COMMIT('db_bak_add');

-- 删除31天前的备份
call SP_CREATE_JOB('del_dbbak',1,0,'',0,0,'',0,'');
call SP_JOB_CONFIG_START('del_dbbak');
call SP_ADD_JOB_STEP('del_dbbak', 'del_dbbak', 0, 'CALL SP_DB_BAKSET_REMOVE_BATCH(''DISK'', NOW()-31);', 1, 1, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('del_dbbak', 'del_dbbak', 1, 1, 1, 0, 0, '22:04:40', NULL, '2021-12-08 22:04:40', NULL, '');
call SP_JOB_CONFIG_COMMIT('del_dbbak');

8 配置审计

# 使用 dmdba 用户

su - dmdba
cd /opt/dmdba/dmdbms/bin
./disql SYSAUDITOR/'"Dameng@123"'@127.0.0.1:5236
-- 登陆审计用户,开启审计
SP_SET_ENABLE_AUDIT(1);
--记录对表的全部操作 DDL CREATE,DROP,TRUNCAT,
SP_AUDIT_STMT('TABLE', 'NULL', 'ALL');

9 创建用户

--将其中的 CESHI 替换为要创建的用户名即可
--用户默认密码: Dameng@123
--通用机创建用户 CESHI
--创建用户默认表空间
CREATE TABLESPACE "CESHI01_DATA" 
DATAFILE 'CESHI_DATA_01.DBF' SIZE 1024 AUTOEXTEND 
          ON NEXT 1024 MAXSIZE 409600, 
             'CESHI_DATA_02.DBF' SIZE 1024 AUTOEXTEND 
          ON NEXT 1024 MAXSIZE 409600 CACHE = NORMAL;
--创建用户索引表空间
CREATE TABLESPACE "CESHI02_INDEX" DATAFILE 
            'CESHI_INDEX_01.DBF' SIZE 1024 AUTOEXTEND 
          ON NEXT 1024 MAXSIZE 409600, 
             'CESHI_INDEX_02.DBF' SIZE 1024 AUTOEXTEND 
          ON NEXT 1024 MAXSIZE 409600 CACHE = NORMAL;
--创建用户
CREATE USER "CESHI" IDENTIFIED BY "Dameng@123" 
DEFAULT TABLESPACE "CESHI01_DATA"
DEFAULT INDEX TABLESPACE "CESHI02_INDEX";

--根据情况添加 DBA(系统管理员)权限
GRANT "PUBLIC","RESOURCE","SOI","SVI","VTI" TO "CESHI";

-- 取消用户限制
--修改用户失败登录次数限制:
ALTER USER CESHI LIMIT FAILED_LOGIN_ATTEMPS UNLIMITED;

--修改用户口令过期时间限制:
ALTER USER CESHI LIMIT PASSWORD_LIFE_TIME UNLIMITED; 

--修改用户口令锁定期限制:
ALTER USER CESHI LIMIT PASSWORD_LOCK_TIME UNLIMITED;

10 屏蔽关键字与数据库兼容模式

  • 屏蔽关键字 - - 点击跳转
  • 数据库兼容模式
SP_SET_PARA_VALUE(2,'COMPATIBLE_MODE',0);

在这里插入图片描述

11 jdbc连接串配置

  • jdbc连接串配置 - - 点击跳转

12 更多达梦数据库学习使用列表

  • 更多达梦数据库学习使用列表 - - 点击跳转

http://www.kler.cn/a/520714.html

相关文章:

  • Jetson Xavier NX (ARM) 使用 PyTorch 安装 Open3D-ML 指南
  • xarray转换nc文件经度范围:0-360更改为-180-180
  • 使用Python和Qt6创建GUI应用程序--前言
  • 01机器学习入门
  • 【学术会议-第五届机械设计与仿真国际学术会议(MDS 2025) 】前端开发:技术与艺术的完美融合
  • RabbitMQ 架构分析
  • 【2024年华为OD机试】 (A卷,100分)- 模拟商场优惠打折(JavaScriptJava PythonC/C++)
  • 使用scikit-learn中的KNN包实现对鸢尾花数据集的预测
  • 被占用的电脑文件推沟里
  • 从零开始学 HTML:构建网页的基本框架与技巧
  • 【C++】类和对象(五)
  • RBAC 权限控制 - 前端
  • GESP2024年3月认证C++六级( 第三部分编程题(2)好斗的牛)
  • python基础语法(3) -------- 学习笔记分享
  • 99.17 金融难点通俗解释:归母净利润
  • Day42:列表的组合
  • 图像加解密
  • Linux内核组成
  • 品牌RWA化构建指南:资产数字化与价值共创
  • 【云原生】【适用小白】SpringCloud Alibaba开源Nacos切换到MSE Nacos
  • Helm Chart 实现 Kubernetes 应用多环境部署实战
  • 【黑龙江乡镇界】面图层arcgis数据shp格式乡镇名称和编码wgs84无偏移内容测评
  • SpringCloud系列教程:微服务的未来(十七)监听Nacos配置变更、更新路由、实现动态路由
  • 十年筑梦,再创鲸彩!庆祝和鲸科技十周年
  • 论文阅读(二):理解概率图模型的两个要点:关于推理和学习的知识
  • 协助工具-任意门导航