在Linux环境以命令行方式部署DM8(达梦8)单机版

本文目的是验证在linux环境以命令行方式部署DM8单机版。

本文以如下目录展开介绍:
1.部署环境介绍和数据库安装包挂载
2.数据库部署前准备
3.部署数据库
4.初始化数据库实例
5.注册数据库启停服务
6.启动停止数据库三种方式
7.使用disql登录DM8数据库

1.部署环境介绍和数据库安装包挂载

1.1 部署环境介绍

该部署测试Linux环境操作系统版本、磁盘、内存、CPU信息如下:

[root@owumvyu4iuuzaxxp-0001 ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
[root@owumvyu4iuuzaxxp-0001 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 40G 2.3G 38G 6% /
devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs 7.8G 0 7.8G 0% /dev/shm
tmpfs 7.8G 353M 7.5G 5% /run
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
tmpfs 1.6G 0 1.6G 0% /run/user/0
[root@owumvyu4iuuzaxxp-0001 ~]# free -h
total used free shared buff/cache available
Mem: 15G 197M 13G 353M 1.4G 14G
Swap: 0B 0B 0B
[root@owumvyu4iuuzaxxp-0001 ~]#
[root@owumvyu4iuuzaxxp-0001 ~]# cat /proc/cpuinfo |grep process
processor : 0
processor : 1

1.2 挂载DM8数据库安装包

从达梦数据库官网下载DM8数据库安装包,如果下载的是zip压缩格式,解压后是如下iso格式:

[root@owumvyu4iuuzaxxp-0001 ~]# ls -l dm8_20230207_x86_rh6_64.iso
-rw-r--r-- 1 root root 1021220864 Jun 13 14:37 dm8_20230207_x86_rh6_64.iso
[root@owumvyu4iuuzaxxp-0001 ~]#
[root@owumvyu4iuuzaxxp-0001 ~]# du -sm dm8_20230207_x86_rh6_64.iso
974 dm8_20230207_x86_rh6_64.iso

挂载数据库安装包:

mount -o loop /root/dm8_20230207_x86_rh6_64.iso /mnt

2.数据库部署前准备

2.1 创建dmdba用户

注意:部署前必须创建dmdba用户,用户用于部署DM数据库,禁止使用root用户部署数据库。
创建用户所在组,命令如下:

[root@owumvyu4iuuzaxxp-0001 ~]# groupadd dinstall

创建dmdba用户并修改密码,命令如下:

[root@owumvyu4iuuzaxxp-0001 ~]# useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
[root@owumvyu4iuuzaxxp-0001 ~]# passwd dmdba
Changing password for user dmdba.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@owumvyu4iuuzaxxp-0001 ~]#

该部署环境设置dmdba密码是dmdba,仅在测试环境验使用。如果生产环境建议使用强密。

2.2 修改打开文件最大数

使用vi 编辑/etc/security/limits.conf文件,命令如下:

[root@owumvyu4iuuzaxxp-0001 ~]# vi /etc/security/limits.conf

在/etc/security/limits.conf文件最后添加以下内容:

dmdba hard nofile 65536
dmdba soft nofile 65536
dmdba hard stack 32768
dmdba soft stack 16384

切换到dmdba查看上面参数设置是否生效:

su - dmdba

注意:重启服务器后永久生效

2.3 创建数据库部署目录

注意:使用系统root用户创建数据库安装目录/dm8,并且将目录所有者改为dmdba,否则无法安装到该目录下。
创建/dm8目录,命令如下:

[root@owumvyu4iuuzaxxp-0001 ~]# mkdir /dm8

将部署目录用户修改为dmdba,用户组修改为dinstall ,命令如下:

[root@owumvyu4iuuzaxxp-0001 ~]# chown dmdba:dinstall -R /dm8

设置/dm8权限为755,命令如下:

[root@owumvyu4iuuzaxxp-0001 ~]# chmod -R 755 /dm8

3.部署数据库

3.1 命令行部署

在dmdba用户执行下面命令:

[root@owumvyu4iuuzaxxp-0001 ~]# su - dmdba
Last login: Tue Jun 13 16:02:02 CST 2023 on pts/1
[dmdba@owumvyu4iuuzaxxp-0001 ~]$ cd /mnt/
[dmdba@owumvyu4iuuzaxxp-0001 mnt]$ ls
DM8 Install.pdf DMInstall.bin
[dmdba@owumvyu4iuuzaxxp-0001 mnt]$ ./DMInstall.bin -i
Please select the installer's language (E/e:English C/c:Chinese) [E/e]:c
解压安装程序.........
欢迎使用达梦数据库安装程序
是否输入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]:21

选择语言中文"c";
设置时区,选择默认的21时区;
选择典型安装;
选择部署目录/dm8;

安装小结:

切换root用户执行root_installer.sh脚本:

配置环境变量:
切换到 root 用户进入 dmdba 用户的根目录下,配置对应的环境变量。DM_HOME 变量和动态链接库文件的加载路径在程序安装成功后会自动导入。命令如下:

[root@owumvyu4iuuzaxxp-0001 ~]# cd /home/dmdba/
[root@owumvyu4iuuzaxxp-0001 dmdba]# ls -al
total 16
drwx------ 2 dmdba dinstall 83 Jun 13 10:38 .
drwxr-xr-x. 3 root root 19 Jun 13 10:15 ..
-rw------- 1 dmdba dinstall 86 Jun 13 17:13 .bash_history
-rw-r--r-- 1 dmdba dinstall 18 Apr 1 2020 .bash_logout
-rw-r--r-- 1 dmdba dinstall 267 Jun 13 16:38 .bash_profile
-rw-r--r-- 1 dmdba dinstall 231 Apr 1 2020 .bashrc
[root@owumvyu4iuuzaxxp-0001 dmdba]# vi .bash_profile
[root@owumvyu4iuuzaxxp-0001 dmdba]#
[root@owumvyu4iuuzaxxp-0001 dmdba]# cat .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/dm8/bin"
export DM_HOME="/dm8"
export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool
[root@owumvyu4iuuzaxxp-0001 dmdba]#. .bash_profile

4.初始化数据库实例

命令行初始化数据库实例,需要附加实例存放路径。此处以初始化实例到 /dm/data 目录下为例(执行初始化命令前,需要使用 root 用户授予 /dm/data 目录相应权限),创建目录命令如下:

[root@owumvyu4iuuzaxxp-0001 /]# mkdir -p /dm/data
[root@owumvyu4iuuzaxxp-0001 /]# chown dmdba:dinstall -R /dm/data
[root@owumvyu4iuuzaxxp-0001 /]# chmod -R 755 /dm/data

初始化实例命令如下:

[dmdba@owumvyu4iuuzaxxp-0001 ~]$ dminit path=/dm/data PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=1 DB_NAME=DMDB INSTANCE_NAME=DBSERVER PORT_NUM=5237
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2024-02-06
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
log file path: /dm/data/DMDB/DMDB01.log
log file path: /dm/data/DMDB/DMDB02.log
write to dir [/dm/data/DMDB].
create dm database success. 2023-06-14 12:38:02
[dmdba@owumvyu4iuuzaxxp-0001 ~]$

页大小 (page_size)、簇大小 (extent_size)、大小写敏感 (case_sensitive)、字符集 (charset) 这四个参数,一旦确定无法修改,部署要规划好并谨慎设置。

page_size 数据文件使用的页大小,可以为 4 KB、8 KB、16 KB 或 32 KB 之一,选择的页大小越大,则 DM 支持的元组长度也越大,但同时空间利用率可能下降,缺省使用 8 KB。
extent_size 指数据文件使用的簇大小,即每次分配新的段空间时连续的页数。只能是 16 页或 32 页或 64 页之一,缺省使用 16 页。
case_sensitive 标识符大小写敏感,默认值为 Y 。当大小写敏感时,小写的标识符应用双引号括起,否则被转换为大写;当大小写不敏感时,系统不自动转换标识符的大小写,在标识符比较时也不区分大小写,只能是 Y、y、N、n、1、0 之一。
charset 字符集选项。0 代表 GB18030;1 代表 UTF-8;2 代表韩文字符集 EUC-KR;取值 0、1 或 2 之一。默认值为 0。

5.注册数据库启停服务

5.1命令行注册服务

注册服务需使用 root 用户进行注册。使用 root 用户进入数据库部署目录/dm8的 /script/root 下,根据自己的环境更改 dm.ini 文件的路径以及服务名进行注册服务:

[root@owumvyu4iuuzaxxp-0001 dm8]# cd /dm8/script/root
[root@owumvyu4iuuzaxxp-0001 root]# sh dm_service_installer.sh -t dmserver -dm_ini /dm/data/DMDB/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@owumvyu4iuuzaxxp-0001 root]#

6.启动停止数据库三种方式

6.1 启动停止方式一

以系统服务方式进行启停。
使用系统root用户启动服务:

[root@owumvyu4iuuzaxxp-0001 root]# pwd
/dm8/script/root
[root@owumvyu4iuuzaxxp-0001 root]# systemctl start DmServiceDMSERVER.service

查看启动数据库进程后状态:

[root@owumvyu4iuuzaxxp-0001 root]# ps -ef |grep dm
dmdba 10501 1 0 Jun13 ? 00:00:01 /dm8/bin/dmap
dmdba 30943 1 14 13:15 ? 00:00:03 /dm8/bin/dmserver path=/dm/data/DMDB/dm.ini -noconsole
root 31035 19208 0 13:16 pts/0 00:00:00 grep --color=auto dm
[root@owumvyu4iuuzaxxp-0001 root]#

如果以服务方式停止数据库服务,执行下面命令:

[root@owumvyu4iuuzaxxp-0001 root]# systemctl stop DmServiceDMSERVER.service

6.2 启动停止方式二

用dmdba用户启动数据库服务,进入 DM 安装目录下的 bin 目录下,注意正确填写dm.ini实际路径,命令如下:

[dmdba@owumvyu4iuuzaxxp-0001 bin]$ pwd
/dm8/bin
[dmdba@owumvyu4iuuzaxxp-0001 bin]$ ./dmserver /dm/data/DM/dm.ini
file dm.key not found, use default license!
open ini file /dm/data/DM/dm.ini failed!
dmserver startup failed, code = -140 [Can not access INI file]
nsvr_ini_file_read failed, [code: -140]
[dmdba@owumvyu4iuuzaxxp-0001 bin]$ ./dmserver /dm/data/DMDB/dm.ini
file dm.key not found, use default license!
version info: develop
DM Database Server 64 V8 03134283968-20230206-181022-20033 startup...
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
Database mode = 0, oguid = 0
License will expire on 2024-02-06
file lsn: 37511
ndct db load finished
ndct second level fill fast pool finished
ndct third level fill fast pool finished
ndct second level fill fast pool finished
ndct third level fill fast pool finished
ndct fill fast pool finished
pseg_set_gtv_trxid_low next_trxid in mem:[4008]
pseg_collect_mgr_items, total collect 0 active_trxs, 0 cmt_trxs, 0 pre_cmt_trxs, 0 to_release_trxs, 0 active_pages, 0 cmt_pages, 0 pre_cmt_pages, 0 to_release_pages, 0 mgr pages, 0 mgr recs!
next_trxid in mem:[5010]
next_trxid = 6012.
pseg recv finished
nsvr_startup end.
aud sys init success.
aud rt sys init success.
systables desc init success.
ndct_db_load_info success.
nsvr_process_before_open begin.
nsvr_process_before_open success.
SYSTEM IS READY.

另外开启系统会话查看数据库启动后进程状态:

[root@owumvyu4iuuzaxxp-0001 ~]# ps -ef |grep dm
dmdba 603 32608 0 13:35 pts/0 00:00:00 ./dmserver /dm/data/DMDB/dm.ini
root 735 32676 0 13:36 pts/1 00:00:00 grep --color=auto dm
dmdba 10501 1 0 Jun13 ? 00:00:01 /dm8/bin/dmap
root 32607 19208 0 13:31 pts/0 00:00:00 su - dmdba
dmdba 32608 32607 0 13:31 pts/0 00:00:00 -bash

前台停止使用ctrl + c命令终止数据库服务:

^CServer is stopping...
listener closed and all sessions disconnected
adjust undo_retention & wakeup purge thread...full check point starting...
generate force checkpoint, rlog free space[536817152], used space[45568]
checkpoint begin, used_space[45568], free_space[536817152]...
checkpoint end, 0 pages flushed, used_space[44544], free_space[536818176].
full check point end.
shutdown audit subsystem...OK
shutdown schedule subsystem...OK
shutdown timer successfully.
pre-shutdown MAL subsystem...OK
shutdown worker threads subsystem...OK
shutdown logic log subsystem...OK
shutdown sequence cache subsystem...OK
wait for mtsk link worker to exit..OK
shutdown mpp session subsystem...OK
wait for rapply is all over... OK
rapply worker threads exit successfully.
pre ending task & worker threads...OK
shutdown dblink subsystem...OK
shutdown local parallel threads pool successfully.
shutdown pthd_pools...OK
shutdown session subsystem...shutdown aux session subsystem...OK
shutdown rollback segments purging subsystem...OK
shutdown transaction subsystem...OK
shutdown locking subsystem...OK
shutdown dbms_lock subsystem...OK
ending tsk and worker threads...OK
ckpt2_exec_immediately begin.
checkpoint begin, used_space[44544], free_space[536818176]...
checkpoint end, 0 pages flushed, used_space[6656], free_space[536856064].
checkpoint begin, used_space[6656], free_space[536856064]...
checkpoint end, 0 pages flushed, used_space[0], free_space[536862720].
checkpoint begin, used_space[0], free_space[536862720]...
checkpoint end, 0 pages flushed, used_space[0], free_space[536862720].
shutdown archive subsystem...OK
shutdown redo log subsystem...OK
shutdown MAL subsystem...OK
shutdown message compress subsystem successfully.
shutdown task subsystem...OK
shutdown trace subsystem...OK
shutdown svr_log subsystem...OK
shutdown plan cache subsystem...OK
shutdown database dictionary subsystem...OK
shutdown file subsystem...OK
shutdown mac cache subsystem...OK
shutdown dynamic login cache subsystem...OK
shutdown ifun/bifun/sfun/afun cache subsystem...OK
shutdown crypt subsystem...OK
shutdown pipe subsystem...OK
shutdown compress component...OK
shutdown slave redo subsystem...OK
shutdown kernel buffer subsystem...OK
shutdown SQL capture subsystem...OK
shutdown control file system...OK
shutdown dtype subsystem...OK
shutdown huge buffer and memory pools...OK
close lsnr socket

6.3 启动停止方式三

使用dmdba用户进行,进入 DM 安装目录下的 bin 目录下,执行下面命令:

[dmdba@owumvyu4iuuzaxxp-0001 bin]$ pwd
/dm8/bin
[dmdba@owumvyu4iuuzaxxp-0001 bin]$ DmServiceDMSERVER start
Starting DmServiceDMSERVER: [ OK ]
[dmdba@owumvyu4iuuzaxxp-0001 bin]$
[dmdba@owumvyu4iuuzaxxp-0001 bin]$ DmServiceDMSERVER status
DmServiceDMSERVER (pid 2002) is running.

开启另外系统会话查看数据库进程状态:

[root@owumvyu4iuuzaxxp-0001 ~]# ps -ef |grep dm
dmdba 2002 1 0 13:48 pts/0 00:00:00 /dm8/bin/dmserver path=/dm/data/DMDB/dm.ini -noconsole
root 2472 32676 0 13:51 pts/1 00:00:00 grep --color=auto dm
dmdba 10501 1 0 Jun13 ? 00:00:01 /dm8/bin/dmap
root 32607 19208 0 13:31 pts/0 00:00:00 su - dmdba
dmdba 32608 32607 0 13:31 pts/0 00:00:00 -bash
[root@owumvyu4iuuzaxxp-0001 ~]#

停止数据库服务:

[dmdba@owumvyu4iuuzaxxp-0001 bin]$ DmServiceDMSERVER stop
Stopping DmServiceDMSERVER: [ OK ]
[dmdba@owumvyu4iuuzaxxp-0001 bin]$ DmServiceDMSERVER status
DmServiceDMSERVER is stopped

7.使用disql登录数据库

使用disql连接到数据库,默认的用户和密码是SYSDBA/SYSDBA,注意ip和端口,命令如下:

[dmdba@owumvyu4iuuzaxxp-0001 DMDB]$ disql SYSDBA/SYSDBA@127.0.0.1:5237
服务器[127.0.0.1:5237]:处于普通打开状态
登录使用时间 : 2.343(ms)
disql V8
SQL>
SQL> SET LINESHOW ON
SQL> select status$ from v$database;
行号 STATUS$
---------- -----------
1 4
已用时间: 2.352(毫秒). 执行号:500.
SQL>

总结:

本文详细介绍DM8在linux环境以命令行方式进行单机版部署。依次按照文章开头介绍的目录进行环境介绍和数据库安装包挂载、部署前准备、部署、初始化数据库实例、注册数据库启停服务、介绍启动停止数据库三种方式和使用disql登录数据库验证。让大家对DM8在linux环境单机版架构部署有个直观的感受,希望在大家学习DM8在linux以命令行方式部署时能提供参考和有所帮助。

关于达梦数据库更多学习内容,欢迎访问达梦社区:
https://eco.dameng.com

在Linux环境以命令行方式部署DM8(达梦8)单机版相关推荐

  1. Linux运行hadoop命令,将hadoop程序打成jar包,在linux下以命令行方式运行(例如单词计算程序)...

    自定义Mapper import java.io.IOException; import org.apache.hadoop.io.LongWritable; import org.apache.ha ...

  2. linux环境下命令行bypy、BaiduPCS 从百度网盘上传、下载数据

    1.安装: linux系统中已安装有python环境,安装bypy库和requests库 安装方法如下: pip install requests -i https://pypi.doubanio.c ...

  3. linux mysql5.7.11_在Linux中以命令行方式安装 MySQL 5.7.11 for Linux Generic 二进制版本

    转至: http://www.cnblogs.com/cyberniuniu/p/5273961.html MySQL 目前的最新版本是 5.7.11,在 Linux 下提供特定发行版安装包(如 .r ...

  4. Linux环境下命令行截图【转】

    参考链接:命令行截图 将剪切板内容粘贴出来:Ctrl+V

  5. 达梦数据库安装(Linux下的命令行方式)_yxy

    Linux下数据库安装 1 安装前准备工作 1.1 查看操作系统基本信息 1.2 检查内存和存储空间 1.3 创建安装用户 1.4 检查操作系统限制 2 安装DM 2.1 挂载 2.2 执行安装文件 ...

  6. linux读取excel并导入mysql_mysql命令行的导入导出sql,txt,excel(都在linux或windows命令行操作)(转自筑梦悠然)...

    Mysql导入导出sql,txt,excel 首先我们通过命令行进入到mysql安装目录的bin目录下,比如我输入的命令行为: d: cd  D:/wamp/bin/mysql/mysql5.6.17 ...

  7. kylinserverv10部署dm8单实例命令行方式安装

    kylinserverv10部署dm8单实例命令行方式安装 dm8-kylinserverv10 目录 一.安装流程图开始是 停服务--备份--卸载检查是否安装 |否 安装 <|结束二.安装步骤 ...

  8. 《Linux指令从入门到精通》——4.3 Linux下全屏幕文本编辑器的命令行方式

    本节书摘来自异步社区<Linux指令从入门到精通>一书中的第4章,第4.3节,作者:宋磊 , 宋馥莉 , 雷文利著,更多章节内容可以访问云栖社区"异步社区"公众号查看 ...

  9. Linux桌面环境与命令行环境切换快捷键,以及linux 图形界面 X Server 关闭 启动

    1 Linux桌面环境与命令行环境切换快捷键 1.从linux桌面环境切换到命令行终端 Ctrl+Alt+F1-F6:进入虚拟终端或虚拟控制台,其中F1~F6对应与6个不同的虚拟终端.进入终端输入用户 ...

最新文章

  1. html页面判断其他div为空,将外部html加载到div中 - 页面加载然后变为空白
  2. (转载)网络抓包原理及常用抓包工具
  3. 使用Java处理除法运算的陷阱
  4. 阅读笔记五2017.2.13
  5. 真香定律!一文带你搞懂Android多线程Handler,成功入职腾讯
  6. 柴犬为什么总是被卡住狗头?
  7. 我的vim配置---jeffy-vim-v2.3.tar
  8. jstl错误:According to TLD or attribute directive in tag file, attribute value does not accept any expr
  9. Postfix配置QA
  10. 重装了新版IDEA,但我之前的个人配置全丢了,太烦了!
  11. VirtualBox中安装Android-x86详解
  12. sqlserver备份还原丢失dbo_编程实现备份和还原数据库_sqlserver
  13. C语言通讯录—简单模拟实现
  14. Linux终端命令工具修改语言切换中文
  15. 图片文字识别如何实现
  16. python struct pack unpack
  17. 2020牛客暑期多校训练营(第九场)I .The Crime-solving Plan of Groundhog
  18. 邮政收件箱界面html,时尚邮件收件箱UI设计效果
  19. Dp-状态压缩:玉米田
  20. BZOJ 1778: [Usaco2010 Hol]Dotp 驱逐猪猡 (高斯消元)

热门文章

  1. GMail, G~Mail
  2. extjs发送请求与controller接收请求
  3. 当鼠标经过时,显示盒子
  4. zip压缩包解密神器,zip压缩包有密码如何解开?
  5. 大连理工数据库第二次上机
  6. C++常用标准模板库——algorithm
  7. 微型真空水泵WAJ280降低工作电压测试报告
  8. ASCII码中blank与space的区别
  9. 【博客插件】Live2d看板娘放到自己的博客上(黑白猫猫+恶魔少女)
  10. Mac12.2下mysql各种蛋疼问题