达梦数据库文档写的确实不错,能看出他们是一家想把事情做好的公司,从文档上就看出了他们的诚意,作为国产数据库为你点赞。今天尝试搭建了一个数据库,搭建过程比较顺利,官网文档写得好我为什么还要写一下如何安装,官网文档写的内容比较细致,不同的知识会放到不同的文档里,对初学者来说,需要搭建一个可用的需要看多个文档我这里把他整合到一起。该安装文档使用命令行式的安装方法。
一、查看系统信息
#获取系统位数
[root@minio2 dm8]# getconf LONG_BIT
64
#查询操作系统 release 信息
[root@minio2 dm8]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
#查询系统名称
[root@minio2 dm8]# uname -a
Linux minio2 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
二、创建安装用户
1. 创建安装用户组 dinstall。
groupadd -g 12349 dinstall
2. 创建安装用户 dmdba。
useradd -u 12345 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
3. 初始化用户密码。
passwd dmdba
注:密码为dmpassword
4. 之后通过系统提示进行密码设置。
注意:创建安装系统用户完成后,安装手册之后的操作默认使用安装系统用户进行
操作。
切换用户
[root@minio2 ~]# su dmdba
[dmdba@minio2 root]$
三、Linux(Unix)查看系统限制
[dmdba@minio2 root]$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 513508
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 65535
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 65535
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
参数 使用限制:
1.data seg size
data seg size (kbytes, -d)
建议用户设置为 1048576(即 1GB)以上或 unlimited(无限制),此参数过小
将导致数据库启动失败。
2. file size
file size(blocks, -f)
建议用户设置为 unlimited(无限制),此参数过小将导致数据库安装或初始化
失败。
3. open files
open files(-n)
建议用户设置为 65536 以上或 unlimited(无限制)。
4.virtual memory
virtual memory (kbytes, -v)
建议用户设置为 1048576(即 1GB)以上或 unlimited(无限制),此参数过小
将导致数据库启动失败。
如 果 用 户 需 要 为 当 前 安 装 用 户 更 改 ulimit 的 资 源 限 制 , 请 修 改 文 件
/etc/security/limits.conf。
四、检查内存和存储空间
内存:为了保证 DM 的正确安装和运行,要尽量保证操作系统至少 1GB 的可用内存(RAM)。
如果可用内存过少,可能导致DM安装或启动失败。用户可以使用以下命令检查操作内存:
#获取内存总大小
grep MemTotal /proc/meminfo
#获取交换分区大小
grep SwapTotal /proc/meminfo
#获取内存使用详情
free
存储空间:
存储空间最少安装就要1G,越大越好
临时表空间最少1G越大越好
df -h /tmp
指定安装的目录
Root用户执行
mkdir -p /opt/dm8
[root@minio2 home]# cd /opt
[root@minio2 opt]# chown -R dmdba:dinstall dm8
[root@minio2 opt]# su dmdba
[dmdba@minio2 opt]$
DM_INSTALL_TMPDIR=/opt/dm8
export DM_INSTALL_TMPDIR
五、检查java环境
[dmdba@minio2 opt]$ java -version
java version "1.8.0_211"
[dmdba@minio2 opt]$ echo $JAVA_HOME
/opt/jdk1.8.0_211
[dmdba@minio2 opt]$ DM_JAVA_HOME=/opt/jdk1.8.0_211
[dmdba@minio2 opt]$ export DM_JAVA_HOME
六、上传安装包关在iso文件
Root用户操作
上传安装包dm8_20200907_x86_rh7_64_ent.zip到/opt下
[root@minio2 dm8]# unzip dm8_20200907_x86_rh7_64_ent.zip
chown -R dmdba:dinstall dm8_20200907_x86_rh7_64_ent_8.1.1.126.iso
chown -R dmdba:dinstall dm8_20200907_x86_rh7_64_ent_8.1.1.126_ISO_SHA256.txt
[root@minio2 ~]# cd /opt/dm8
[root@minio2 dm8]# mkdir /mnt/cdrom
[root@minio2 dm8]# sudo mount -o loop dm8_20200907_x86_rh7_64_ent_8.1.1.126.iso /mnt/cdrom
mount: /dev/loop0 is write-protected, mounting read-only
[root@minio2 dm8]# su dmdba
[dmdba@minio2 dm8]$
七、安装数据库
dmdba@minio2 dm8]$ cd /mnt/cdrom
[dmdba@minio2 cdrom]$ ls
DM8 Install.pdf DMInstall.bin
[dmdba@minio2 cdrom]$ ./DMInstall.bin -i
Please select the installer‘s language (E/e:English C/c:Chinese) [E/e]:C
解压安装程序.........
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 513508
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 65535
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 65535
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
可打开文件数过少,建议至少设置为65536或更多。
欢迎使用达梦数据库安装程序
是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n
是否设置时区? (Y/y:是 N/n:否) [Y/y]:y
设置时区:
[ 1]: GTM-12=日界线西
[ 2]: GTM-11=萨摩亚群岛
[ 3]: GTM-10=夏威夷
[ 4]: GTM-09=阿拉斯加
[ 5]: GTM-08=太平洋时间(美国和加拿大)
[ 6]: GTM-07=亚利桑那
[ 7]: GTM-06=中部时间(美国和加拿大)
[ 8]: GTM-05=东部部时间(美国和加拿大)
[ 9]: GTM-04=大西洋时间(美国和加拿大)
[10]: GTM-03=巴西利亚
[11]: GTM-02=中大西洋
[12]: GTM-01=亚速尔群岛
[13]: GTM=格林威治标准时间
[14]: GTM+01=萨拉热窝
[15]: GTM+02=开罗
[16]: GTM+03=莫斯科
[17]: GTM+04=阿布扎比
[18]: GTM+05=*堡
[19]: GTM+06=达卡
[20]: GTM+07=曼谷,河内
[21]: GTM+08=中国标准时间
[22]: GTM+09=汉城
[23]: GTM+10=关岛
[24]: GTM+11=所罗门群岛
[25]: GTM+12=斐济
[26]: GTM+13=努库阿勒法
[27]: GTM+14=基里巴斯
请选择设置时区 [21]:
安装类型:
1 典型安装
2 服务器
3 客户端
4 自定义
请选择安装类型的数字序号 [1 典型安装]:
所需空间: 1075M
请选择安装目录 [/home/dmdba/dmdbms]:
可用空间: 1184G
是否确认安装路径(/home/dmdba/dmdbms)? (Y/y:是 N/n:否) [Y/y]:y
安装前小结
安装位置: /home/dmdba/dmdbms
所需空间: 1075M
可用空间: 1184G
版本信息:
有效日期:
安装类型: 典型安装
是否确认安装? (Y/y:是 N/n:否):y
2021-08-02 13:22:57
[INFO] 安装达梦数据库...
2021-08-02 13:22:58
[INFO] 安装 基础 模块...
2021-08-02 13:23:00
[INFO] 安装 服务器 模块...
2021-08-02 13:23:00
[INFO] 安装 客户端 模块...
2021-08-02 13:23:01
[INFO] 安装 驱动 模块...
2021-08-02 13:23:01
[INFO] 安装 手册 模块...
2021-08-02 13:23:01
[INFO] 安装 服务 模块...
2021-08-02 13:23:02
[INFO] 移动ant日志文件。
2021-08-02 13:23:02
[INFO] 安装达梦数据库完成。
请以root系统用户执行命令:
/home/dmdba/dmdbms/script/root/root_installer.sh
安装结束
[root@minio2 dm8]# /home/dmdba/dmdbms/script/root/root_installer.sh
移动 /home/dmdba/dmdbms/bin/dm_svc.conf 到/etc目录
修改服务器权限
创建DmAPService服务
Created symlink from /etc/systemd/system/multi-user.target.wants/DmAPService.service to /usr/lib/systemd/system/DmAPService.service.
创建服务(DmAPService)完成
启动DmAPService服务
八、创建数据库
[dmdba@minio2 cdrom]$ cd /home/dmdba/dmdbms
[dmdba@minio2 dmdbms]$
[dmdba@minio2 dm8]$cd /opt/dm8
[dmdba@minio2 dm8]$ mkdir dmdbms
[dmdba@minio2 dm8]$ mkdir LOG_PATH
[dmdba@minio2 dm8]$ cd /home/dmdba/dmdbms/bin
[dmdba@minio2 bin]$ ./dminit PATH=/opt/dm8/dmdbms INI_FILE=/opt/dm8/INI_FILE CTL_PATH=/opt/dm8/CTL_PATH LOG_PATH=/opt/dm8/LOG_PATH/DATA01.log LOG_PATH=/opt/dm8/LOG_PATH/DATA02.log PAGE_SIZE=16 CASE_SENSITIVE=N DB_NAME=DAMENG INSTANCE_NAME=DMSERVER PORT_NUM=5236
initdb V8
db version: 0x7000b
file dm.key not found, use default license!
License will expire on 2021-09-04
log file path: /opt/dm8/LOG_PATH/DATA01.log
log file path: /opt/dm8/LOG_PATH/DATA02.log
FILE "/opt/dm8/dmdbms/DAMENG/dm.ini" has already existed
FILE "/opt/dm8/dmdbms/DAMENG/sqllog.ini" has already existed
File "/opt/dm8/dmdbms/DAMENG/dm.ini" has already existed,
whether overwrite(y/n, 1/0): y
File "/opt/dm8/dmdbms/DAMENG/sqllog.ini" has already existed,
whether overwrite(y/n, 1/0): y
write to dir [/opt/dm8/dmdbms/DAMENG].
invalid ini_file [/opt/dm8/INI_FILE].
create dm database success. 2021-08-02 16:43:03
九、注册服务
Root用户操作
cd /home/dmdba/dmdbms/script/root
[root@minio2 root]#
./dm_service_installer.sh -t dmserver -dm_ini /opt/dm8/dmdbms/DAMENG/dm.ini -p DMSERVER
如上语句的执行结果如下:
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceDMSERVER.service to /usr/lib/systemd/system/DmServiceDMSERVER.service.
创建服务(DmServiceDMSERVER)完成
十、启动数据库
Root用户执行
[root@minio2 root]# systemctl start DmServiceDMSERVER.service
十一、创建表空间、用户和表
这里省略客户端安装,客户端在windows下图形化安装非常简单。
安装后使用如下客户端即可。
1、创建表空间
[dmdba@minio2 dm8]# cd /opt/dm8
[dmdba@minio2 dm8]# mkdir tableSpace
创建一个128M的表空间
CREATE TABLESPACE testspace DATAFILE ‘/opt/dm8/tableSpace/test.dbf‘ SIZE 128;
2、创建用户
CREATE USER TEST_USER IDENTIFIED BY TEST_PASSWORD;
注:DBA的用户名和密码 SYSDBA、 SYSDBA
3、给用户dba角色
grant dba to TEST_USER;
4、TEST_USER用户创建表
CREATE TABLE EMPLOYEE (
EMPNO INT PRIMARY KEY,
ENAME VARCHAR(15) NOT NULL,
JOB VARCHAR(10),
HIREDATE DATE DEFAULT (CURDATE),
SALARY FLOAT)
STORAGE ( INITIAL 50, NEXT 50, MINEXTENTS 10, FILLFACTOR 80, ON testspace );
补充:
--查看服务是否正常
[root@minio2 dm8]# ps -ef|grep dms
dmdba 85300 1 0 18:32 ? 00:00:08 /home/dmdba/dmdbms/bin/dmserver /opt/dm8/dmdbms/DAMENG/dm.ini -noconsole