安装前准备工作
操作系统 | CPU | 数据库 |
CentOS7 | x86_64 架构 | dm8_20220928_x86_kylin10_64_ent |
查看cpu
查看内存
查看磁盘信息
查看架构内型
rpm -aq|grep glibc
关闭操作系统防火墙
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
部署达梦
以root用户安装目录和添加用户、组
groupadd dmdba #添加一个组
useradd -g dmdba -m -d /home/dmdba -s /bin/bash dmdba #加一个用户,并分配到dinstall组
mkdir -p /md8/{dmdba,dm} #创建安装目录
chown dmdba.dmdba -R /dm8 #更改安装目录所有者
chmod -R 755 /dm8 #安装路径下的文件设置755权限
passwd dmdba #设置密码dmdba123
更改安装用户ulimit的资源限制(修改文件打开最大数)
以root用户在/etc/security/limits.conf添加以下内容:
vi /etc/security/limits.conf
dmdba hard nofile 65536
dmdba soft nofile 65536
dmdba hard stack 32768
dmdba soft stack 16384
切换到dmdba输入命令ulimit -n 查看是否生效
ulimit -n
ulimt -a
可使用 dmdba 用户执行如下命令,使设置临时生效:
ulimit -n 65536
挂载DM数据库ISO
切换到root用户,讲DM数据库的iso安装包保存在任意位置,例如/home/admin目录下,执行如下命令挂载镜像:
mount -o loop /home/admin/dm8_20220928_x86_kylin10_64_ent_8.1.2.138_pack3.iso /mnt
命令行安装
切换到dmdba用户下,在/mnt目录下使用命令行安装数据程序,一次执行一下命令安装DM数据库
su - dmdba
cd /mnt/
./DMInstall.bin -i
配置环境变量
cd /home/dmdba #切换到dmdba的家目录
vi .bash_profile #修改bash_profile
#在文件中添加
export PATH
export DM_HOME=/opt/dm8
export PATH=$DM_HOME/bin:$DM_HOME/tool:$PATH:$HOME/.local/bin:$HOME/bin
source .bash_profile #刷新
切换到dmdba输入命令ulimit -n 查看是否生效
Ulimit -n
详细列出
ulimt -a
可使用 dmdba 用户执行如下命令,使设置临时生效:
ulimit -n 65536
命令行安装
切换到dmdba用户下,在/mnt目录下使用命令行安装数据程序,一次执行一下命令安装DM数据库
su - dmdba
cd /mnt/
./DMInstall.bin -i
选择安装语言
选择安装语言请根据系统配置选择相应语言,输入选项,回车进行下一步
验证KEY
验证key文件 用户key选择是否输入key文件路径。不输入则进入下一步安装,输入Key文件路径,安装程序将显示Key文件的详细信息,如果是合法的Key文件且在有效期内,用户可以继续安装
设置时区
设置时区输入选项,默认是中国标准时间,回车进行下一步
选择安装类型
选择安装类型 默认1 典型安装,输入选项,回车进行下一步
选择需要安装的路径
选择需要安装的路径,回车下一步,确认安装路径,回车下一步
用户对安装信息进行安装
用户对安装信息进行安装, 不确认,择退出安装程序,确认,则进行DM的安装
数据库安装大概1~2分钟,数据库安装完成后,显示如下界面
手动执行相关命令
安装完成后,终端提示“请以root系统用户执行命令:/dm8/dm/script/root/root_installer.sh”。犹豫使用非root系统用户进行安装,所以部分安装步骤没有相应的系统权限,需要用户手动执行相关命令。
命令行配置实例
使用dmdba用户配置实例,进入到DM数据库安装目录下的bin目录中,使用dminit命令初始化实例。Dminit命令可设置多种参数,可执行如下命令查看可配置参数
cd /dm8/dm/bin
./dminit help
需要注意的是页大小 (page_size)、簇大小 (extent_size)、大小写敏感 (case_sensitive)、字符集 (charset) 这四个参数,一旦确定无法修改,需谨慎设置。
- extent_size 指数据文件使用的簇大小,即每次分配新的段空间时连续的页数。只能是 16 页或 32 页或 64 页之一,缺省使用 16 页。
- page_size 数据文件使用的页大小,可以为 4 KB、8 KB、16 KB 或 32 KB 之一,选择的页大小越大,则 DM 支持的元组长度也越大,但同时空间利用率可能下降,缺省使用 8 KB。
- case_sensitive 标识符大小写敏感,默认值为 Y 。当大小写敏感时,小写的标识符应用双引号括起,否则被转换为大写;当大小写不敏感时,系统不自动转换标识符的大小写,在标识符比较时也不区分大小写,只能是 Y、y、N、n、1、0 之一。
- charset 字符集选项。0 代表 GB18030;1 代表 UTF-8;2 代表韩文字符集 EUC-KR;取值 0、1 或 2 之一。默认值为 0。
默认参数初始化
可以使用默认参数初始化实例,需要附加实例存放路径。此处以初始化实例到 /dm/data 目录下为例(执行初始化命令前,需要使用 root 用户授予 /dm/data 目录相应权限,可以参考修改目录权限),初始化命令如下:
./dminit path=/dm8/dmdata
自定义初始化
也可以自定义初始化实例的参数,参考如下示例:
以下命令设置页大小为 32 KB,簇大小为 32 KB,大小写敏感,字符集为 utf_8,数据库名为 DMDB,实例名为 DBSERVER,端口为 5236。
./dminit PATH=/dm8/dmdata PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=1 DB_NAME=DMDB INSTANCE_NAME=DBSERVER PORT_NUM=5236
注:
如果此处自定义了初始化参数,在后面的注册服务和启动数据库等步骤中,请按实际的自定义参数进行操作。
创建数据库服务
需要四月root用户,在安装目录script/root下使用root用户,切换到安装目录/dm8/dm/script/root
下输入./dm_service_installer.sh -h
查看帮助
cd /dm8/dm/script/root
./dm_service_installer.sh -h
实例如下:
./dm_service_installer.sh -t dmserver -p DM -dm_ini /dm8/dmdata/DMDB/dm.ini
服务启动/停止/重启/查看状态
//启动数据库服务
systemctl start DmServiceDM
//停止数据库
systemctl stop DmServiceDM
//重启数据库
systemctl restart DmServiceDM
//查看数据库服务状态
systemctl status DmServiceDM
或者 进入 DM 安装目录下的 bin 目录下,启动/停止/重启数据库,如下所示:
./DmServiceDM start #启动
./DmServiceDM stop #停止
./DmServiceDM restart #重启
./DmServiceDM status #状态
配置对systemd DmServiceDM的资源限制
编辑/usr/lib/systemd/system/DmServiceDM.service文件,
或者/usr/lib/systemd/system/DmServiceDM.service.d/my-limit.conf文件
vi /usr/lib/systemd/system/DmServiceDM.service
[Service]
LimitNOFILE=65536
LimitNPROC=65536
LimitCORE=infinity
然后运行如下命令,才能生效。
systemctl daemon-reload
systemctl restart DmServiceDM
如做全局的配置,放在文件/etc/systemd/system.conf ,
注意:修改了system.conf后,需要重启系统才会生效。
DefanltLimitNOFILE=65536
登入数据库
切换dmdba,如果已经配置环境变量,可以直接输入disql,没配置,在安装bin目录下,输入./disql
./disql sysdba/sySDBA@localhost:5236
数据库卸载步骤
//先停止达梦服务
Systemctl stop DmServiceDM
//卸载服务/dm8/dm/script/root下:
./dm_service_uninstaller.sh -n DmServiceDM
//查看是否还有服务
systemctl status DmServiceDM
//删除数据库实例:rm -rf /dm8/dmdata
//卸载/dm8/dm数据库
./uninstall.sh -i