国产达梦数据库DM8学习心得

由于项目需要,公司安排学习并考取国产数据库达梦数据库(DM8)DCA认证,上课总共三天,上课内容主要包括达梦数据库体系结构、安装部署、配置实例、DM数据库各个管理工具及备份恢复还原等,上课内容都很实用,以下是个人学习笔记:

一、下载及版本:

达梦官方有提供试用版本,官方下载链接为:http://eco.dameng.com/docs/zh-cn/start/dm-version-acquisition.html

达梦数据库支持安 装 在 多 种 计 算 机 操 作 系 统 平 台 上 , 典 型 的 操 作 系 统 有 : Windows(Windows2000/2003/XP/Vista/7/8/10/Server 等)、Linux、HP-UNIX、 Solaris、FreeBSD 和 AIX 等。对于不同的系统平台,有不同的安装步骤。具体可以参考官方安装部署文档。官方提供了快速上手指导文档,链接为:http://eco.dameng.com/docs/zh-cn/start/install-dm-linux-prepare.html

达梦数据库目前主要有四个版本:开发版(用于开发测试,功能有限)、标准版(不支持集群,适合中小型企业)、企业版(支持集群,功能更齐全、适应各类企业需要)和安全版(拥有企业版所有功能外,增加了安全功能)

二、达梦数据库体系结构

达梦数据库是一个单进程多线程,如下图:

三、安装部署

本文使用的操作系统版本为国产操作系统中标麒麟7(考试的操作系统),该操作系统与centos7操作系统相似。

1、安装前准备:

安装DM8前,检查安装gcc和glibc包是否已安装:

[root@test Packages]# rpm -qa |grep gcc
gcc-gfortran-4.8.5-36.el7.ns7.01.x86_64
gcc-4.8.5-36.el7.ns7.01.x86_64
gcc-gnat-4.8.5-36.el7.ns7.01.x86_64
libgcc-4.8.5-36.el7.ns7.01.x86_64
gcc-objc-4.8.5-36.el7.ns7.01.x86_64
gcc-objc++-4.8.5-36.el7.ns7.01.x86_64
gcc-c++-4.8.5-36.el7.ns7.01.x86_64
[root@test Packages]# 
[root@test Packages]# rpm -qa |grep glibc
glibc-common-2.17-260.el7.ns7.01.x86_64
glibc-headers-2.17-260.el7.ns7.01.x86_64
glibc-devel-2.17-260.el7.ns7.01.x86_64
glibc-2.17-260.el7.ns7.01.x86_64
[root@test Packages]# 


设置文件打开数(修改配置文件,永久生效),如果文件打开数太小,安装时可能报错

[root@test /]# vi /etc/security/limits.conf

增加:

dmdba soft nofile 10240

dmdba hard nofile 65536 

2、安装DM8

新建用户组和用户

[root@test /]#  groupadd dinstall 
[root@test /]# 
[root@test /]#  useradd -g dinstall dmdba 
[root@test /]# 
[root@test /]# passwd dmdba
更改用户 dmdba 的密码 。
新的 密码:
无效的密码: 密码未通过字典检查 - 过于简单化/系统化
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@test /]# 

新建安装目录,并修改目录所属用户组和用户
[root@test /]# mkdir /dm8
[root@test /]# 
[root@test /]#  chown dmdba:dinstall /dm8 

[root@test /]# ll -h
总用量 26K
lrwxrwxrwx.   1 root  root        7 4月  11 19:50 bin -> usr/bin
dr-xr-xr-x.   4 root  root     4.0K 4月  11 21:16 boot
drwxr-xr-x   20 root  root     3.3K 4月  11 21:15 dev
drwxr-xr-x    2 dmdba dinstall    6 4月  22 09:57 dm8
drwxr-xr-x. 144 root  root     8.0K 4月  22 09:57 etc
drwxr-xr-x.   4 root  root       30 4月  22 09:56 home

a、DM8数据库软件安装

DM8安装镜像挂载到操作系统后,安装文件为: DMInstall.bin  

[root@test /]# cd /opt
[root@test opt]# ls
 DMInstall.bin  
[root@test opt]# chmod 755 ./DMInstall.bin 
[root@test opt]# 
[root@test opt]# echo $DISPLAY
:0
[root@test opt]# xhost +
access control disabled, clients can connect from any host
[root@test opt]# 
[root@test opt]# su - dmdba
上一次登录:四 4月 22 10:04:00 CST 2021pts/0 上
[dmdba@test ~]$ echo $DISPLAY

[dmdba@test ~]$ export DISPLAY=:0
[dmdba@test ~]$ cd /opt
[dmdba@test opt]$ ls
cobra  DMInstall.bin  rh
[dmdba@test opt]$ ./DMInstall.bin 

开始进入安装界面

生产环境需要安装key,本文为测试版本,没有key,跳过即可

默认典型安装

选择上文创建的安装目录:/dm8

 

确认信息无误后开始安装

 

最后root用户执行下脚本即可


 

 

b、DM8数据库实例创建和

默认数据库软件安装完成后会弹出窗口询问是否初始化数据库

指定数据库实例目录

指定数据库名和实例名,默认端口5236,可以自己修改默认端口

指定数据库簇和页大小,注意簇和页大小在实例创建完成后不能更改。

确认信息无误后,开始创建数据库实例

最后用root命令执行:

使用 systemctl status DmServiceDMTEST.service可以看到数据库实例是已经开启了。

配置dmdba用户环境变量,方便后面调用tools工具

[dmdba@test ~]$ vi .bash_profile
[dmdba@test ~]$ source .bash_profile
[dmdba@test ~]$ 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:/dm8/bin:/dm8/tool" 
[dmdba@test ~]$ 
 

四、配置监听连接DM8数据库

[root@test /]# xhost +
access control disabled, clients can connect from any host
[root@test /]# su - dmdba
上一次登录:四 4月 22 10:29:59 CST 2021pts/0 上
[dmdba@test ~]$ export DISPLAY=:0
[dmdba@test ~]$ nca.sh

以上配置实际是修改dm_svc.conf文件内容,可以直接编辑此文件配置网络连接:

[dmdba@test etc]$ cat dm_svc.conf 
TIME_ZONE=(480)
LANGUAGE=(cn)
DMTEST=(127.0.0.1:5236)

网络连接配置完成后,使用disql命令连接到数据库:

[dmdba@test etc]$ disql sysdba/dm1234567

服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间: 5.520(毫秒)
disql V8
SQL> 
SQL> exit
[dmdba@test etc]$ 
[dmdba@test etc]$ disql sysdba/dm1234567@dmtest

服务器[127.0.0.1:5236]:处于普通打开状态
登录使用时间: 4.842(毫秒)
disql V8
SQL> 
SQL> exit;
[dmdba@test etc]$ 

 

五、常用工具介绍:

数据库软件安装完成后,在安装目录下的tool目录有很多工具,

[dmdba@test tool]$ ls
analyzer       dbca.sh       dts.bmp         monitor.bmp            templates
analyzer.bmp   disql         dts_cmd_run.sh  nca.sh                 workspace
backup.xml     dmagent       log4j.xml       p2
configuration  dmservice.sh  manager         plugins
console        dropins       manager.bmp     restore.xml
console.bmp    dts           monitor         server_connection.xml
[dmdba@test tool]$ pwd
/dm8/tool


manager 工具:主要是用户、角色、表空间、模式下对象(表、索引、约束、视图、函数、触发器)的管理,联机 备份和还原等 

console  工具: 可以修改数据库初始化参数(修改后需重启数据库) 脱机备份和还原 
 
 dts 工具:主要用来做数据库迁移

monitor工具:数据库性能监控

 

六、使用manager工具
[dmdba@test tool]$ manager
 

七、开启归档

[dmdba@test ~]$ disql sysdba/dm1234567

服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间: 3.207(毫秒)
disql V8
SQL> select name,arch_mode from v$database ;

行号     NAME   ARCH_MODE
---------- ------ ---------
1          DMTEST N

已用时间: 2.777(毫秒). 执行号:1803.

数据库启动到mount状态:
SQL> alter database mount;
操作已执行
已用时间: 00:00:01.756. 执行号:0.
SQL> select name,status$ from v$instance;

行号     NAME   STATUS$
---------- ------ -------
1          DMTEST MOUNT

已用时间: 0.981(毫秒). 执行号:1804.

开启归档:
SQL> alter database archivelog;
操作已执行
已用时间: 6.424(毫秒). 执行号:0.


配置归档路径及文件大小:
SQL> alter database add archivelog 'dest=/dm8/arch,type=local,file_size=64,space_limit=10240';
操作已执行
已用时间: 1.780(毫秒). 执行号:0.

打开数据库:
SQL> alter database open;
操作已执行
已用时间: 00:00:01.746. 执行号:0.
SQL> select name,status$ from v$instance;

行号     NAME   STATUS$
---------- ------ -------
1          DMTEST OPEN

已用时间: 0.470(毫秒). 执行号:1805.

SQL> select name,arch_mode from v$database ;

行号     NAME   ARCH_MODE
---------- ------ ---------
1          DMTEST Y

已用时间: 0.630(毫秒). 执行号:1807.

 

八、联机备份和脱机还原

联机备份:

 

脱机备份:

1、停库

[root@test ~]# systemctl status DmServiceDMTEST.service 
● DmServiceDMTEST.service - DM database instance service
   Loaded: loaded (/usr/lib/systemd/system/DmServiceDMTEST.service; enabled; vendor preset: disabled)
   Active: active (running) since 四 2021-04-22 10:25:01 CST; 40min ago
  Process: 27265 ExecStart=/dm8/bin/DmServiceDMTEST start (code=exited, status=0/SUCCESS)
 Main PID: 27289 (dmserver)
    Tasks: 54
   CGroup: /system.slice/DmServiceDMTEST.service
           └─27289 /dm8/bin/dmserver /dm8/data/DMTEST/dm.ini -noconsole

4月 22 10:24:45 test systemd[1]: Starting DM database instance service...
4月 22 10:25:01 test DmServiceDMTEST[27265]: [37B blob data]
4月 22 10:25:01 test systemd[1]: Started DM database instance service.
[root@test ~]# 
[root@test ~]# systemctl stop DmServiceDMTEST.service 
[root@test ~]# 
2、使用console工具脱机还原

[root@test ~]# xhost +
access control disabled, clients can connect from any host
[root@test ~]# 
[root@test ~]# 
[root@test ~]# su - dmdba
上一次登录:四 4月 22 10:57:39 CST 2021pts/2 上
[dmdba@test ~]$ export DISPLAY=:0
[dmdba@test ~]$ console
 

还原:

恢复:

 

更新魔数,达梦数据库进行库级恢复(表空间级)后,还需要更新魔数:

脱机恢复后,数据库实例处于关闭状态,需要手动启动数据库实例:

[root@test ~]# systemctl start DmServiceDMTEST.service
[root@test ~]# systemctl status DmServiceDMTEST.service
● DmServiceDMTEST.service - DM database instance service
   Loaded: loaded (/usr/lib/systemd/system/DmServiceDMTEST.service; enabled; vendor preset: disabled)
   Active: active (running) since 四 2021-04-22 11:11:57 CST; 11s ago
  Process: 79290 ExecStop=/dm8/bin/DmServiceDMTEST stop (code=exited, status=0/SUCCESS)
  Process: 79557 ExecStart=/dm8/bin/DmServiceDMTEST start (code=exited, status=0/SUCCESS)
 Main PID: 79579 (dmserver)
    Tasks: 54
   CGroup: /system.slice/DmServiceDMTEST.service
           └─79579 /dm8/bin/dmserver /dm8/data/DMTEST/dm.ini -noconsole

4月 22 11:11:42 test systemd[1]: Starting DM database instance service...
4月 22 11:11:57 test DmServiceDMTEST[79557]: [37B blob data]
4月 22 11:11:57 test systemd[1]: Started DM database instance service.
[root@test ~]# 
 

总结

经过三天的培训,个人收获良多,感觉达梦数据库的图形化工具很齐全,很多操作都可以在图形化界面上执行,这样降低了达梦数据库的学习门槛,方便更多人学习和使用达梦数据库。最后感谢达梦培训老师程老师,讲得很仔细,还给我们演示了很多实际生产可能出现的情景。

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值