注册
达梦数据库单实例部署及常见问题
培训园地/ 文章详情 /

达梦数据库单实例部署及常见问题

金同学ooo 2023/01/06 1306 1 0

一、系统配置

1.1 修改内核参数

vi /etc/sysctl.d/dm.conf

fs.file-max = 6815744
fs.aio-max-nr = 1048576
#控制共享内存页数,Linux页为4K,取值= (9/16物理内存大小)/4K
kernel.shmall = 2097152   
#大于memory_target最大可设置成物理内存,这里是2G
kernel.shmmax = 2147483648  
#最大共享内存段数量,通常不需要修改
kernel.shmmni = 4096  
#信号灯的相关配置,cat proc/sys/kernel/sem
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.overcommit_memory = 1
#关闭swap
vm.swappiness = 0
vm.dirty_background_ratio = 3
vm.dirty_ratio = 80
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100

1.2 调整limits.conf

vi /etc/security/limits.d/dmdba.conf

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

1.3 禁用SELinux

sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

二、安装数据库软件

目录规划:
数据库软件目录:/dm8

2.1 放行数据库端口

firewall-cmd --add-port=5327/tcp --permanent --zone=public
firewall-cmd –reload
firewall-cmd --list-ports

2.2 下载并挂载镜像

mount -o loop /data/dmtest/dm8_20201107_FTarm_kylin4_64_sec_8.1.1.144.iso /mnt

2.3 创建用户及安装软件的目录

#创建用户
groupadd dinstall
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
passwd dmdba

#创建软件目录及赋权
mkdir -p /dm8
chmod -R 755 /dm8/
chown -R dmdba:dinstall /dm8

2.4 配置dmdba用户的环境变量

su - dmdba
vi ~/.bash_profile

#文件末尾添加如下内容:
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/dm8/bin:/dm8/tool"
export DM_HOME="/dm8"
export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool

source .bash_profile

2.5 软件安装

cd /mnt
./DMInstall.bin -i

选择安装程序的语言  '回车,默认英文'
提示是否安装key 文件,'输入N ,跳过'
选择时区,  '连续输入2个回车 默认选择东8区'
选择安装类型,  '回车 默认典型安装,包含所有内容'
选择软件安装目录,  '直接输入:/dm8'
确认安装   '输入y'

#安装完成提示使用root 执行脚本(创建系统服务):
/dm8/script/root/root_installer.sh

三、安装实例

实例规划:
数据库名称:DAMENG
实例名名称:PROD
端口号:5237
数据文件目录:/dm8/data
备份目录:/dm8/arch
归档目录:/dm8/backup

注:生产环境建议将备份和归档放在独立的磁盘,避免磁盘故障导致数据丢失,另外避免IO资源竞争。

3.1 创建目录及目录赋权

# 创建
mkdir -p /dm8/{data,arch,backup}
# 赋权
chmod -R 755 /dm8/
chown -R dmdba:dinstall /dm8

3.2 实例初始化

在生产环境,建议将页大小和簇大小设置为32。
核心参数配置建议

  • case_sensitive – 大小写敏感,0表示不敏感,建议不敏感,如果涉及迁移,要适配Oracle配置
  • charset=1 --0 代表 GB18030;1 代表 UTF-8,建议1
  • length_in_char=1 --以字符为单位
  • calc_as_decimal=1 --设置为1,否则整数除法会舍弃所有小数位
  • log_path设置3个日志文件,大小为500M
cd /dm8/bin
./dminit db_name=DAMENG instance_NAME=PROD path=/dm8/data sysdba_pwd=Dameng123 port_num=5237 PAGE_SIZE=32 extent_size=32 charset=1 case_sensitive=0 length_in_char=1 calc_as_decimal=1 LOG_PATH=/dm8/data/DAMENG/PROD01.log LOG_PATH=/dm8/data/DAMENG/PROD02.log LOG_PATH=/dm8/data/DAMENG/PROD03.log LOG_SIZE=500 

注意:页大小 (page_size)、簇大小 (extent_size)、大小写敏感 (case_sensitive)、字符集 (charset) 这四个参数,一旦确定无法修改,需谨慎设置。

3.3 注册为系统服务

-t:服务类型
-p:注册服务名(建议写实例名PROD)
-dm_ini:配置文件路径

''
su - root
#script/root下的所有脚本都需要使用root用户执行
cd /dm8/script/root/ 
./dm_service_installer.sh -t dmserver -p PROD -dm_ini /dm8/data/DAMENG/dm.ini

注意:操作系统glibc版本大于2.10的话会给数据库线程再分配一个内存池,这个内存池数据库是无法管理和释放的。所以导致数据库进程的VIRT(虚拟内存)占用过高,通过添加操作系统参数MALLOC_ARENA_MAX=1,禁止操作系统额外为数据库线程分配内存,数据库相关线程只从数据库已申请的内存池中进行资源分配,从而有效控制内存资源使用大小。

#调整以下参数,可避免以上VIRT虚拟内存占用过高问题
[dmdba@~]# vim DmServicedmdb
export MALLOC_ARENA_MAX=1

3.4 启动实例

# 启动实例
systemctl start DmServicePROD.service
# 查看实例运行状态
systemctl status DmServicePROD.service

3.5 修改配置文件

对于一些生产环境常用配置,可以通过配置文件持久化修改。
如下示例:
vi /dm8/data/DAMENG/dm.ini

#临时表空间大小,每次重启都会重置,建议修改配置文件
TEMP_SIZE                       = 100	
#修改兼容性,2表示兼容Oracle
COMPATIBLE_MODE                 = 2 

3.6 登录

su - dmdba
disql SYSDBA/Dameng123:5237

注意:如果密码含有特殊字符的情况下,需要使用双引号将密码包含进来,同时外层再使用单引号进行转译。

至此,达梦数据库安装完成!

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服