安装前的准备
新建 dmdba 用户
安装前必须创建 dmdba 用户,禁止使用 root 用户安装数据库。
创建用户组
groupadd dinstall -g 2001
创建用户
useradd -G dinstall -m -d /home/dmdba -s /bin/bash -u 2001 dmdba
初始化用户密码
passwd dmdba
修改文件打开最大数
操作系统默认会对程序使用资源进行限制。如果不取消对应的限制,则数据库的性能将会受到影响。
使用 root 用户打开 /etc/security/limits.conf
文件进行修改,命令如下:
vi /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
注意
修改配置文件后重启服务器生效。
切换到 dmdba 用户,查看是否生效,命令如下:
su - dmdba
ulimit -a
目录规划
1.可根据实际需求规划安装目录,本示例使用默认配置 DM 数据库安装在 /home/dmdba 文件夹下。
2.规划创建实例保存目录、归档保存目录、备份保存目录。
##实例保存目录
mkdir -p /dmdata/data
##归档保存目录
mkdir -p /dmdata/arch
##备份保存目录
mkdir -p /dmdata/dmbak
注意
使用 root 用户建立文件夹,待 dmdba 用户建立完成后需将文件所有者更改为 dmdba 用户,否则无法安装到该目录下
将新建的路径目录权限的用户修改为 dmdba,用户组修改为 dinstall。命令如下:
chown -R dmdba:dinstall /dmdata/data
chown -R dmdba:dinstall /dmdata/arch
chown -R dmdba:dinstall /dmdata/dmbak
给路径下的文件设置 755 权限。命令如下:
chmod -R 755 /dmdata/data
chmod -R 755 /dmdata/arch
chmod -R 755 /dmdata/dmbak
数据库安装
挂载镜像
切换到 root 用户,将 DM 数据库的 iso 安装包保存在任意位置,例如 /opt 目录下,执行如下命令挂载镜像:
cd /opt
mount -o loop dm8_20240116_x86_rh7_64.iso /mnt
命令行安装
切换至 dmdba 用户下,在 /mnt 目录下使用命令行安装数据库程序,依次执行以下命令安装 DM 数据库。
su - dmdba
cd /mnt
执行如下命令进行安装。
./DMInstall.bin -i
数据库安装完成后,需要切换至 root 用户执行上图中的命令 /home/dmdba/dmdbms/script/root/root_installer.sh
创建 DmAPService,否则会影响数据库备份。
配置实例
命令行方式初始化实例
使用 dmdba 用户配置实例,进入到 DM 数据库安装目录下的 bin 目录中。
su - dmdba
cd /home/dmdba/dmdbms/bin
./dminit PATH=/home/dmdba/dmdbms/data CASE_SENSITIVE=0 CHARSET=1 SYSDBA_PWD=Hld12345678 SYSAUDITOR_PWD=Hld12345678
CASE_SENSITIVE=0 大小写不敏感
CHARSET=1 UTF-8
用root用户执行,注册刚才创建的实例服务
cd /home/dmdba/dmdbms/script/root
./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dmdbms/data/DAMENG/dm.ini -p DMSERVER
自启动服务
systemctl enable DmServiceDMSERVER
systemctl start DmServiceDMSERVER
systemctl status DmServiceDMSERVER