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

达梦数据库-单机部署

达梦数据库-单机部署

部署规划

端口规划:
实例名 | 实例端口
dmdb | 5236

本地存储LVM磁盘规划:(按实际需求调整磁盘空间)
磁盘 LVM磁盘名/用途
/dev/sdc(100G) /dev/dmappvg/dmapplv (数据库安装磁盘)
/dev/sde(500G) /dev/dmdatavg/dmdatalv (数据磁盘)
/dev/sdf(500G) /dev/dmbakvg/dmbaklv (备份磁盘)

目录规划:(在对应服务器上创建目录owner为dmdba组为dinstall)
数据库软件安装目录 /home/dmdba/dmdbms
实例安装目录 /dmdata/
归档日志存放目录 /dmdata/arch
备份文件存放目录 /dmdata/dmbak/

注:达梦数据库安装包可从官网 达梦下载中心 上面下载对应版本,数据库部署我以linux环境为例:

达梦数据库单机部署

操作系统配置

内核参数

修改内核参数
vi /etc/sysctl.conf
添加以下内容

fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
vm.dirty_ratio = 80
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100
kernel.core_pattern = /dmdata/core.%e_%p_%t
vm.swappiness=10
vm.dirty_background_ratio = 0
vm.min_free_kbytes = 512000

使参数生效,执行

sysctl -p
用户组

新建数据库管理用户和组
执行以下命令,新建用户组 dinstall。
groupadd dinstall -g 2001
执行以下命令,新建用户 dmdba。
useradd -g dinstall -m -d /home/dmdba -s /bin/bash -u 2001 dmdba
执行以下命令,修改 dmdba 用户密码。
passwd dmdba

资源限制

修改用户资源限制
执行以下命令,修改 dmdba 用户资源限制。
vim /etc/security/limits.conf
文件末尾添加如下内容:

dmdba  soft      nice       0
dmdba  hard      nice       0
dmdba  soft      as         unlimited
dmdba  hard      as         unlimited
dmdba  soft      fsize      unlimited
dmdba  hard      fsize      unlimited
dmdba  soft      nproc      65536
dmdba  hard      nproc      65536
dmdba  soft      nofile     65536
dmdba  hard      nofile     65536
dmdba  soft      core       unlimited
dmdba  hard      core       unlimited
dmdba  soft      data       unlimited
dmdba  hard      data       unlimited

此外需要检查/etc/security/limits.d/目录下是否有其他限制资源的配置文件,如果有也需要修改。

防火墙

在root用户下,关闭防火墙
systemctl stop firewalld.service
systemctl status firewalld.service
systemctl disable firewalld.service

关闭透明大页、numa

vi /etc/default/grub
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet numa=off transparent_hugepage=never "
然后执行:
grub2-mkconfig -o /etc/grub2.cfg

numastat
numactl --shown
numactl --hardware
shutdown -r now

reboot重启后检查是否关闭成功

IO调度算法

cat /sys/block/sd*/queue/scheduler
sas/stat --磁盘类型sas盘
echo ‘deadline’ > /sys/block/sd*/queue/scheduler
ssd --磁盘类型固态盘
echo ‘NOOP’>/sys/block/sd*/queuelscheduler
Linux系统一般默认使用CFQ调度,修改磁盘调度方法:
查看调度:cat /sys/block/sda/queue/scheduler
临时修改:echo “deadline” > /sys/block/sda/queue/scheduler
永久修改: grubby --update-kernel=ALL --args=“elevator=deadline”

关闭swap

进入/etc/fsstab配置文件屏蔽掉swap一行
vi /etc/fstab
#UUID=b9a576fa-8a7d-4d5d-bfd9-4d196523fc81 swap swap defaults 0 0
然后执行 swapoff

环境变量

执行以下命令,修改 dmdba 用户环境变量。
vi /home/dmdba/.bash_profile
文件末尾添加如下内容:

export DM_HOME=/home/dmdba/dmdbms
export PATH=$PATH:$DM_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DM_HOME/bin

数据库软件安装

1.使用root用户挂载数据库软件的iso文件
mkdir -p /dmiso
mount -o loop dm8_20240920_x86_rh7_64.iso /dmiso/
2.使用dmdba用户安装软件
su - dmdba
执行以下命令,切换到 /dmiso 目录下
cd /dmiso
执行 DMInstall.bin 文件开始安装,选择【-i】参数以命令行方式安装。
./DMInstall.bin -i
选择安装程序的语言 c/C 为中文,e/E 为英文。
提示是否安装 key 文件,输入 N 跳过。
选择时区,21 即东 8 区。
选择安装类型,默认典型安装(包含所有内容)。
选择软件安装目录,默认/home/dmdba/dmdbms
确认安装
在这里插入图片描述

安装完成提示使用root执行脚本:
/home/dmdba/dmdbms/script/root/root_installer.sh
在这里插入图片描述

使用 dminit 工具初始化实例

执行以下命令
dminit path=/dmdata page_size=32 extent_size=32 charset=1 log_size=2048 db_name=dmdb instance_name=dmdb SYSDBA_PWD=“password” SYSAUDITOR_PWD=“password”

注意:
初始化参数中除了 path 参数必须指定,其它参数都有默认值,如果需求与默认值不同,初始化的时候请指定需要的值。因为部分参数初始化后是无法修改的例如:page_size(页大小),charset(字符集),case_sensitive(大小写敏感)等。更多参数./dminit help 查看,是否无法修改的参数可以查询 v$dm_ini 视图,para_type=’READ ONLY’ 表示无法修改。
2. key与版本一定要匹配,key也是区分企业版和安全版
在这里插入图片描述

dminit参数详解,如表所示:

dminit参数参数说明
path初始数据库存放的路径。默认路径为 dminit.exe 当前所在的工作目录。文件路径长度最大为 256 个字符。可选参数。
page_size数据文件使用的页大小。取值范围 4、8、16、32,单位:KB。缺省值为 8。可选参数。数据库创建成功后无法再修改页大小,可通过系统函数 SF_GET_PAGE_SIZE()获取系统的页大小。
extent_size数据文件使用的簇大小,即每次分配新的段空间时连续的页数。取值范围 16、32、64。单位:页数。缺省值为 16。可选参数。数据库创建成功后无法再修改簇大小,可通过系统函数 SF_GET_EXTENT_SIZE()获取系统的簇大小。
charset字符集选项。取值范围 0、1、2。0 代表 GB18030,1 代表 UTF-8,2 代表韩文字符集 EUC-KR。缺省值为 0。可选参数。此参数在数据库创建成功后无法修改,可通过系统函数 SF_GET_UNICODE_FLAG()或 UNICODE()查询设置的参数值。
log_size重做日志文件使用的大小。在 32 位版本下,取值范围为 256 和 2048 之间的整数;在 64 位版本下,取值范围为 256 和 8192 之间的整数,单位 MB。缺省值为 2048。可选参数。
db_name初始化数据库名称,缺省值为 DAMENG。名称为字符串,长度不能超过 128 个字符。可选参数。数据库名称只能由_、$、大写字母 A 至 Z、小写字母 a 至 z、数字 0 至 9 组成,且第一个字符不能是数字。数据库名称在数据库创建成功后无法修改,可通过查询 V$DATABASE 的 NAME 列获取数据库名。
instance_name初始化数据库实例名称,缺省值为 DMSERVER。名称为字符串,长度不能超过 16 个字符。可选参数。实例名称只能由_、$、大写字母 A 至 Z、小写字母 a 至 z、数字 0 至 9 组成,且第一个字符不能是数字。数据库创建成功后,可通过修改 INI 参数 INSTANCE_NAME 的值对此参数的设置进行修改。可通过查询 V$PARAMETER 中的 INSTANCE_NAME 参数名获取当前的数据库实例名。
SYSDBA_PWD初始化时设置 SYSDBA 的密码。密码长度为 9~48 个字符。可选参数。数据库创建成功后,SYSDBA 可通过修改用户密码语句修改自己的密码。
SYSAUDITOR_PWD初始化时设置 SYSAUDITOR 的密码。密码长度为 9~48 个字符。可选参数。数据库创建成功后,SYSAUDITOR 可通过修改用户密码语句修改自己的密码。
INI_FILE初始化文件 dm.ini 存放的路径,指定一个已经存在的 dm.ini 文件所在的绝对路径。作用是将现有 INI 文件,拷贝到新库,作为新库的 INI 文件直接使用。可选参数。

注册服务并启动实例

以系统服务方式启动实例,DM 提供脚本将数据库实例注册为操作系统服务。
root 用户下切换到 /home/dmdba/dmdbms/script/root/:
cd /home/dmdba/dmdbms/script/root/
执行以下命令,执行脚本注册服务:
./dm_service_installer.sh -t dmserver -p dmdb -dm_ini /dmdata/dmdb/dm.ini
执行以下命令,以服务方式启动实例:
systemctl start DmServicedmdb
在这里插入图片描述

登录数据库

dmdba用户下执行以下命令:
./disql SYSDBA/‘“password”’
说明:密码若包含特殊字符(如@#!*)使用单引号+双引号包围起来,如上所示。

归档配置

生产环境必须开启归档日志,且必须限制归档日志保留量,限制方法:

  1. 设置归档空间大小限制即指定 SPACE_LIMIT 参数(单位是 MB)。
  2. 定期删除归档日志(设置定时作业)。
    例如开启归档并限制归档空间为 100 G(按实际存储空间给合适的值),如下所示
    alter database mount;
    ALTER DATABASE ARCHIVELOG;
    alter database add archivelog ‘dest=/dmdata/arch ,TYPE=local,FILE_SIZE=1024,SPACE_LIMIT=102400’;
    alter database open;
    在这里插入图片描述
    在这里插入图片描述

配置sql日志

修改sqllog.ini
到实例路径下
cd /dmdata/dmdb/
vi sqllog.ini(记录1.5s以上sql)
BUF_TOTAL_SIZE = 10240
BUF_SIZE = 1024
BUF_KEEP_CNT = 6
[SLOG_ALL]
FILE_PATH = …/log
PART_STOR = 1
SWITCH_MODE = 2
SWITCH_LIMIT = 512
ASYNC_FLUSH = 1
FILE_NUM = 5
ITEMS = 0
SQL_TRACE_MASK = 2:3:25
MIN_EXEC_TIME = 1500
USER_MODE = 0
USERS =

到此就完成了达梦数据库单机的部署。
更多详细资料可前往达梦社区:https://eco.dameng.com


http://www.mrgr.cn/news/81154.html

相关文章:

  • 【环境搭建】Python、PyTorch与cuda的版本对应表
  • GitLab的安装与卸载
  • ensp 关于acl的运用和讲解
  • 解决 Curl 自签名证书验证失败的实用指南
  • c++ 找第一个只出现一次的字符
  • STM32F407 | Embedded IDE02 - 调试、断点、观察全局变量(支持JLINK、STLINK、DAPLINK)
  • Nvidia环境配置again—cuda、cudnn、TensorRT
  • Linux运维常见命令
  • js 深度克隆
  • (高可用版本)Kubeadm+Containerd+keepalived部署高可用k8s(v1.28.2)集群
  • VIVO Android面试题及参考答案
  • dvwa靶场
  • 《近世代数基础 第二版》思维导图
  • 捋一捋相关性运算,以及DTD和NLP中的应用
  • 汽车IVI中控开发入门及进阶(47):CarPlay开发
  • Linux下Java通过JNI调用C++
  • 004最长回文子串
  • 麒麟V10,arm64,离线安装docker和docker-compose
  • ESP32S3 使用LVGL驱动LCD屏(ST7789主控)
  • jsp-servlet开发
  • 41 stack类与queue类
  • Docker Compose 配置指南
  • CosyVoice安装过程详解
  • 手动修改nginx-rtmp模块,让nginx-rtmp-module支持LLHLS
  • ubuntu22.04安装PaddleX3
  • 项目代码第6讲:UpdownController.cs;理解 工艺/工序 流程、机台信息;前端的“历史 警报/工艺 记录”