达梦数据库在Linux系统下安装步骤
- 环境与软件信息
- 创建用户
- 进行达梦数据库的上传、挂载
- 初始化实例
- 初始化参数说明如下:
- PATH
- EXTENT_SIZE
- PAGE_SIZE
- LOG_SIZE
- CASE_SENSITIVE
- CHARSET/UNICODE_FLAG
- LENGTH_IN_CHAR
- DB_NAME
- INSTANCE_NAME
- PORT_NUM
- 启动实例
- 创建用户、表空间
- 导入imp文件
环境与软件信息
达梦数据库:dm8_20231116_x86_rh6_64.iso
官网下载或者点击链接
链接:https://pan.baidu.com/s/1SO_XmDhn_aJqZZGObF12zQ?pwd=p07v
提取码:p07v
操作系统:OpenCloudOS 8.8
创建用户
1.创建用户组dinstall
groupadd dinstall
2.创建安装用户dmdbauseradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
初始化安装用户密码(执行命令后输出密码)passwd dmdba
创建安装程序临时目录mkdir -p /data/dm/
临时目录所有者及所属组变更chown -R dmdba.dinstall /data/dm
临时目录权限设置chmod -R 664 /data/dm
进行达梦数据库的上传、挂载
将安装镜像:dm8_20231116_x86_rh6_64.iso上传到创建的临时目录中:/data/dm
1.创建挂载目录
mkdir /data/dm/mnt
2.挂载iosmount -o loop /data/dm/dm8_20231116_x86_rh6_64.iso /data/dm/mnt
3.修改配置vi /etc/security/limits.conf
在文件中,添加以一下内容后,保存 wq! 即可
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft nproc 65535
dmdba hard nproc 65535
进行数据库安装
1.进入挂载目录
cd /data/dm/mnt
2.切换用户安装su dmdba
3.执行安装./DMInstall.bin -i
安装过程中的展示与选择
Installer Language:
[1]: 简体中文
[2]: English
Please select the installer's language [2]:1
解压安装程序..........
欢迎使用达梦数据库安装程序
是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n
是否设置时区? (Y/y:是 N/n:否) [Y/y]:Y
设置时区:
[ 1]: (GTM-12:00) 日界线西
[ 2]: (GTM-11:00) 萨摩亚群岛
[ 3]: (GTM-10:00) 夏威夷
[ 4]: (GTM-09:00) 阿拉斯加
[ 5]: (GTM-08:00) 太平洋时间(美国和加拿大)
[ 6]: (GTM-07:00) 亚利桑那
[ 7]: (GTM-06:00) 中部时间(美国和加拿大)
[ 8]: (GTM-05:00) 东部部时间(美国和加拿大)
[ 9]: (GTM-04:00) 大西洋时间(美国和加拿大)
[10]: (GTM-03:00) 巴西利亚
[11]: (GTM-02:00) 中大西洋
[12]: (GTM-01:00) 亚速尔群岛
[13]: (GTM) 格林威治标准时间
[14]: (GTM+01:00) 萨拉热窝
[15]: (GTM+02:00) 开罗
[16]: (GTM+03:00) 莫斯科
[17]: (GTM+04:00) 阿布扎比
[18]: (GTM+05:00) 伊斯兰堡
[19]: (GTM+06:00) 达卡
[20]: (GTM+07:00) 曼谷,河内
[21]: (GTM+08:00) 中国标准时间
[22]: (GTM+09:00) 首尔
[23]: (GTM+10:00) 关岛
[24]: (GTM+11:00) 所罗门群岛
[25]: (GTM+12:00) 斐济
[26]: (GTM+13:00) 努库阿勒法
[27]: (GTM+14:00) 基里巴斯
请选择时区 [21]:21
安装类型:
1 典型安装
2 服务器
3 客户端
4 自定义
请选择安装类型的数字序号 [1 典型安装]:1
所需空间: 1740M
请选择安装目录 [/home/dmdba/dmdbms]:/home/dmdba/dmdbms
可用空间: 88G
是否确认安装路径(/home/dmdba/dmdbms)? (Y/y:是 N/n:否) [Y/y]:y
安装前小结
安装位置: /home/dmdba/dmdbms
所需空间: 1740M
可用空间: 88G
版本信息:
有效日期:
安装类型: 典型安装
是否确认安装? (Y/y:是 N/n:否):y
2024-01-24 16:36:58
[INFO] 安装达梦数据库...
按照提示使用root用户执行下面命令,创建服务:
/home/dmdba/dmdbms/script/root/root_installer.sh
结果如下:
移动 /home/dmdba/dmdbms/bin/dm_svc.conf 到/etc目录
创建DmAPService服务
Created symlink /etc/systemd/system/multi-user.target.wants/DmAPService.service → /usr/lib/systemd/system/DmAPService.service.
创建服务(DmAPService)完成
启动DmAPService服务
初始化实例
创建数据库
进入安装的数据库bin目录
cd /home/dmdba/dmdbms/bin
用dminit工具进行实例初始化./dminit path=/home/dmdba/dmdata page_size=32
初始化参数说明如下:
PATH
初始数据库存放的路径。默认路径为 dminit 当前所在的工作目录。文件路径长度最大为 256 个字符,PATH 为可选参数。
生产环境中,该路径可根据前期规划的路径进行修改,一般为最大空间路径。
EXTENT_SIZE
数据文件使用的簇大小,即每次分配新的段空间时连续的页数。取值:16、32、64。单位:页数。缺省值 16。EXTENT_SIZE 为可选参数,正常默认即可。
PAGE_SIZE
数据文件使用的页大小。取值:8、16、32,单位:K。默认值为 8。可选参数。选择的页大小越大,则支持的元组长度也越大,但同时空间利用率可能下降。
在达梦数据库中,页大小可以为 8 KB、16 KB 或者 32 KB,一旦创建好了数据库,在该库的整个生命周期内,页大小都不能够改变。如果系统中存在或者以后可能存在含有较长的字符串类型的表,建议该参数设置为 16 或者 32。页大小设置越大,最后数据文件的物理大小就会越大,系统运行时,每次从磁盘调入内存的数据单位也就越大。除了每个字段的最大长度限制外,每条记录总长度不能大于页面大小的一半。
生产环境中该参数建议设置为 32,或依据用户实际需求进行指定。
LOG_SIZE
重做日志文件大小。取值:64~2048 之间的整数,单位 M 。默认值为 256。可选参数。每个数据库实例至少有两个重做日志文件,循环使用,LOG_SIZE 设置每个重做日志文件的大小。
生产环境中该参数建议给 2048,或依据用户实际需求进行指定。
CASE_SENSITIVE
标识符大小写敏感。当大小写敏感时,小写的标识符应当用 “” 括起,否则被系统自动转换为大写;当大小写不敏感时,系统不会转换标识符的大小写,在标识符比较时也不能区分大小写。取值:Y、y、1 表示敏感;N、n、0 表示不敏感。默认值为 Y 。可选参数。
DM 为了兼容不同的数据库,在初始化数据库的时候有一个参数字符串比较大小写敏感,用于确定数据库对象及数据是否区分大小写,默认为区分,不可更改。建议从 MYSQL 和 SQLSERVER 迁移过来的系统,使用大小写不敏感,ORACLE 迁移过来的系统,使用大小写敏感,以便和原来系统匹配。
生产环境中该参数依据用户实际需求进行指定。
更多内容可参考:详解 DM 数据库字符串大小写敏感。
CHARSET/UNICODE_FLAG
字符集选项。取值:0 代表 GB18030,1 代表 UTF-8,2 代表韩文字符集 EUC-KR。默认为 0。可选参数。
GB18030 编码向下兼容 GBK 和 GB2312,兼容的含义是不仅字符兼容,而且相同字符的编码也相同。GB18030 收录了所有 Unicode3.1 中的字符,包括中国少数民族字符,GBK 不支持的韩文字符等等,也可以说是世界大多民族的文字符号都被收录在内。
Unicode Transformation Format-8bit 是用以解决国际上字符的一种多字节编码。它对英文使用 8 位(即一个字节),中文使用 24 为(三个字节)来编码。UTF-8 包含全世界所有国家需要用到的字符,是国际编码,通用性强。UTF-8 编码的文字可以在各国支持 UTF8 字符集的浏览器上显示。
建议采用默认值 GB18030,如果需要国际字符可以采用 Unicode。GB18030 数字字母占 1 个字节,普通汉字占 2 个字节,部分繁体及少数民族文字占 4 字节。Unicode 在达梦中采用 UTF-8 编码格式,欧洲的字母字符占 1 到 2 个字节,亚洲的大部分字符占 3 个字节,附加字符为 4 个字节。如果只存储中文和字母数字,一般来说 GB18030 更节省空间一些。生产环境中该参数可依据用户实际需求进行指定。
LENGTH_IN_CHAR
VARCHAR 类型对象的长度是否以字符为单位。取值为 1 或者 Y 表示是,取值为 0 或 N 表示否。默认值为 0。可选参数。
取值为 1 或者 Y 表示所有 VARCHAR 类型对象的长度以字符为单位。这种情况下,定义长度并非真正按照字符长度调整,而是将存储长度值按照理论字符长度进行放大。所以会出现实际可插入字符数超过定义长度的情况,这种情况也是允许的。同时,存储的字节长度 8188 上限仍然不变,也就是说,即使定义列长度为 8188 字符,其实际能插入的字符串占用总字节长度仍然不能超过 8188;
取值为 0 或 N 表示所有 VARCHAR 类型对象的长度以字节为单位。
生产环境中该参数依据用户实际需求进行指定。
此参数配合字符集时,有多种搭配结果,详细内容可参考 length_in_char 和 CHARSET 组合使用效果详解。
DB_NAME
初始化数据库名称,默认为 DAMENG。名称为字符串,长度不能超过 128 个字符。可选参数。WINDOWS 下文件名不能包含字符 /*:? <>“|,LINUX 下文件名不能包含字符 /:<>”|。
生产环境中该参数一般保持默认,或依据用户实际需求进行指定。
INSTANCE_NAME
初始化数据库实例名称,默认为 DMSERVER。名称为字符串,长度不能超过 128 个字符。可选参数。
生产环境中该参数一般保持默认,或依据用户实际需求进行指定。
PORT_NUM
初始化时设置 dm.ini 中的监听端口号,默认 5236 。服务器配置此参数,有效值范围(1024~65534),发起连接端的端口在 1024~65535 之间随机分配。可选参数。
生产环境中该参数一般保持默认,或依据用户实际需求进行指定。
启动实例
1.进入目录安装数据库执行脚本下
cd /home/dmdba/dmdbms/script/root/
2.执行脚本注册./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dmdata/DAMENG/dm.ini -p DMSERVER
3.root用户将达梦数据库安装的目录/home/dmdba/文件的所属在交给dmdba用户chown -R dmdba:dinstall /home/dmdba/
4.启动服务:service DmServiceDMSERVER start
5.查看服务状态service DmServiceDMSERVER status
具体操作展示如下:
[root@VM-0-17-opencloudos /]# chown -R dmdba:dinstall /home/dmdba/
[root@VM-0-17-opencloudos /]# su dmdba
[dmdba@VM-0-17-opencloudos /]$ cd ^C
[dmdba@VM-0-17-opencloudos /]$ cd /home/dmdba/dmdbms/bin
[dmdba@VM-0-17-opencloudos bin]$ service DmServiceDMSERVER start
Redirecting to /bin/systemctl start DmServiceDMSERVER.service
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ====
Authentication is required to start 'DmServiceDMSERVER.service'.
Authenticating as: root
Password:
==== AUTHENTICATION COMPLETE ====
[dmdba@VM-0-17-opencloudos bin]$ service DmServiceDMSERVER status
Redirecting to /bin/systemctl status DmServiceDMSERVER.service
● DmServiceDMSERVER.service - DM Instance Service(DmServiceDMSERVER).
Loaded: loaded (/usr/lib/systemd/system/DmServiceDMSERVER.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2024-01-24 17:32:52 CST; 21s ago
Process: 21386 ExecStart=/home/dmdba/dmdbms/bin/DmServiceDMSERVER start (code=exited, status=0/SUCCESS)
Main PID: 21419 (dmserver)
Tasks: 84
Memory: 843.0M
CGroup: /system.slice/DmServiceDMSERVER.service
└─21419 /home/dmdba/dmdbms/bin/dmserver path=/home/dmdba/dmdata/DAMENG/dm.ini -noconsole
[dmdba@VM-0-17-opencloudos bin]$
创建用户、表空间
1.以数据库用户dmdba进入bin目录
cd /home/dmdba/dmdbms/bin
2.打开disql连接工具./disql
3.登录SYSDBA,默认密码为:SYSDBA;
4.创建用户WORK并设置密码为WORK123create user WORK identified by WORK123;
5.赋予用户建表、使用资源等权限grant PUBLIC,RESOURCE,SOI TO WORK;
grant CREATE TABLE,CREATE VIEW,CREATE INDEX TO WORK;
6.创建表空间(文件默认在实例初始化的目录下)create tablespace WORK datafile 'WORK.DBF' size 64 autoextend on next 2 maxsize 512;
7.将用户的表空间设置默认为WORKALTER USER WORK DEFAULT TABLESPACE WORK;
详情如下
[dmdba@VM-0-17-opencloudos bin]$ ./disql
disql V8
用户名:SYSDBA
密码:
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 2.318(ms)
SQL> create user WORK identified by WORK123;
操作已执行
已用时间: 7.559(毫秒). 执行号:60501.
SQL> grant PUBLIC,RESOURCE,SOI TO WORK;
操作已执行
已用时间: 6.372(毫秒). 执行号:60502.
SQL> grant CREATE TABLE,CREATE VIEW,CREATE INDEX TO WORK;
操作已执行
已用时间: 5.615(毫秒). 执行号:60503.
SQL> create tablespace WORK datafile 'WORK.DBF' size 128 autoextend on next 2 maxsize 512;
操作已执行
已用时间: 49.535(毫秒). 执行号:60504.
SQL> ALTER USER WORK DEFAULT TABLESPACE WORK;
操作已执行
已用时间: 5.298(毫秒). 执行号:60505.
SQL> exit;
导入imp文件
1.进入到数据bin目录下
cd /home/dmdba/dmdbms/bin
2.执行导入命令
./dimp USERID=执行导入的用户名/用户名密码 FILE=导入的文件路径/文件名.dmp./dimp USERID=WORK/WORK123 FILE=/CONFIG.dmp;
其余用到的命令:
a.删除模式:DROP SCHEMA 模式名 CASCADE;
b.删除用户:DROP USER 用户名 CASCADE;
c.将创建模式的权限给用户(SYSDBA用户执行):GRANT CREATE SCHEMA TO WORK;