一、Windows端
打开iso文件
前面呆瓜式安装下一步
Oracle的特性与达梦特性大致一样
MySQL与Oracle区别
MySQL:安装一个服务,新建多个数据库
达梦:只安装底层服务,数据库需要单独创建
现在服务安装好了但是没有安装数据库
如果这里不小心点取消了Windows里面有按win键这里是win11操作系统
数据库配置助手
自定义文件位置
如果没有成功看看是否开启服务
二、Linux
首先准备linux系统如果是Windows系统的话可以在电脑里面装一个vmware
[root@localhost ~]# mkdir soft #创建一个文件
[root@localhost ~]# cd soft/ #进入soft
这里放创建文件把需要的文件拖进去
新建 dmdba
用户
注意: 安装前必须创建
dmdba
用户,禁止使用root
用户安装数据库。
创建用户所在的组,命令如下:
groupadd dinstall
创建用户,命令如下:
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
修改用户密码,命令如下:
passwd dmdba
密码自定义
修改文件打开最大数
设置 重启服务器后永久生效
使用 vi 编辑器打开 /etc/security/limits.conf
文件,命令如下:
vi /etc/security/limits.conf
按i键粘贴
dmdba hard nofile 65536
dmdba soft nofile 65536
dmdba hard stack 32768
dmdba soft stack 16384
esc 键:wq 退出保存
切换用户
[root@localhost soft]# su dmdba 切换用户
[dmdba@localhost soft]$ ulimit -a
这里是zip格式压缩包
解压命令:
unzip +需要解压的文件名称
mount -o loop dm8_20230418_x86_rh6_64.iso /mnt
新建安装目录
在根目录下创建 /dm8 文件夹,用来安装 DM 数据库。命令如下:
mkdir /dm8
注意 使用 root 用户建立文件夹,待
dmdba
用户建立完成后需将文件所有者更改为dmdba
用户,否则无法安装到该目录下
将新建的安装路径目录权限的用户修改为 dmdba,用户组修改为 dinstall。命令如下:
chown dmdba:dinstall -R /dm8/
给安装路径下的文件设置 755 权限。命令如下:
chmod -R 755 /dm8
命令行安装
切换至 dmdba
用户下,在 /mnt 目录下使用命令行安装数据库程序,依次执行以下命令安装 DM 数据库。
su - dmdba
cd /mnt/
./DMInstall.bin -i
按需求选择安装语言,默认为中文。本地安装选择【不输入 Key 文件】,选择【默认时区 21】。
选择【1-典型安装】,按已规划的安装目录 /dm8 完成数据库软件安装,不建议使用默认安装目录。
数据库安装大概 1~2 分钟,数据库安装完成后,显示如下界面。
数据库安装完成后,需要切换至 root 用户执行上图中的命令 /dm8/script/root/root_installer.sh
创建 DmAPService
,否则会影响数据库备份。
[root@localhost mnt]# cd /home/dmdba/
[root@localhost dmdba]# vim .bash_profile
配置实例
DM 数据库安装目录下的 bin 目录中,使用 dminit
命令初始化实例。
dminit
命令可设置多种参数,可执行如下命令查看可配置参数。
./dminit help
需要注意的是页大小 (page_size)、簇大小 (extent_size)、大小写敏感 (case_sensitive)、字符集 (charset) 这四个参数,一旦确定无法修改,需谨慎设置。
-
extent_size 指数据文件使用的簇大小,即每次分配新的段空间时连续的页数。只能是 16 页或 32 页或 64 页之一,缺省使用 16 页。
-
page_size 数据文件使用的页大小,可以为 4 KB、8 KB、16 KB 或 32 KB 之一,选择的页大小越大,则 DM 支持的元组长度也越大,但同时空间利用率可能下降,缺省使用 8 KB。
-
case_sensitive 标识符大小写敏感,默认值为 Y 。当大小写敏感时,小写的标识符应用双引号括起,否则被转换为大写;当大小写不敏感时,系统不自动转换标识符的大小写,在标识符比较时也不区分大小写,只能是 Y、y、N、n、1、0 之一。
-
charset 字符集选项。0 代表 GB18030;1 代表 UTF-8;2 代表韩文字符集 EUC-KR;取值 0、1 或 2 之一。默认值为 0。
可以使用默认参数初始化实例,需要附加实例存放路径。此处以初始化实例到 /dm/data 目录下为例(执行初始化命令前,需要使用 root 用户授予 /dm/data 目录相应权限,可以参考修改目录权限),初始化命令如下:
./dminit path=/dm8/data
也可以自定义初始化实例的参数,参考如下示例:
以下命令设置页大小为 32 KB,簇大小为 32 KB,大小写敏感,字符集为 utf_8
,数据库名为 DMDB,实例名为 DBSERVER,端口为 5237。
./dminit path=/dm/data PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y
CHARSET=1 DB_NAME=DMDB INSTANCE_NAME=DBSERVER PORT_NUM=5237
注意: 如果此处自定义了初始化参数,在后面的注册服务和启动数据库等步骤中,请按实际的自定义参数进行操作。
注册服务
注册服务需使用 root 用户进行注册。使用 root 用户进入数据库安装目录的 /script/root
下,如下所示:
cd /dm8/script/root
注册服务,如下所示:
./dm_service_installer.sh -t dmserver -dm_ini /dm8/data/DAMENG/dm.ini -p DMSERVER
用户可根据自己的环境更改 dm.ini 文件的路径以及服务名,如下所示:
./dm_service_installer.sh -h
如需为其他实例注册服务,需打开 dbca 工具,进行注册服务,如下所示:
cd /dm8/tool
./dbca.sh
启动、停止数据库
服务注册成功后,启动数据库,如下所示:
systemctl start DmServiceDMSERVER.service
停止数据库,如下所示:
systemctl stop DmServiceDMSERVER.service
重启数据库,如下所示:
systemctl restart DmServiceDMSERVER.service
查看数据库服务状态,如下所示:
systemctl status DmServiceDMSERVER.service
可前台启动,进入 DM 安装目录下的 bin 目录下,命令如下:
./dmserver /dm/data/DAMENG/dm.ini
该启动方式为前台启动,若想关闭数据库,则输入 exit 即可。
也可进入 DM 安装目录下的 bin 目录下,启动/停止/重启数据库,如下所示:
./DmServiceDMSERVER start/stop/restart
查看数据库状态,如下所示:
./DmServiceDMSERVER status
三、dockers
拷贝安装包到 /opt 目录下,执行以下命令导入安装包:
docker load -i
dm8_20230808_rev197096_x86_rh6_64_single.tar
结果显示如下:
导入完成后,可以使用 docker images
查看导入的镜像。结果显示如下:
启动容器
镜像导入后,使用 docker run
启动容器,启动命令如下:
docker run -d -p 35236:5236 \ --restart=always \ --name dm8 \ --privileged=true \ -e PAGE_SIZE=16 \ -e LD_LIBRARY_PATH=/opt/dmdbms/bin \ -e EXTENT_SIZE=32 \ -e BLANK_PAD_MODE=1 \ -e LOG_SIZE=1024 \ -e UNICODE_FLAG=1 \ -e LENGTH_IN_CHAR=1 \ -e INSTANCE_NAME=dm \ -v /data/dm8:/opt/dmdbms/data dm8_single:dm8_20230808_rev197096_x86_rh6_64
结果显示如下:
容器启动完成后,使用 docker ps
查看镜像的启动情况,结果显示如下:
启动完成后,可通过日志检查启动情况,命令如下:
docker logs -f dm8 或 docker logs -f 58deb28d1209
结果显示如下:
启动/停止数据库
停止数据库命令如下:
docker stop dm8_test
启动数据库命令如下:
docker start dm8_test
重启命令如下:
docker restart dm8_test
注意
1.如果使用 docker 容器里面的 disql
,进入容器后,先执行 source /etc/profile
防止中文乱码。 2.新版本 Docker 镜像中数据库默认用户名/密码为 SYSDBA/SYSDBA001
四、数据类型
数值数据类型
NUMERIC/DECIMAL/DEC/NUMBER
例如:NUMERIC(4,1)定义了小数点前面 3 位和小数点后面 1 位,共 4 位的数字,范围在-999.9 到 999.9。
INTEGER/INT 类型
INTEGER/INT
用于存储有符号整数,精度为 10,标度为 0。取值范围为:-2147483648 (-2^31)~ +2147483647(2^31-1)。
BIGINT 类型
BIGINT
用于存储有符号整数,精度为 19,标度为 0。取值范围为:-9223372036854775808(-2^63)~9223372036854775807(2^63-1)。
SMALLINT 类型
SMALLINT
用于存储有符号整数,精度为 5,标度为 0。取值范围为:-32768(-2^15) ~ +32767(2^15-1)。
TINYINT/BYTE 类型
TINYINT
用于存储有符号整数,精度为 3,标度为 0。取值范围为:-128 ~ +127。
FLOAT 类型
FLOAT[(精度)]
DOUBLE 类型
DOUBLE[(精度)]
DOUBLE 是带二进制精度的浮点数。DOUBLE 类型的设置是为了移植的兼容性。精度与取值范围与 FLOAT 一样。
DOUBLE PRECISION 类型
DOUBLE PRECISION[(精度)]
位串数据类型
BIT 类型
BIT
BIT 类型用于存储整数数据 1、0 或 NULL,只有 0 才转换为假,其他非空、非 0 值都会自动转换为真,可以用来支持 ODBC 和 JDBC 的布尔数据类型。
日期时间数据类型
DATE 类型
DATE
DATE 类型包括年、月、日信息,定义了'-4712-01-01'和'9999-12-31'之间任何一个有效的格里高利日期。
TIME 类型
TIME[(小数秒精度)]
TIMESTAMP/DATETIME 类型
TIMESTAMP[(小数秒精度)]
多媒体数据类型
TEXT/LONG/LONGVARCHAR/CLOB 类型
TEXT 为变长字符串类型。其字符串的长度最大为 100G-1 字节。DM 利用它存储长的文本串。
BLOB 类型
BLOB
BLOB 类型用于指明变长的二进制大对象,长度最大为 100G-1 字节。
BFILE 类型
BFILE
BFILE 用于指明存储在操作系统中的二进制文件,文件存储在操作系统而非数据库中,仅能进行只读访问。
DM常见的
varchar/varchar2 //可变长度
char //不可变长度
decimal/number //精准数字
bogint/int/intheger //整数
float/double //小数
date/time/datetime/timestamp //时间戳
long/text //大文本(65535)
CLOB //字符串格式的大文件(100G)
BLOB //二进制格式的大文件(100G)
时间值表达式
日期-日期,得到间隔
时间-时间,得到间隔
运算符的优先级
( ) +(一元正)、-(一元负)、~(一元按位非) *(乘)、/(除)、%(取余数) +(加)、-(减) || (串联) <<(左移)、>>(右移) &(按位与)、^(按位异)、|(按位或)