本周主要从以下几个方面进行本人对达梦数据库学习的分享,学习进度和学习情况因人而异,仅供参考。

一、达梦数据库的体系架构
二、达梦数据库的安装
三、达梦数据库的数据类型
四、达梦数据库的DDL、DML、DCL语句
五、达梦数据库登录、创建用户、角色等非模式对象的基本操作,以及权限的管理
六、达梦数据库的客户端工具MNAGER和DTS
一、达梦数据库的体系架构
了解一个数据库的体系架构才能更好的使用它,所以先从达梦数据库的体系架构来进行介绍。
达梦数据库在架构上主要分为四部分:逻辑存储机构,物理存储结构,内存结构,和线程。
逻辑存储结构;
1. 数据库由一个或多个表空间组成;
2. 每个表空间由一个或多个数据文件组成;
3. 每个数据文件由一个或多个簇组成;
4. 段是簇的上级逻辑单元,一个段可以跨多个数据文件;
5. 簇由磁盘上连续的页组成,一个簇总是在一个数据文件中;
6. 页是数据库中最小的分配单元,也是数据库中使用的最小的 IO 单元。
物理存储结构:
物理存储结构一般为保存在磁盘上的物理文件:
典型的物理存储结构包括:用于进行功能设置的配置文件;用于记录文件分布的控制文件;用于保存用户实际数据的数据文件、重做日志文件、归档日志文件、备份文件;用来进行问题跟踪的跟踪日志文件等
这里简单介绍以下dm.ini,以后会详细介绍,
每创建一个 DM 数据库,就会自动生成 dm.ini 文件。dm.ini 是 DM 数据库启动所必须的配置文件,通过配置该文件可以设置 DM 数据库服务器的各种功能和性能选项,里面有很多重要的参数,通过有经验的数据库管理人员设置不同的参数可以达到不同的效果。
内存结构:
DM 数据库管理系统的内存结构主要包括内存池、缓冲区、排序区、哈希区等。根据系统中子模块的不同功能,对内存进行了上述划分,并采用了不同的管理模式。
接下来简单介绍其中的几种:内存池则可一次向操作系统申请一片较大内存,当系统在运行过程中需要申请内存时,可在共享内存池内进行申请,当用完该内存时,再释放掉,即归还给共享内存池。
数据缓冲区是DM Server 在将数据页写入磁盘之前以及从磁盘上读取数据页之后,数据页所存储的地方,基于LRU算法,可以将经长访问的数据保留,提高I/O效率。
排序缓冲区提供数据排序所需要的内存空间。当用户执行 SQL 语句时,常常需要进行排序,所使用的内存就是排序缓冲区提供的。在每次排序过程中,都首先申请内存,排序结束后再释放内存。
DM线程:
DM 服务器使用“对称服务器构架”的单进程、多线程结构。这种对称服务器构架在有效 地利用了系统资源的同时又提供了较高的可伸缩性能
DM 进程中主要包括监听线程、IO 线程、工作线程、调度线程、日志线程等,下面简单介绍几个:
监听线程主要的任务是在服务器端口上进行循环监听,一旦有来自客户的连接请求,监 听线程被唤醒并生成一个会话申请任务,加入工作线程的任务队列,等待工作线程进行处理。 它在系统启动完成后才启动,并且在系统关闭时首先被关闭。为了保证在处理大量客户连接 时系统具有较短的响应时间,监听线程比普通线程优先级更高。
工作线程是 DM 服务器的核心线程,它从任务队列中取出任务,并根据任务的类型进
IO 线程的职责就是处理这些 IO 操作。通常情况下,DM Server 需要进行 IO 操作的时机主要有以下三种: 1. 需要处理的数据页不在缓冲区中,此时需要将相关数据页读入缓冲区; 2. 缓冲区满或系统关闭时,此时需要将部分脏数据页写入磁盘; 3. 检查点到来时,需要将所有脏数据页写入磁盘。 IO 线程在启动后,通常都处于睡眠状态,当系统需要进行 IO 时,只需要发出一个 IO请求,此时 IO 线程被唤醒以处理该请求,在完成该 IO 操作后继续进入睡眠状态。
调度线程用于接管系统中所有需要定时调度的任务。调度线程每秒钟轮询一次,负责的 任务有以下一些: 1. 检查系统级的时间触发器,如果满足触发条件则生成任务加到工作线程的任务队列 由工作线程执行; 2. 清理 SQL缓存、计划缓存中失效的项,或者超出缓存限制后淘汰不常用的缓存项; 3. 检查数据重演捕获持续时间是否到期,到期则自动停止捕获; 4. 执行动态缓冲区检查。根据需要动态扩展或动态收缩系统缓冲池; 5. 自动执行检查点。为了保证日志的及时刷盘,减少系统故障时恢复时间,根据 INI 参数设置的自动检查点执行间隔定期执行检查点操作; 6. 会话超时检测。当客户连接设置了连接超时,定期检测是否超时,如果超时则自 动断开连接; 7. 必要时执行数据更新页刷盘; 8. 唤醒等待的工作线程。
二、达梦数据库的安装
达梦数据库在Windows上的安装很简单,下载安装包,根据提示就可以完成安装,我在Linux上安装遇到了几个问题,我还没有解决,下周我会把这个问题解决然后进行更新。
三、达梦数据库的数据类型
DM数据类型可以分为四大类:常规数据类型(字符和数值型),位串数据类型,日期时间数据类型,多媒体数据类型;
达梦数据库DM8我目前练习了48种数据类型,下面附上测试SQL;
建表包括目前的所有数据类型:
  1. 1 create table tmp_lj_1(a_1 char(32),a_2 character(32),a_3 varchar(32),a_4 varchar2(32),a_5 numeric (4,1),
  2. 2 a_6 decimal(4,1),a_7 dec(4,1),a_8 number(4,1),a_9 integer,a_10 int,a_11 bigint,a_12 tinyint,a_13 byte,
  3. 3 a_14 smallint,a_15 binary,a_16 varbinary,a_17 float,a_18 double,a_19 real,a_20 double precision,
  4. 4 a_21 bit,
  5. 5 a_22 date,a_23 time,a_24 timestamp,a_25 interval year to month,a_26 interval year,a_27 interval month,
  6. 6 a_28 interval day,a_29 interval day to hour,a_30 interval day to minute,a_31 interval day to second,
  7. 7 a_32 interval hour,a_33 interval hour to minute,a_34 interval hour to second,a_35 interval minute,a_36 interval minute to second,a_37 interval second,
  8. 8 a_38 time with time zone,a_39 timestamp with time zone,a_40 timestamp with local time zone,
  9. 9 a_41 text,a_42 long,a_43 longvarchar,a_44 image,a_45 longvarbinary,a_46 blob,a_47 clob,a_48 bfile);
插入数据并验证:
  1. 1 insert into tmp_lj_1 values('a1','a2','a3','a4',10.5,10.6,10.7,10.8,9,10,-11,-12,-13,-14,0xF,0x10,1.17,1.18,1.19,1.20,
  2. 2 0,
  3. 3 '2021.5.20','12:10:32','2021-5-20 12:10:32.000000','21-5','21','05',
  4. 4 '20','20 9','20 12:30','20 12:30:30.000000',
  5. 5 '18','18:20','18:20:30.000000','22','22:30.000000','22.000000',
  6. 6 '18:26:32 +8:00','2021-5-20 18:30:30 +8:00','2021-5-20 18:36:30 +8:00',
  7. 7 'AA','AA','AA','0X2F','0X2F','0X2F','AA',NULL)
  8. 8
  9. 9 SELECT * from tmp_lj_1 --查看数据
四、达梦数据库的DDL、DML、DCL语句
1. DDL语句,用户、模式、基表、视图、索引、序列、全文索引、存储过程、触发器等数据库对象的定义和删除语句
2. DML查询(含全文检索)、插入、删除、修改语句;
3. DCL:授权语句、回收权限语句
这些语句和目前主流的SQL语句基本类似,下面会对部分语句进行测试,大家也可以自行探索。
五、达梦数据库登录、创建用户、角色等非模式对象的基本操作,以及权限的管理
数据库登录输入主机名(本机一般为LOCALHOST或者输入本机IP地址)通信端口号和对应的用户密码即可
创建用户
  1. 1 CREATE USER LOGIN_001 IDENTIFIED BY LOGIN_001; --创建用户
授权DBA
  1. 1 grant DBA to LOGIN_001 --授权DBA
删除用户
  1. 1 drop user LOGIN_001 cascade; --删除用户
创建模式
这里解释以下模式:
在 DM 中,一个用户可以创建多个模式,一个模式中的对象(表、视图)可以被多个用户使用。 系统为每一个用户自动建立了一个与用户名同名的模式作为默认模式,相当于一个存储文件的文件夹。
  1. 1 CREATE SCHEMA SCHE_001 --创建模式
  2. 2
  3. 3 SET SCHEMA SCHE_001; --切换SCHE——001模式
  4. 4
  5. 5 CREATE TABLE SCHE_T(A INT); --创建SCHE_T
将表SCHE_T的表级SELECT、INSERT权限授予用户USER_001
  1. 1 grant select,insert on sche_t to user_001 --对应授权
六、达梦数据库的客户端工具MNAGER和DTS
MANAGER: DM管理工具
   
   
新建连接
创建连接数据库的对象导航,不进行保存,下次开启后需重新连接。
注册连接
创建连接数据库的对象导航,进行保存,下次开启后对象导航存在,可直接进行连接。
连接时选择对应的主机名,端口,用户名和密码即可
工具栏可以新建SQL窗口,保存和打开SQL脚本到本地,还可以打开主页查看文档和工具导航,也可以打开SQL调试。
对象导航:可以查看当前连接信息,包括模式,表空间,用户等等,右键对应模块,可以进行创建或者删除操作。
SQL窗口:进行SQL脚本的编写包括查询,函数,存储过程等等。
脚本管理:保存常用或需要记忆的脚本,可以很方便打开
函数:系统函数以及使用说明
日志:查看执行日志
代理环境:配置作业自动执行,包括定时备份,每日建表以及更新等操作。
 
DTS:
DM 数据迁移工具 DM DTS 提供了主流大型数据库迁移到 DM、DM 到 DM、文件迁移到 DM 以及 DM 迁移到文件等功能。
以MySQL到达梦为例:

打开工具,新建工程,输入工程名字入MySQL_dm,会出现一个工程。
展开新建的工程,右键迁移选择新建迁移,输入迁移名称,进入下一步
会介绍达梦支持的迁移类型,下一步:
选择MySQL到DM:
输入源数据库和目的数据库的对应信息:
选择对应的模式和需要迁移的表,视图等
查看迁移任务:
完成迁移,并再DM中查看数据:

达梦数据库产品支持技术学习分享_Week1的更多相关文章

  1. 达梦数据库产品支持技术学习分享_Week2

    本周主要从以下几个方面进行本人对达梦数据库学习的分享,学习进度和学习情况因人而异,仅供参考. 一.文本命令行工具使用的方法(Disql和dmfldr) 二.数据库备份 三.定时作业功能 四.系统表和动 ...

  2. .NETCore 访问国产达梦数据库

    前言 武汉达梦数据库有限公司成立于2000年,为中国电子信息产业集团(CEC)旗下基础软件企业,专业从事数据库管理系统的研发.销售与服务,同时可为用户提供大数据平台架构咨询.数据技术方案规划.产品部署 ...

  3. [开源] .Net 使用 ORM 访问 达梦数据库

    前言 武汉达梦数据库有限公司成立于2000年,为中国电子信息产业集团(CEC)旗下基础软件企业,专业从事数据库管理系统的研发.销售与服务,同时可为用户提供大数据平台架构咨询.数据技术方案规划.产品部署 ...

  4. 达梦数据库学习(一、linux操作系统安装及数据库安装)

    达梦数据库学习(一.linux操作系统安装及数据库安装) 环境介绍: 使用VM12+中标麒麟V7.0操作系统+达梦8数据库 一.linux系统搭建 本部分没有需要着重介绍,注意安装时基本环境选择&qu ...

  5. 基于Enterprise Library的Winform开发框架实现支持国产达梦数据库的扩展操作

    由于一个客户朋友的需求,需要我的Winform开发框架支持国产达梦数据库的操作,这个数据库很早就听过,但是真正一般项目用的很少,一般在一些特殊的项目可能需要用到.由于我的Winform开发框架,是基于 ...

  6. DB 查询分析器 6.03 如何灵活、快捷地操作国产达梦数据库

    DB 查询分析器 6.03 如何灵活.快捷地操作国产达梦数据库 马根峰 (广东联合电子服务股份有限公司, 广州 510300) 摘要       本文详细地介绍了"万能数据库查询分析器&qu ...

  7. Linux平台达梦数据库V7单实例安装方式之图形方式

    一 前言 我们在学习任何一个应用时,了解它的最初步骤通常是学会如何进行安装配置,后序才去关心如何使用,学习达梦数据库也是如此,而达梦数据库的安装提供了多种方式,接下来会一一介绍每种安装方式,达梦数据库 ...

  8. [转帖]达梦数据库(DM6)和ORACLE 10g的异同点

    达梦数据库(DM6)和ORACLE 10g的异同点    https://bbs.aliyun.com/detail/351337.html   花花浪子 级别: 小白 发帖 0 云币 -41 加关注 ...

  9. 国产化之 .NET Core 操作达梦数据库DM8的两种方式

    背景 某个项目需要实现基础软件全部国产化,其中操作系统指定银河麒麟,数据库使用达梦V8,CPU平台的范围包括x64.龙芯.飞腾.鲲鹏等.考虑到这些基础产品对.NET的支持,最终选择了.NET Core ...

随机推荐

  1. Day17_99_IO_FileReader文件字符输入流

    FileReader文件字符输入流 * 继承结构 Java.lang.Object - java.io.Reader; 抽象类 java.io.InputStreamReader; <转换流: ...

  2. 刨死你系列——手撕ArrayList

    不多BB,直接上代码: public class MyArrayList { //创建数组对象 private Object[] elements; //已使用数组长度 private int siz ...

  3. kubectl简介

    kubectl简介 kubectl是操作k8s集群的命令行工具,安装在k8s的master节点,kubectl在$HOME/.kube目录中查找一个名为config的文件, 你可以通过设置Kubeco ...

  4. 2021S软件工程——结对项目第三阶段

    2021S软件工程--结对项目第三阶段 2021春季软件工程(罗杰 任健) 项目地址 1020 1169 1 实践反思 1.1 问题分析 两人习惯不一致 没有具体制定时间节点 写完代码才开始" ...

  5. 7.If语句

    if单选择结构 语法: if(布尔表达式){ //如果布尔表达式为true将执行的语句 } 例: import java.util.Scanner; public class IfDemo { pub ...

  6. 软件篇-04-OMPL和FCL用于SLAM轨迹规划

    使用OMPL内置的infoRRTstar算法模块和FCL碰撞检测库实现当前点和目标点的轨迹规划, 参考文章:https://www.cnblogs.com/shhu1993/p/7062099.htm ...

  7. 逆向 stdio.h 函数库 fseek 函数(调试版本)

    0x01 fseek 函数 函数原型:int fseek(FILE *stream, long int offset, int whence) 函数功能:设置流 stream 的文件位置为给定的偏移 ...

  8. SQL注入平台第一关,注入?id=1'不报错的问题

    第一关需要在地址栏输入id参数测试是否有注入点 我这里输入 http://localhost/sqli-labs-master/Less-1/?id=1 下一步将id参数改为?id=1' http:/ ...

  9. 使用FastDFS进行文件管理

    使用FastDFS进行文件管理 FastDFS简介 FastDFS: FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等, ...

  10. python爬虫——抖音数据

    最近挺火的抖音短视频,不仅带火了一众主播,连不少做电商的也进驻其中,于是今天我来扒一扒这火的不要不要的抖音数据: 一.抓包工具获取用户ID 对于手机app数据,抓包是最直接也是最常见的手段,常用的抓包 ...