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
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
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
目录规划:
数据库软件目录:/dm8
firewall-cmd --add-port=5327/tcp --permanent --zone=public
firewall-cmd –reload
firewall-cmd --list-ports
mount -o loop /data/dmtest/dm8_20201107_FTarm_kylin4_64_sec_8.1.1.144.iso /mnt
#创建用户
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
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
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资源竞争。
# 创建
mkdir -p /dm8/{data,arch,backup}
# 赋权
chmod -R 755 /dm8/
chown -R dmdba:dinstall /dm8
在生产环境,建议将页大小和簇大小设置为32。
核心参数配置建议
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) 这四个参数,一旦确定无法修改,需谨慎设置。
-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
# 启动实例
systemctl start DmServicePROD.service
# 查看实例运行状态
systemctl status DmServicePROD.service
对于一些生产环境常用配置,可以通过配置文件持久化修改。
如下示例:
vi /dm8/data/DAMENG/dm.ini
#临时表空间大小,每次重启都会重置,建议修改配置文件
TEMP_SIZE = 100
#修改兼容性,2表示兼容Oracle
COMPATIBLE_MODE = 2
su - dmdba
disql SYSDBA/Dameng123:5237
注意:如果密码含有特殊字符的情况下,需要使用双引号将密码包含进来,同时外层再使用单引号进行转译。
至此,达梦数据库安装完成!
文章
阅读量
获赞