1. 下载dm8
2. 新建 dmdba 用户
注意:安装前必须创建 dmdba 用户,禁止使用 root 用户安装数据库。
(1).创建用户所在的组,命令如下
groupadd dinstall -g 2001
(2).创建用户,命令如下
useradd -G dinstall -m -d /home/dmdba -s /bin/bash -u 2001 dmdba
(3).修改用户密码,命令如下(此处设置密码为:123456)
passwd dmdba
3. 修改文件打开最大数
在 Linux、Solaris、AIX 和 HP-UNIX 等系统中,操作系统默认会对程序使用资源进行限制。如果不取消对应的限制,则数据库的性能将会受到影响。
(1).使用 root 用户打开 /etc/security/limits.conf 文件进行修改,命令如下:
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
注意:修改配置文件后重启服务器生效。
(2).切换到 dmdba 用户,查看是否生效,命令如下
su - dmdba
查看参数配置是否已经生效:
ulimit -a
4.目录规划
(1).使用root用户创建规划实例保存目录、归档保存目录、备份保存目录。
su - root
##实例保存目录
mkdir -p /dmdata/data
##归档保存目录
mkdir -p /dmdata/arch
##备份保存目录
mkdir -p /dmdata/dmbak
(2).修改目录权限
将新建的路径目录权限的用户修改为 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
5.数据库安装
(1).挂载镜像
切换到 root 用户,将 DM 数据库的 iso 安装包保存在任意位置,例如 /root 目录下,执行如下命令挂载镜像:
unzip dm8_20240712_x86_rh7_64.zip
mount -o loop dm8_20240712_x86_rh7_64.iso /mnt
(2).命令行安装
切换至 dmdba 用户下,在 /mnt 目录下使用命令行安装数据库程序,依次执行以下命令安装 DM 数据库。
su - dmdba
cd /mnt
执行如下命令进行安装。
./DMInstall.bin -i
按需求选择安装语言,没有 key 文件选择 "n",时区按需求选择一般选择 “21”,安装类型选择“1”,安装目录按实际情况配置,这里示例使用默认安装位置。
数据库安装大概 1~2 分钟,数据库安装完成后,显示如下界面。
数据库安装完成后,需要切换至 root 用户执行上图中的命令 /home/dmdba/dmdbms/script/root/root_installer.sh 创建 DmAPService,否则会影响数据库备份。
su - root
/home/dmdba/dmdbms/script/root/root_installer.sh
数据库安装完成后还需注册实例才能使用数据库
6.配置环境变量
(1).使用root用户配置环境变量
su - root
cd /home/dmdba/
vim .bash_profile
内容如下:
export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool
切换至 dmdba 用户下,执行以下命令,使环境变量生效。
su - dmdba
source .bash_profile
(2).执行root_installer.sh
cd /home/dmdba/dmdbms/script/root/
./root_installer.sh
(3).注册数据库实例服务
cd /home/dmdba/dmdbms/script/root/
./dm_service_installer.sh -t dmserver -p dmdb -dm_ini /dmdata/data/DAMENG/dm.ini
(4).启动初始化数据库
service DmServicedmdb start
(5).使用命令行访问数据库
su - dmdba
disql SYSDBA/SYSDBA@localhost:5236
7.使用客户端连接dm8
安装好数据库默认的账号密码是SYSDBA
用户名:SYSDBA 密码:SYSDBA 端口:5236
主意: 需要注意的是 页大小 (page_size)、簇大小 (extent_size)、大小写敏感 (case_sensitive)、字符集 (charset) 、空格填充模式 (BLANK_PAD_MODE) 、页检查模式(PAGE CHECK) 等部分参数,一旦确定无法修改,在初始化实例时确认需求后谨慎设置。 部分参数解释如下:
- page_size:数据文件使用的页大小。取值范围 4、8、16、32,单位:KB。缺省值为 8。可选参数。选择的页大小越大,则 DM 支持的元组长度也越大,但同时空间利用率可能下降。数据库创建成功后无法再修改页大小,可通过系统函数 SF_GET_PAGE_SIZE()获取系统的页大小。
- extent_size:数据文件使用的簇大小,即每次分配新的段空间时连续的页数。取值范围 16、32、64。单位:页数。缺省值为 16。可选参数。数据库创建成功后无法再修改簇大小,可通过系统函数 SF_GET_EXTENT_SIZE()获取系统的簇大小。
- case_sensitive: 标识符大小写敏感。当大小写敏感时,小写的标识符应用""括起,否则被系统自动转换为大写;当大小写不敏感时,系统不会转换标识符的大小写,系统比较函数会将大写字母全部转为小写字母再进行比较。取值:Y、y、1 表示敏感;N、n、0 表示不敏感。缺省值为 Y。可选参数。此参数在数据库创建成功后无法修改,可通过系统函数 SF_GET_CASE_SENSITIVE_FLAG()或 CASE_SENSITIVE()查询设置的参数置。
- charset:字符集选项。取值范围 0、1、2。0 代表 GB18030,1 代表 UTF-8,2 代表韩文字符集 EUC-KR。缺省值为 0。可选参数。此参数在数据库创建成功后无法修改,可通过系统函数 SF_GET_UNICODE_FLAG()或 UNICODE()查询设置的参数置。
- BLANK_PAD_MODE:设置字符串比较时,结尾空格填充模式是否兼容 ORACLE。1:兼容;0:不兼容。缺省值为 0。可选参数。此参数在数据库创建成功后无法修改,可通过查询 V$PARAMETER 中的 BLANK_PAD_MODE 参数名查看此参数的设置值。
- PAGE_CHECK:PAGE_CHECK 为页检查模式。取值范围 0、1、2、3。0:禁用页校验;1:开启页校验并使用 CRC 校验;2:开启页校验并使用指定的 HASH 算法进行校验;3:开启页校验并使用快速 CRC 校验。缺省值为 3。可选参数。在数据库创建成功后无法修改。
建议:在实际使用中,初始化时建议提前设置好 COMPATIBLE_MODE 的参数值,便于更好的兼容其他数据库。参数说明:是否兼容其他数据库模式。0:不兼容,1:兼容 SQL92 标准,2:部分兼容 ORACLE,3:部分兼容 MS SQL SERVER,4:部分兼容 MYSQL,5:兼容 DM6,6:部分兼容 TERADATA,7:部分兼容 POSTGRES。
可以使用默认参数初始化实例,需要附加实例存放路径。此处以初始化实例到 /dmdata/data 目录下为例(执行初始化命令前,需要使用 root 用户授予 /dmdata/data 目录相应权限,可以参考修改目录权限),初始化命令如下: