9月下旬参加了DM数据库的培训,有下面的一丢丢认识,希望对大家有点点帮助!
一、DM简介
达梦数据库管理系统是达梦公司推出的具有完全自主知识产权的高性能数据库管理系统,简称DM。达梦数据库管理系统的最新版本是8.0版本,简称DM8。
DM8采用全新的体系架构,在保证大型通用的基础上,针对可靠性、高性能、海量数据处理和安全性做了大量的研发和改进工作,极大提升了达梦数据库产品的性能、可靠性、可扩展性,能同时兼顾OLTP和OLAP请求,从根本上提升了DM8产品的品质。当今世界,欧美对中国的技术封锁和制裁,国人心中自是气愤,国人当自强,打铁还需自身硬。
在40余年的发展过程中,达梦公司在国产数据库行业持续领跑,先后完成了近60项国家及省市级的科研开发项目,取得了近400项研究成果,皆为国际先进、国内领先水平,有30多项国家、省部级奖励。
达梦公司建立了稳定有效的市场营销渠道和技术服务网络,可为用户提供定制产品和本地化原厂服务,充分满足用户的个性化需求。达梦公司产品已成功应用于金融、电力、航空、通信、电子政务等50多个行业领域。
达梦数据库对标Oracle数据库,在数据库领域取得的成就市有目共睹的;希望我们各领域的国人们全力以赴、赶超欧美,祝愿祖国繁荣富强。
二、达梦架构
1、DM 逻辑结构
数据库是由一个或多个表空间构成的,表空间由一个或多个数据文件构成,数据文件又是由一个或多个簇构成,其中,簇的上级逻辑单元为段,段可以跨越多个数据文件,但是簇只能在一个数据文件中,簇是由磁盘上连续的页构成。页是数据库中最小的分配单元。
2、DM 物理存储结构
物理存储主要由各文件组成,包括配置文件、控制文件、数据文件、重做日志文件、归档日志文件、备份文件、跟踪日志文件等。
3、DM 内存结构
DM数据库管理系统的内存结构主要包括内存池、缓冲区、排序区、哈希区等。根据系统中子模块的不同功能,对内存进行了上述划分,并采用了不同的管理模式。
4、DM 线程
DM服务器使用“对称服务器构架”的单进程、多线程结构。这种对称服务器构架在有效地利用了系统资源的同时又提供了较高的可伸缩性能,这里所指的线程即为操作系统的线程。服务器在运行时由各种内存数据结构和一系列的线程组成,线程分为多种类型,不同类型的线程完成不同的任务。线程通过一定的同步机制对数据结构进行并发访问和处理,以完成客户提交的各种任务。DM数据库服务器是共享的服务器,允许多个用户连接到同一个服务器上,服务器进程称为共享服务器进程。
DM进程中主要包括监听线程、IO线程、工作线程、调度线程、日志线程等。
三、DM使用体验
1、安装部署
DM数据库支持windows和linux系统,安装部署非常简单。DM 数据库在 Linux 环境下支持命令行安装和图形化安装。有linux系统基础的同学,参考官方文档很容易就能安装成功,这是oracle无法比拟的,此处必须为达梦点赞。
2、数据库管理
达梦数据库提供了丰富的工具,用户利用这些工具对数据库进行管理,很容易上手,用户体验非常棒。达梦数据库相关的工具有DM 服务查看器、DM 管理工具、DM 数据迁移工具、SQL 交互式查询工具和DM 数据库配置助手。
DM 管理工具是数据库自带的图形化工具,可以方便快捷的对数据进行管理。在网络允许的条件下,可通过单个管理工具,对多个数据实例进行管理,方便简化 DBA 对数据库的日常运维操作要求。
DM 数据迁移工具 DM DTS 提供了主流大型数据库迁移到 DM、DM 到 DM、文件迁移到 DM 以及 DM 迁移到文件等功能。
得益于 DM 数据库对目前主流大型关系型数据库系统有着业界领先的兼容性,在存储层面、语法层面、接口层面和它们保持高度兼容,借助于 DM 图形界面且采用向导方式引导各个迁移步骤的 DTS 工具,移植工作可以变得非常的简单。
通过数据库配置助手可以方便地创建数据库实例、删除数据库实例、注册数据库服务和删除数据库服务。
3、学习笔记
3.1系统及版本:麒麟V10+DM8
3.2安装
软件安装路径:/dm8
数据库创建路径:/dm8/data
归档路径:/dm8/arch
备份路径:/dm8/backup
小提示:麒麟V10安装DM8前,检查网络及防火墙,磁盘查看/tmp(一般2G就够了)
/mnt/dm
3.2.1安装用户和用户组:(root下执行)
groupadd dinstall (创建用户组)
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba (创建dmdba用户)
passwd dmdba(设置dmdba用户密码)
chown dmdba:dinstall /dm8(创建安装路径)
3.2.2图形化安装DM8
xhost +(root下)
echo $DISPLAY(root下获取DISPLAY值,记下来,我自己的机器是:0)
su - dmdba(进入dmdba用户----以下操作均在dmdba下)
:0(root下获取的DISPLAY值,仅对当前会话有效)
/mnt/dm,执行安装)
/dm8就行。
3.3命令行卸载(dmdba下)
cd /dm8
./uninstall.sh -i
3.4创建数据库(DM数据库配置助手,图形化工具,先设置 DISPLAY 变量,dmdba下)
3.4.1创建数据库
cd /dm8 /tool
./dbca.sh(启动数据库配置助手)
/dm8/data、数据库名、实例名、端口号、簇大小、页大小、日志文件大小,创建DMHR示例库(方便自己学习的示例库)
3.4.2连接数据库
cd /dm8 /bin
./disql sysdba/Dameng123:5236(连接数据库的简单方法,端口号密码别记错啦)
数据库配置助手还可以删除数据库实力、注册/删除数据库服务。
3.5初学者常用的客户端工具
3.5.1DM数据库配置助手(上面提到的)
3.5.2管理工具
cd /dm8 /tool
./manager
3.5.3控制台工具
cd /dm8 /tool
./console
3.5.4服务查看器(root下)
cd /dm8/tool
./dmservice.sh
3.6基础操作
3.6.1表空间
(1)创建表空间: create tablespace tbs DATAFILE 'TBS01.DBF' SIZE 32;
(2)修改数据库文件扩展属性: alter tablespace tbs datafile 'TBS01.DBF' AUTOEXTEND off;
(3)添加数据文件: alter tablespace tbs add datafile 'TBS02.DBF' SIZE 32 AUTOEXTEND off;
(4)修改数据文件大小 :alter tablespace tbs Resize DATAFILE 'TBS01.DBF' to 128;
(5)表空间重命名: 46 alter tablespace tbs RENAME TO dmtbs;
(6) 空的自定义表空间可以删除,系统预定义表空间不能删除: drop tablespace dmtbs;
3.6.2管理数据文件
(1) 打开数据文件的自动扩展: alter tablespace tbs datafile '/dm8/data/TBS/TBS01.DBF' AUTOEXTEND on NEXT 4 MAXSIZE 10240;
(2)数据文件的迁移:
alter tablespace tbs offline;
alter tablespace tbs RENAME DATAFILE 'TBS01.DBF' TO '/dm8/data/TBS/TBS01.DBF';
alter tablespace tbs RENAME DATAFILE 'TBS02.DBF' TO '/dm8/data/TBS/TBS02.DBF';
alter tablespace tbs online;
3.6.3参数查询与修改
v$parameter t where t.name like 'COMPATIBLE_MODE';(参数名)
alter system set ‘参数名’=参数值 spfile|memory|both;
3.6.4重做日志
alter database mount;(数据库需要在mount状态下进行管理重做日志)
Alter database add logfile ‘XXX’size xx;(添加联机日志 )
Alter database resize logfile ‘XXX’ to xx;(修改联机日志大小 )
Alter database rename logfile ‘XXX’ to xx; (迁移联机日志)
alter database open;
3.6.5归档管理(归档和非归档都需要在数据库mount状态下进行)
(1)开启归档
alter database mount;
alter database ARCHIVELOG;
alter database add ARCHIVELOG 'type=local, dest=/dm8/arch, file_size=64,space_limit=10240';
alter database open;
(2) 关闭归档
alter database mount;
alter database NOARCHIVELOG;
alter database delete ARCHIVELOG 'type=local, dest=/dm8/arch, file_size=64,space_limit=10240';
alter database open;
3.6.6用户管理
图形化创建用户很方便,打开管理工具(见3.5.2),连接数据库后,选中【用户】右键【新建用户】即可。
3.6.7模式:当系统建立一个用户时,会自动生成一个对应的模式,用户还可以建立其他模式
管理表:新建表、插入字段、修改字段、添加约束......都是基本的SQL啦
SQL查询:
Select 查询字段信息,聚合函数
From 表名/视图名/子查询
Where 条件过滤
Group by 分组列
Having 分组后聚合条件的过滤
Order by 排序列
导入数据:命令行连接数据库(3.4.2),然后执行命令(很方便,不用手动commit)
start /dm8/backup/DEPT.sql
3.6.8索引:
create index ix_test_name on t_test(name);(新建索引)
3.6.9脱机备份(控制台工具图形化操作)
控制台工具--备份还原--配置(可以进行库备份、归档备份的完全备份、增量备份等)
3.6.10联机备份(管理工具图形化操作)
管理工具--备份(右键)--新建备份(填写备份信息即可)
3.6.11还原和恢复数据库
控制台工具--备份还原--【获取备份】--【还原】--【恢复】--【更新Magic】
3.6.12逻辑备份
(1)全库导入导出
导出: ./dexp userid=sysdba/Dameng123:5238 directory=/dm8/backup/dexp file=full.dmp log=full.log full=y
导入: ./dimp userid=sysdba/Dameng123:5238 directory=/dm8/backup/dexp file=full.dmp log=full.log full=y
(2)按用户导入导出
导出: ./dexp userid=sysdba/Dameng123:5236 directory=/dm8/backup/dexp file=HRTEST.dmp log=HRTEST.log owner=HRTEST
导入: ./dimp SYSDBA/SYSDBA@192.168.109.22:5237 file=/home/dmdba/dmdbms/data/dexp_user/ dexp_user.dmp log=dimp_user.log owner=ttt directory=/ home/dmdba/dmdbms/data/dimp_user
(3)按模式导入导出
导出: dexp userid=sysdba/Dameng123:5236 directory=/dm8/backup/dexp file=DMHR.dmp log=DMHR.log schemas=DMHR
导入: dimp userid=sysdba/Dameng123:5238 directory=/dm8/backup/dexp file=DMHR.dmp log=impDMHR.log REMAP_SCHEMA=DMHR:DMTEST
3.6.13作业管理
代理--创建代理环境(代理下即有【作业】)--右键【作业】--新建作业--填写作业名--添加作业步骤--添加作业调度--完成