达梦数据库DM8

达梦数据库

DM8(达梦8)是一款由武汉达梦数据库有限公司基于C/C++语言开发的国产关系型数据库,有支持X86和ARM平台的版本,可以部署到开源系统CentOS6.X+及国产系统KyLin-V4+上;作为国产关系型数据库,其DM8与Oracle数据库的设计思路非常相似,其次达梦数据库是一款国产数据库,但由于不支持开源免费版本,所以目前在国内的市场占有率仍然很低;以下以X86_64平台上的CentOS7.4操作系统为例构建DM8数据库生产环境。

1、准备工作

  • 安装必要的依赖包
> mkdir -p /install /software
> chmod 777 /install /software
> yum install -y lrzsz tree lsof telnet dos2unix
  • 创建用户及组
> groupadd dinstall
> useradd -g dinstall -md /home/dmdba -s /bin/bash dmdba
> grep dmdba /etc/passwd
dmdba:x:1001:1001::/home/dmdba:/bin/bash
> id dmdba
uid=1001(dmdba) gid=1001(dinstall) 组=1001(dinstall)
> passwd dmdba
更改用户 dmdba 的密码 
新的 密码:#密码也为: dmdba
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新

备注:
不建议使用root用户

  • 创建DM安装目录并授予目录权限
> mkdir -p /software/dm8
> chown -R dmdba:dinstall /software/dm8
> ll -ld /software/dm8 
drwxr-xr-x 2 dmdba dinstall 6 8月  28 11:42 /software/dm8
  • 修改文件打开句柄数
> vi /etc/security/limits.conf
dmdba soft nofile 102400
dmdba hard nofile 204800

root soft nofile 102400
root hard nofile 204800

备注:
修改完成后退出并重新登录后生效:

> ulimit -n
102400

2、安装DM数据库

  • 挂载安装镜像
> mkdir -p /mnt/dm
> unzip dm8_20220525_x86_rh6_64.zip -d /install/zip/
> mount /install/zip/dm8_20220525_x86_rh6_64_ent/dm8_20220525_x86_rh6_64.iso /mnt/dm
mount: /dev/loop0 写保护,将以只读方式挂载
> df -h|grep /mnt
/dev/loop0               911M  911M     0  100% /mnt/dm

#下载DM安装手册
> sz '/mnt/dm/DM8 Install.pdf'

备注:
下载的这个安装手册适合于授权(购买License)用户从零开始安装搭建DM环境

  • 切换到dmdba用户
> su -l dmdba
> cd /mnt/dm/
> ls
DM8 Install.pdf  DMInstall.bin
  • 安装DM数据库
> ./DMInstall.bin -i
请选择安装语言(C/c:中文 E/e:英文) [C/c]:
解压安装程序....

是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n

是否设置时区? (Y/y:是 N/n:否) [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 典型安装]:
所需空间: 1585M

请选择安装目录 [/home/dmdba/dmdbms]:/software/dm8
可用空间: 36G
是否确认安装路径(/software/dm8)? (Y/y:是 N/n:否)  [Y/y]:y

安装前小结
安装位置: /software/dm8
所需空间: 1585M
可用空间: 36G
版本信息: 
有效日期: 
安装类型: 典型安装
是否确认安装? (Y/y:是 N/n:否):y
2022-08-28 13:18:41 
[INFO] 安装达梦数据库...
2022-08-28 13:18:42 
[INFO] 安装 基础 模块...
2022-08-28 13:18:46 
[INFO] 安装 服务器 模块...
2022-08-28 13:18:47 
[INFO] 安装 客户端 模块...
2022-08-28 13:18:52 
[INFO] 安装 驱动 模块...
2022-08-28 13:19:00 
[INFO] 安装 手册 模块...
2022-08-28 13:19:01 
[INFO] 安装 服务 模块...
2022-08-28 13:19:01 
[INFO] 移动日志文件。
2022-08-28 13:19:03 
[INFO] 安装达梦数据库完成。

请以root系统用户执行命令:
/software/dm8/script/root/root_installer.sh

安装结束
  • 查看安装结果
> ls /software/dm8/
bin  bin2  desktop  doc  drivers  include  jar  jdk  license_en.txt  license_zh.txt  log  samples  script  tool  uninstall  uninstall.sh  web
  • 按提示执行root用户下的安装脚本
#首先退出到root用户下
> exit
登出

#再执行DM服务安装脚本
> /software/dm8/script/root/root_installer.sh
移动 /software/dm8/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服务

3、数据库初始化

  • 初始化数据库目录
#查看帮助信息
> ./dminit help

#初始化(创建)数据库
> ./dminit PATH=/software/dm8/data PAGE_SIZE=16 SYSDBA_PWD=dameng123 DB_NAME=DMOA INSTANCE_NAME=DMOASERVER PORT_NUM=5238
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2023-05-25
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL

 log file path: /software/dm8/data/DMOA/DMOA01.log

 log file path: /software/dm8/data/DMOA/DMOA02.log

write to dir [/software/dm8/data/DMOA].
create dm database success. 2022-08-28 15:27:29

备注:
注意参数名是不区分大小写的;
PAGE_SIZE参数:
用于指定页的尺寸,单位是KB;DB_NAME参数用于指定数据库目录名称(即数据库名称)
INSTANCE_NAME参数:
用于指定数据库实例名称,PORT_NUM参数用于指定数据库实例的端口(默认值为5236)
SYSDBA_PWD参数:
用于指定管理员用户的密码,DM数据库中的预定义用户密码默认与用户名相同,即SYSDBA的密码也是SYSDBA
PATH参数:
用于指定数据库目录,执行dminit脚本时将在数据库目录下创建以数据库名称(由DB_NAME参数指定)为名字的文件夹,该文件夹下用来存放初始化此数据库的所有文件,即所有的数据文件存放到此数据库目录下,一个数据库对应一个文件夹

如果需要删除数据库则直接删除数据库目录即可:

rm -rf /software/dm8/data/DMOA

  • 注册并启动数据库例程服务
#退出到root用户下
> exit

#切换到服务安装脚本目录下
> cd /software/dm8/script/root/
#查看脚本帮助
> ./dm_service_installer.sh -h
#执行服务安装脚本
> ./dm_service_installer.sh -t dmserver -p DMOASERVER -dm_ini /software/dm8/data/DMOA/dm.ini
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceDMOASERVER.service to /usr/lib/systemd/system/DmServiceDMOASERVER.service.
创建服务(DmServiceDMOASERVER)完成

备注:
DM数据库例程服务被注册后将被自动设置为开机启动;
从-dm_ini参数值可以看出,启动的服务是指向某个特定数据库例程的服务,而不是整个DM进程,可以认为每个DM的数据库例程都需要注册一个服务。

#启动数据库例程服务

> systemctl start DmServiceDMOASERVER
> lsof -itcp:5238
COMMAND    PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
dmserver 47477 dmdba    4u  IPv6 143255      0t0  TCP *:5238 (LISTEN)

备注:
-t参数:用于指定服务类型(DM官方约定的几种枚举类型)
-p参数:用于指定服务名后缀
-dm_ini参数:用于指定dm.ini配置文件位置

说明:
服务注册后将往数据库系统安装目录下的bin目录中写入服务启停脚本、DMAP备份服务脚本等,如果需要移除服务可以执行下面的脚本:

> ./dm_service_uninstaller.sh -n DmServiceDMOASERVER

4、客户端测试

  • 安装rlwrap解决客户端工具组件的退格问题
#安装readline组件
> yum install -y readline readline-devel

#安装rlwrap组件
> tar -zxvf rlwrap-0.37.tar.gz -C /install/tar/
> cd /install/tar/rlwrap-0.37
> ./configure
> echo $?
0
> make && make install
> echo $?
0

#使用rlwrap组件
> cd /software/dm8/bin
> rlwrap ./disql sysdba/dameng123:5238

备注:
在每个要执行的命令之前增加一个rlwrap即可解决退格问题

  • 使用bin工具连接数据库
> cd /software/dm8/bin/
> ./disql sysdba/dameng123@10.4.7.80:5238
服务器[10.4.7.80:5238]:处于普通打开状态
登录使用时间 : 6.307(ms)
disql V8
SQL> select * from v$database;
行号     NAME CREATE_TIME         ARCH_MODE LAST_CKPT_TIME      STATUS$     ROLE$       MAX_SIZE             TOTAL_SIZE           DSC_NODES  
---------- ---- ------------------- --------- ------------------- ----------- ----------- -------------------- -------------------- -----------
           OPEN_COUNT  STARTUP_COUNT        LAST_STARTUP_TIME  
           ----------- -------------------- -------------------
1          DMOA 2022-08-28 15:27:27 N         2022-08-28 16:51:50 4           0           0                    12928                1
           1           1                    2022-08-28 16:09:55

已用时间: 4.431(毫秒). 执行号:55200.
SQL> exit
  • 使用tool连接数据库:
> cd /software/dm8/tool/
> ./disql #后面不带参数
disql V8
SQL> conn sysdba/dameng123:5238
服务器[LOCALHOST:5238]:处于普通打开状态
登录使用时间 : 2.679(ms)
SQL> select distinct para_type from v$dm_ini;
行号     PARA_TYPE
---------- ---------
1          READ ONLY
2          SYS
3          IN FILE
4          SESSION
已用时间: 6.821(毫秒). 执行号:600.
SQL> exit
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lixiang2114

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值