一、环境准备
1、新建dmdba用户
注意:安装前必须创建 dmdba 用户,禁止使用 root 用户安装数据库。
(1)创建用户所在的组,命令如下:
groupadd dinstall
(2)创建用户
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
(3)修改用户密码
passwd dmdba
2、修改文件打开最大数
修改问搭建打开最大数有两种方法,一种临时使用,一种永久有效,这里建议用永久有效。
(1)临时生效:dmdba用户执行如下命令:
ulimit -n 65536
(2)永久生效:
使用 vi 编辑器打开/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 用户,查看是否生效,命令如下:
su - dmdba
ulimit -a
配置已生效:
3、镜像挂载
官网(https://eco.dameng.com/download/)下载对应版本的镜像,切换到 root 用户,将DM数据库的iso安装包保存在任意位置,例如/home/soft目录下,执行如下命令挂载镜像:
mount -o loop /home/soft/dm8_20240116_x86_rh7_64.iso /mnt
4、新建安装目录和授权
(1)新建安装目录
mkdir /dm8
(2)将新建的安装路径目录权限的用户修改为 dmdba,用户组修改为 dinstall
chown dmdba:dinstall -R /dm8/
chmod -R 755 /dm8
二、数据库安装
切换至dmdba用户下,进入/mnt目录:
su - dmdba
cd /mnt
在/mnt目录下使用命令行安装数据库程序:
./DMInstall.bin -i
按需求选择安装语言,默认为中文。本地安装选择【不输入Key文件】,选择【默认时区21】:
选择【1-典型安装】,按已规划的安装目录 /dm8 完成数据库软件安装
安装成功:
安装结束后,切换至 root 用户执行以下命令创建 DmAPService,否则会影响数据库备份:
su root
/dm8/script/root/root_installer.sh
三、配置实例
使用 dmdba 用户配置实例,进入到 DM 数据库安装目录下的 bin 目录中:
su - dmdba
cd /dm8/bin
查看可配置参数:
./dminit help
自定义参数初始化实例:
./dminit path=/dm8/data CASE_SENSITIVE=n CHARSET=1 DB_NAME=DMDB SYSDBA_PWD=Root123456 LENGTH_IN_CHAR=Y INSTANCE_NAME=DBSERVER PORT_NUM=5237
CASE_SENSITIVE:是否大小写区分,默认是Y,这里不区分
CHARSET:字符集,1代表是UTF-8
DB_NAME:数据库名称
SYSDBA_PWD:设置SYSDBA用户名密码
LENGTH_IN_CHAR:VARCHAR2长度是否以字符型存储,默认N
INSTANCE_NAME:实例名称
PORT_NUM:实例堆外服务的端口
四、注册服务
注册服务需要切换到root用户,进入DM安装的script/root目录,注册命令如下:
su root
cd /dm8/script/root
./dm_service_installer.sh -t dmserver -dm_ini /dm8/data/DMDB/dm.ini -p DBSERVER
输出以下内容则注册成功,注册后的服务名为DmServiceDBSERVER.service:
五、数据库启停
启动数据库
systemctl start DmServiceDBSERVER.service
停止数据库
systemctl stop DmServiceDBSERVER.service
重启数据库
systemctl restart DmServiceDBSERVER.service
查看数据库的状态
systemctl status DmServiceDBSERVER.service
六、登录
用SYSDBA用户登录
创建表空间
create tablespace "TEST01" datafile '/dm8/data/DMDB/TEST01.DBF' size 2048 autoextend on maxsize 16777215 CACHE = NORMAL;
创建ICC_AHNXS用户,指定对应的表空间和表索引空间
create user "TEST01" identified by "Root123456"default tablespace "TEST01"default index tablespace "TEST01";
授予用户权限
grant "DBA","PUBLIC","SOI","VTI" to "TEST01";
七、遇到的问题
问题一:[-70028]:创建SOCKET连接失败
排查:
1、确定服务器的防火墙是否关闭:
# 查看状态
systemctl status firewalld
# 关闭防火墙
systemctl stop firewalld
# 关闭开机自启
systemctl disable firewalld
2、查看数据库服务是否启动
ps -ef |grep dmserver
3、确定登录时的端口
使用find 查找dm.ini配置文件的路径:
find / -name 'dm.ini'
vi /dm8/data/DMDB/dm.ini
输入":/PORT_NUM ",然后回车 。可查看数据库端口号,如下图: