debian 10安装达梦数据库v8

1、下载达梦数据库

官方下载链接:https://eco.dameng.com/download/
官方安装文档:https://eco.dameng.com/document/dm/zh-cn/start/install-dm-linux-prepare.html
在这里插入图片描述
文件名:dm8_20230104_x86_rh6_64.zip

2、安装前准备

2.1、建立数据库用户和组

注意
安装前必须创建 dmdba 用户,禁止使用 root 用户安装数据库。

建立数据库用户组

groupadd -g 12349 dinstall

建立数据库用户

useradd -u 12345 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba

设置数据库用户密码

passwd dmdba

在这里插入图片描述

2.2、修改文件打开最大数

重启服务器后永久生效
使用 vi 编辑器打开 /etc/security/limits.conf 文件,命令如下:

vi /etc/security/limits.conf

在最后添加四条语句,需添加的语句如下:

dmdba hard nofile 65537
dmdba soft nofile 65537
dmdba hard stack 32768
dmdba soft stack 16384

在这里插入图片描述
切换到 dmdba 用户,查看是否生效,命令如下:

su - dmdba
ulimit -a

在这里插入图片描述

2.3、挂载镜像

切换到 root 用户,将 DM 数据库的 iso 安装包挂载在任意位置,例如 /dm 目录下,
新建挂载目录/dm

mkdir /dm

进入iso所在目录,这里的pathToIso修改为实际ISO所在目录。

cd pathToIso/dm8_20230104_x86_rh6_64.iso

执行如下命令挂载镜像:


mount -o loop dm8_20230104_x86_rh6_64.iso /dm

2.4、新建安装目录

在达梦家目录下创建 /dm 文件夹,用来安装 DM 数据库。命令如下:

mkdir /home/dmdba/dm
注意
使用 root 用户建立文件夹,待 dmdba 用户建立完成后
,需将文件所有者更改为 dmdba 用户,否则无法安装到该目录下

修改安装目录权限
将新建的安装路径目录权限的用户修改为 dmdba,用户组修改为 dinstall。命令如下:

chown dmdba:dinstall -R /home/dmdba/dm

给安装路径下的文件设置 755 权限。命令如下:

chmod -R 755 /home/dmdba/dm

3、数据库安装

切换到数据库用户进行安装

su - dmdba

进入达梦iso挂载目录

cd /dm

执行安装命令

./DMInstall.bin -i

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
由于数据库安装服务非root用户,无法创建服务。
需要以root用户执行下述脚本:建立数据库配置文件,进行数据库服务创建,配置systemd服务管理,配置开机自启动。
在这里插入图片描述
在这里插入图片描述

4、配置环境变量

切换到 root 用户进入 dmdba 用户的根目录下,配置对应的环境变量。DM_HOME 变量和动态链接库文件的加载路径在程序安装成功后会自动导入。
在这里插入图片描述
添加path环境变量,命令如下:
编辑 $DM_HOME/.bash_profile,使其最终效果如下图所示:

cd /home/dmdba/
vim .bash_profile

加入一行

export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool

在这里插入图片描述
然后切换至 dmdba 用户下,执行以下命令,使环境变量生效。

su - dmdba
source .bash_profile

在这里插入图片描述

5、初始化数据库实例

命令行初始化数据库实例
使用 dmdba 用户始化数据库实例,进入到 DM 数据库安装目录下的 bin 目录中,使用 dminit 命令初始化实例。
dminit 命令可设置多种参数,可执行如下命令查看可配置参数

./dminit help
关键字 说明(默认值)
INI_FILE 初始化文件dm.ini存放的路径
PATH 初始数据库存放的路径
CTL_PATH 控制文件路径
LOG_PATH 日志文件路径
EXTENT_SIZE 数据文件使用的簇大小(16),可选值:16, 32, 64,单位:页
PAGE_SIZE 数据页大小(8),可选值:4,8,16,32,单位:K
LOG_SIZE 日志文件大小(256),单位为:M,范围为:256M~2G
CASE_SENSITIVE 大小敏感(Y),可选值:Y/N,1/0
CHARSET/UNICODE_FLAG 字符集(0),可选值:0[GB18030],1[UTF-8],2[EUC-KR]
SEC_PRIV_MODE 权限管理模式(0),可选值:0[TRADITION],1[BMJ],2[EVAL],3[ZB]
LENGTH_IN_CHAR VARCHAR类型长度是否以字符为单位(N),可选值:Y/N,1/0
SYSDBA_PWD 设置SYSDBA密码(SYSDBA)
SYSAUDITOR_PWD 设置SYSAUDITOR密码(SYSAUDITOR)
DB_NAME 数据库名(DAMENG)
INSTANCE_NAME 实例名(DMSERVER)
PORT_NUM 监听端口号(5236)
BUFFER 系统缓存大小(100),单位M
TIME_ZONE 设置时区(+08:00)
PAGE_CHECK 页检查模式(1),可选值:0/1/2
PAGE_HASH_NAME 设置页检查HASH算法
EXTERNAL_CIPHER_NAME 设置默认加密算法
EXTERNAL_HASH_NAME 设置默认HASH算法
EXTERNAL_CRYPTO_NAME 设置根密钥加密引擎
RLOG_ENCRYPT_NAME 设置日志文件加密算法,若未设置,则不加密
USBKEY_PIN 设置USBKEY PIN
PAGE_ENC_SLICE_SIZE 设置页加密分片大小,可选值:0、512、4096,单位:Byte
ENCRYPT_NAME 设置全库加密算法
BLANK_PAD_MODE 设置空格填充模式(0),可选值:0/1
SYSTEM_MIRROR_PATH SYSTEM数据文件镜像路径
MAIN_MIRROR_PATH MAIN数据文件镜像
ROLL_MIRROR_PATH 回滚文件镜像路径
MAL_FLAG 初始化时设置dm.ini中的MAL_INI(0)
ARCH_FLAG 初始化时设置dm.ini中的ARCH_INI(0)
MPP_FLAG Mpp系统内的库初始化时设置dm.ini中的mpp_ini(0)
CONTROL 初始化配置文件(配置文件格式见系统管理员手册)
AUTO_OVERWRITE 是否覆盖所有同名文件(0) 0:不覆盖 1:部分覆盖 2:完全覆盖
USE_NEW_HASH 是否使用改进的字符类型HASH算法(1)
ELOG_PATH 指定初始化过程中生成的日志文件所在路径
AP_PORT_NUM 分布式环境下协同工作的监听端口
DFS_FLAG 初始化时设置dm.ini中的DFS_INI(0)
DFS_PATH 启用dfs时指定数据文件的缺省路径
DFS_HOST 指定连接分布式系统DFS的服务地址(localhost)
DFS_PORT 指定连接分布式系统DFS的服务端口号(3332)
DFS_COPY_NUM 指定分布式系统的副本数(3)
DFS_DB_NAME 指定分布式系统的中数据库名(默认与DB_NAME一致)
SHARE_FLAG 指定分布式系统中该数据库的共享属性(0)
REGION_MODE 指定分布式系统中该数据库的系统表空间数据文件的区块策略(0) 0:微区策略 1:宏区策略
HUGE_WITH_DELTA 是否仅支持创建事务型HUGE表(1) 1:是 0:否
RLOG_GEN_FOR_HUGE 是否生成HUGE表REDO日志(1) 1:是 0:否
PSEG_MGR_FLAG 是否仅使用管理段记录事务信息(0) 1:是 0:否
CHAR_FIX_STORAGE CHAR是否按定长存储(N),可选值:Y/N,1/0
SQL_LOG_FORBID 是否禁止打开SQL日志(N),可选值:Y/N,1/0
DPC_MODE 指定DPC集群中的实例角色(0) 0:无 1:MP 2:BP 3:SP,取值1/2/3时也可以用MP/BP/SP代替
HELP 打印帮助信息

在这里插入图片描述
在这里插入图片描述
使用如下命令初始化数据库

dmdba@debian:~/dmdbms/bin$ ./dminit path=/home/dmdba/dm/data db_name=DAMENG instance_name=DMSERVER port_num=5236

在这里插入图片描述

参数名 说明
path=/home/dmdba/dm/data 初始数据库存放的路径
db_name=DAMENG 数据库名(DAMENG)
instance_name=DMSERVER 实例名(DMSERVER)
port_num=5236 监听端口号(5236)

下面是官方描述:供参考

需要注意的是页大小 (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=/dm/data

dminit 默认参数

也可以自定义初始化实例的参数,参考如下示例:

以下命令设置页大小为 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
dminit 设置参数

注意
如果此处自定义了初始化参数,在后面的注册服务和启动数据库等步骤中,请按实际的自定义参数进行操作。

6、注册服务

给刚初始化的数据库创建后台服务
需使用root用户创建
服务名叫做DmServiceDMSERVER

root@debian:/home/dmdba/dm/data# cd /home/dmdba/dmdbms/script/root
root@debian:/home/dmdba/dmdbms/script/root# ./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dm/data/DAMENG/dm.ini -p DMSERVER
Created symlink /etc/systemd/system/multi-user.target.wants/DmServiceDMSERVER.service → /lib/systemd/system/DmServiceDMSERVER.service.
创建服务(DmServiceDMSERVER)完成
root@debian:/home/dmdba/dmdbms/script/root# 

设置服务开机自启动,并开启服务。

root@debian:/home/dmdba/dmdbms/script/root# systemctl enable DmServiceDMSERVER
root@debian:/home/dmdba/dmdbms/script/root# systemctl status DmServiceDMSERVER
● DmServiceDMSERVER.service - DM Instance Service(DmServiceDMSERVER).
   Loaded: loaded (/lib/systemd/system/DmServiceDMSERVER.service; enabled; vendor preset: enabled)
   Active: inactive (dead)
root@debian:/home/dmdba/dmdbms/script/root# systemctl start DmServiceDMSERVER
root@debian:/home/dmdba/dmdbms/script/root# systemctl status DmServiceDMSERVER
● DmServiceDMSERVER.service - DM Instance Service(DmServiceDMSERVER).
   Loaded: loaded (/lib/systemd/system/DmServiceDMSERVER.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2023-04-03 05:16:08 PDT; 2s ago
  Process: 79472 ExecStart=/home/dmdba/dmdbms/bin/DmServiceDMSERVER start (code=exited, status=0/SUCCESS)
 Main PID: 79495 (dmserver)
    Tasks: 66
   Memory: 544.4M
   CGroup: /system.slice/DmServiceDMSERVER.service
           └─79495 /home/dmdba/dmdbms/bin/dmserver path=/home/dmdba/dm/data/DAMENG/dm.ini -noconsole

Apr 03 05:15:53 debian systemd[1]: Starting DM Instance Service(DmServiceDMSERVER)....
Apr 03 05:16:08 debian DmServiceDMSERVER[79472]: [39B blob data]
Apr 03 05:16:08 debian systemd[1]: Started DM Instance Service(DmServiceDMSERVER)..
root@debian:/home/dmdba/dmdbms/script/root# 

命令行参数如下
在这里插入图片描述

7、登录数据库

dmdba@debian:~/dmdbms/bin$./disql SYSDBA/SYSDBA@LOCALHOST:5236

格式:账号/口令@网络地址:端口号
账户:SYSDBA管理员账户
口令:初始化数据库可以指定,如没指定默认SYSDBA
端口号:初始化数据库指定的PORT_NUM

dmdba@debian:~/dmdbms/bin$ cd /home/dmdba/dmdbms/bin
dmdba@debian:~/dmdbms/bin$ ./disql SYSDBA/SYSDBA@LOCALHOST:5236
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 2.979(ms)
disql V8
SQL> help

HELP
----

显示打印信息,键入HELP或者 ? .

HELP|? [topic]

APPEND        添加文本到当前行的末尾。


COLUMN        描述指定列的信息。


CONNECT       连接到服务器。


CLEAR         重置或清理指定操作的缓存。


DISCONNECT    提交所有修改到服务器,但不退出DISQL。要退出DISQL使用exit命令。


DESCRIBE      获取表或视图、存储过程、函数、包、记录、类的结构描述。


DEFINE        设置变量值,或者显示已定义的变量信息。


HOST          在不退出DISQL的情况下执行操作系统命令。


EDIT          打开一个文本编辑器,里面包含所有SQL记录。


EXIT          提交或者回滚所有修改,退出DISQL。


MORE          切换到下一个结果集。


LIST          显示最近执行的SQL语句或者PL/SQL块信息,或者使用 ";"命令。不显示DISQL命令。


PROMPT       发送指定的消息或者空行到用户的屏幕。


QUIT          提交或者回滚所有修改,退出DISQL。


SET           设置某个系统环境变量,设置的值会修改当前会话的DISQL系统设置,例如:
                  -   设置数据显示宽度
                  -   制定 HTML 格式
                  -   允许/禁止打印列头
                  -   设置每一页的行数

SHOW          显示某个DISQL的系统变量,或者当前DISQL的环境变量。


SPOOL         屏幕显示的内容输出到指定文件。


WHENEVER      当一个SQL命令,或者PL/SQL块生成一个错误的时候,执行特定的命令(默认是DISQL退出)

SQL> quit
dmdba@debian:~/dmdbms/bin$ pwd
/home/dmdba/dmdbms/bin

至此完成了DM数据库的命令行安装及初始化
查看默认的所有用户
在这里插入图片描述

8、卸载数据库

停止服务

root@debian:/home/dmdba/dmdbms/script/root# systemctl stop DmServiceDMSERVER
root@debian:/home/dmdba/dmdbms/script/root# systemctl stop DmAPService.service 

执行卸载程序

dmdba@debian:~/dmdbms$ ./uninstall.sh -i
请确认是否卸载达梦数据库(/home/dmdba/dmdbms/)? (y/Y:是 n/N:否):y

是否删除dm_svc.conf配置文件? (y/Y:是 n/N:否):y

正在删除所有数据库库服务
删除数据库服务DmAuditMonitorService
删除数据库服务DmInstanceMonitorService
删除数据库服务DmJobMonitorService
删除数据库服务DmAPService
删除数据库服务DmServiceDMSERVER
删除所有数据库库服务完成
正在删除数据库目录
删除bin目录
删除bin目录完成
删除bin2目录
删除bin2目录完成
删除include目录
删除include目录完成
删除desktop目录
删除desktop目录完成
删除doc目录
删除doc目录完成
删除drivers目录
删除drivers目录完成
删除jdk目录
删除jdk目录完成
删除jar目录
删除jar目录完成
删除samples目录
删除samples目录完成
删除script目录
删除script目录完成
删除tool目录
删除tool目录完成
删除web目录
删除web目录完成
删除uninstall目录
删除uninstall目录完成
删除license_en.txt文件
删除license_en.txt文件完成
删除license_zh.txt文件
删除license_zh.txt文件完成
删除uninstall.sh文件
删除uninstall.sh文件完成
删除数据库目录完成

使用root用户执行命令:
/home/dmdba/dmdbms/root_uninstaller.sh
dmdba@debian:~/dmdbms$ 

使用root用户执行清理命令

root@debian:/home/dmdba/dmdbms/script/root# /home/dmdba/dmdbms/root_uninstaller.sh
sh: 0: getcwd() failed: No such file or directory
删除DmAPService服务
Removed /etc/systemd/system/multi-user.target.wants/DmAPService.service.
删除DmServiceDMSERVER服务
Removed /etc/systemd/system/multi-user.target.wants/DmServiceDMSERVER.service.
删除/etc/dm_svc.conf文件
root@debian:/home/dmdba/dmdbms/script/root# 

至此卸载完毕

9、多实例管理

建立端口为5237的数据库实例
命令如下

dminit path=/home/dmdba/dm/data db_name=DAMENG_5237 instance_name=DMSERVER_5237 port_num=5237 CASE_SENSITIVE=0
dmdba@debian:~/dmdbms/bin$ dminit path=/home/dmdba/dm/data db_name=DAMENG_5237 instance_name=DMSERVER_5237 port_num=5237 CASE_SENSITIVE=0
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2024-01-03
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL

 log file path: /home/dmdba/dm/data/DAMENG_5237/DAMENG_523701.log


 log file path: /home/dmdba/dm/data/DAMENG_5237/DAMENG_523702.log

write to dir [/home/dmdba/dm/data/DAMENG_5237].
create dm database success. 2023-04-06 23:12:23
dmdba@debian:~/dmdbms/bin$ 

注册服务

root@debian:/home/dmdba/dmdbms/script/root# ./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dm/data/DAMENG_5237/dm.ini -p DMSERVER_5237
Created symlink /etc/systemd/system/multi-user.target.wants/DmServiceDMSERVER_5237.service → /lib/systemd/system/DmServiceDMSERVER_5237.service.
创建服务(DmServiceDMSERVER_5237)完成
root@debian:/home/dmdba/dmdbms/script/root#

建立第二个实例前,data目录

root@debian:/home/dmdba/dm/data# ls -l
total 4
drwxr-xr-x 6 dmdba dinstall 4096 Apr  6 21:46 DAMENG
root@debian:/home/dmdba/dm/data# 

建立第二个实例后,data目录

root@debian:/home/dmdba/dm/data# ls -l
total 8
drwxr-xr-x 6 dmdba dinstall 4096 Apr  6 21:46 DAMENG
drwxr-xr-x 5 dmdba dinstall 4096 Apr  6 23:12 DAMENG_5237
root@debian:/home/dmdba/dm/data# 

数据库名对应data目录下的一个文件夹。

查看多实例

ps -elf|grep -v grep|grep dmserver
root@debian:/home/dmdba/dmdbms/script/root# ps -elf|grep -v grep|grep dmserver
0 S dmdba       790      1  0  80   0 - 1003086 -    19:18 ?        00:00:57 /home/dmdba/dmdbms/bin/dmserver path=/home/dmdba/dm/data/DAMENG/dm.ini -noconsole
0 S dmdba     46960      1 24  80   0 - 806203 -     23:24 ?        00:00:06 /home/dmdba/dmdbms/bin/dmserver path=/home/dmdba/dm/data/DAMENG_5237/dm.ini -noconsole
root@debian:/home/dmdba/dmdbms/script/root#

disql连接特定实例(不同端口区分不同数据库实例)

disql SYSDBA/SYSDBA@LOCALHOST:5237
dmdba@debian:~/dmdbms/bin$ disql SYSDBA/SYSDBA@LOCALHOST:5237

服务器[LOCALHOST:5237]:处于普通打开状态
登录使用时间 : 5.103(ms)
disql V8
SQL> SELECT USER_NAME,CLNT_TYPE,TIME_ZONE,CLNT_IP,CLNT_VER FROM V$SESSIONS;

行号     USER_NAME CLNT_TYPE TIME_ZONE CLNT_IP   CLNT_VER 
---------- --------- --------- --------- --------- ---------
1          SYSDBA    SQL3      +08:00    ::1:42982 8.1.2.192

已用时间: 4.888(毫秒). 执行号:58900.
SQL> select username,user_id,default_tablespace,profile from dba_users;

行号     username   user_id     default_tablespace PROFILE                                   
---------- ---------- ----------- ------------------ ------------------------------------------
1          SYSAUDITOR 50331650    SYSTEM             /home/dmdba/dm/data/DAMENG_5237/SYSTEM.DBF
2          SYSSSO     50331651    SYSTEM             /home/dmdba/dm/data/DAMENG_5237/SYSTEM.DBF
3          SYSDBA     50331649    MAIN               /home/dmdba/dm/data/DAMENG_5237/MAIN.DBF
4          SYS        50331648    SYSTEM             /home/dmdba/dm/data/DAMENG_5237/SYSTEM.DBF

已用时间: 110.744(毫秒). 执行号:58901.
SQL> select name,create_time from v$database;

行号     name        create_time        
---------- ----------- -------------------
1          DAMENG_5237 2023-04-06 23:12:22

已用时间: 2.853(毫秒). 执行号:58902.
SQL> 

10、windows DM管理工具

10.1、下载安装windows DM管理工具

https://eco.dameng.com/download/

选择X86 Win_64 下载

文件名:dm8_20230106_x86_win_64.zip

在这里插入图片描述
解压安装
在这里插入图片描述
选择客户端安装
在这里插入图片描述
在这里插入图片描述

10.2、运行windows DM管理工具

在这里插入图片描述

11、文档查看

11.1、在线文档

https://eco.dameng.com/document/dm/zh-cn/pm/

在这里插入图片描述

11.2、安装程序中的本地文档

windows dm数据库系统安装目录下doc文件夹

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/OceanWaves1993/article/details/129936878