甲骨文认证体系
Vmware认证体系
AWS亚马逊
阿里云认证体系
红帽认证体系
ZStack云计算认证体系
思科认证体系
华为认证体系
CDA数据分析师认证
达梦认证体系
麒麟
定制化课程
达梦数据库课程介绍?腾科常见问题介绍
发布日期:2021-04-06 11:06:21阅读次数:378

达梦数据库课程简介
一)基本概念介绍
二)基本使用
三)表空间
1.DM7表空间概述
2.DM7表空间管理
2.1表空间创建与删除
2.2表空间扩展
2.3表空间数据文件路径修改
3.DM7表空间监控
4.DM7表空间备份
四)高级特性
一)基本概念介绍
  达梦数据库也属于关系型数据库 主要有以下几个概念: 数据库、实例、用户、表空间、模式、表、角色、数据文件。

数据库: 数据存储的物理介质。广义上讲任何存储数据的物理介质都可叫着数据库,例如一个word文档。但实际上,我们说数据库一般是指像MySQL,ORACLE, HBASE等之类的软件系统。这些系统除了提供数据的存储外,还提供一整套相关的工具或接口对存储的数据进行管理。达梦数据库就是这样的一种系统;
数据库实例:已实例化可存储数据的仓库。达梦数据库与MySQL数据库有一个很大的差别就是:MySQL服务启动后通过create database语句创建N个数据库(数据库实例);而达梦数据库一个实例就只能挂一个数据库(即一个实例就是一个数据库),如果想建多个数据库,则需配置启动相应数量的实例。达梦的每个实例有一系列的后台进程和内存结构,这些是相互独立的;
用户:达梦数据库用户是建在实例下的,因为实例相互独立,所有达梦数据库不同的实例下可以有相同的用户名。另外,在达梦数据库中通过create user语句创建用户时,会同时创建一个同名的“模式”。也可以通过create schema语句单独创建模式(特别注意:在Oracle中,用户与schema是一一对应的,不能单独创建模式,要想创建模式得需通过创建一个同名用户来实现),并授权给某个已存在的用户,因此在达梦数据库中用户与模式是1:N的关系。(注:如果先通过create schema创建了模式,再通过create user创建同名用户,不能创建成功。);
表空间:是一个用来管理数据存储的概念,表空间只是和数据文件(ORA或者DBF文件)发生关系,数据文件是物理的,一个表空间可以包含多个数据文件,而一个数据文件只能隶属一个表空间。可以将表空间理解为对应一块物理存储区,专门用来存储数据文件。实例化达梦数据库时,默认会创建MAIN、ROLL、SYSTEM、TEAM及HMAIN五个表空间。ROLL、SYSTEM、TEAM表空间系统自行维护,用户所建表(如果未指定存放表空间的话)默认放在MAIN表空间。用户也可自定义表空间,然后在创建用户时指定为默认表空间;也可以在建表时通过加"tablespace SpaceName"语句动态指定该表的存储表空间;
模式(schema):如果仅使用过MySQL,而没有ORACLE数据库使用经验,这个概念比较难理解。先摘录一段官方说明:
   关于模式,需要记住一下几点:

一个用户一般对应一个schema,该用户的schema名等于用户名,并作为该用户缺省schema;
一个用户还可以使用其他的schema(Oracle数据库也可通过权限管理实现访问其他schema);
创建模式不指定用户时,该模式默认为SYSDBA拥有;
在同一模式下不能存在同名对象,但在不同模式中的对象名称可以相同;
用户可以直接访问同名模式对象,但如果要要访问其他模式对象,则必须具有对象权限;
当用户要访问其他模式对象时,必须附加模式名作后缀(schema.table);
用户是用来连接数据库对象,而模式是用来创建及管理对象的。
表: 这个就不用说了吧,但要说明的一点是一个表只能属于一个表空间;
角色: 在达梦数据库中,每个用户都有角色。它决定了该用户有什么权限,比如DBA,拥有最高权限。补充说明一点是,实例化的达梦数据库默认有3种角色:DBA, PUBLIC,RESOURCE。新建的用户只拥有PUBLIC角色,该角色几乎做不了撒,因此一般新建用户后,需要单独对他(她)进行授权;
数据文件:数据的物理载体。
 这里是帮助理解的一段类比说明:

      “我们可以把Database看作是一个大仓库,仓库分了很多很多的房间,Schema就是其中的房间,一个Schema代表一个房间,Table可以看作是每个Schema中的床,Table(床)被放入每个房间中,不能放置在房间之外,那岂不是晚上睡觉无家可归了,然后床上可以放置很多物品,就好比 Table上可以放置很多列和行一样,数据库中存储数据的基本单元是Table,现实中每个仓库放置物品的基本单位就是床, User就是每个Schema的主人,(所以Schema包含的是Object,而不是User),user和schema是一一对应的,每个user在没有特别指定下只能使用自己schema(房间)的东西,如果一个user想使用其他schema(房间)的东西,那就要看那个schema(房间)的user(主人)有没有给你这个权限了,或者看这个仓库的老大(DBA)有没有给你这个权限了。换句话说,如果你是某个仓库的主人,那么这个仓库的使用权和仓库中的所有东西都是你的(包括房间),你有完全的操作权,可以扔掉不用的东西从每个房间,也可以放置一些有用的东西到某一个房间,你还可以给每个User分配具体的权限,也就是他到某一个房间能做些什么,是只能看(Read-Only),还是可以像主人一样有所有的控制权(R/W),这个就要看这个User所对应的角色Role了。”—摘自网络

二)基本使用
** 查表空间**

 select * from V$TABLESPACE;

查询模式

 SELECT owner FROM dba_segments group by OWNER;

查询表

 select * from dba_tables where tablespace_name=‘TEMP’; //根据表空间查询表

 SELECT * FROM SYSOBJECTS WHERE schid = (SELECT object_id from all_objects where object_name = ‘CTISYS’ and object_type = ‘SCH’) and (SUBTYPE$ = ‘UTAB’ or SUBTYPE$ = ‘STAB’); //object_name指模式名, UTAB用户表,STAB系统表

表空间脱机及上线

 alter tablespace “DMHR” offline;

 alter tablespace “DMHR” online; //同一表空间可以存在同名对象

模式切换

  SELECT SYS_CONTEXT (‘userenv’, ‘current_schema’) FROM DUAL; //查询当前模式

  SET SCHEMA “SYSDBA”; //设置当前登录用户的默认模式

数据大小

  SELECT SUM(bytes) from dba_data_files; //数据库占用空间

  SELECT TABLE_USED_SPACE(‘DMHR’, ‘REGION’) * 1024; //表大小

归档模式

  select arch_mode from v$database; //归档是否打开

  select * from V$DM_ARCH_INI; //归档信息

系统数据查询

  select * from dba_tables; //系统所有表查询

  select * from user_tables; //登录用户所有表查询

  select * from user_tablespaces; //表空间查询

  select * from dba_users; //系统所有用户查询

三)表空间
1.DM7表空间概述
     在DM7数据库中,表空间是一种逻辑存储结构,数据库的对象如表、索引等在逻辑上都是存储在指定的表空间中。数据库在初始化的时候,系统会自动创建5个默认表空间,SYSTEM,MAIN,ROLL,TEMP和HMAIN表空间。其中SYSTEM表空间是系统表空间,存储有数据字典信息,用户数据不能存放在该表空间上。ROLL,TEMP和HMAIN表空间,由系统自动维护,不需要用户干预。初始的MAIN表空间为用户默认表空间。表空间只是一种逻辑结构,对应的物理存储结构为数据文件。也即是,用户的数据是存储在表空间对应的数据文件上面。DM7数据库中,物理存储结构的数据文件后缀为DBF。系统提供v$tablespace和 v$datafile视图查询表空间和数据文件。

--查询表空间
SQL>select * from v$tablespace;

--查询数据文件
SQL>select * from v$datafile;

--查询表空间对应的数据文件
SELECT
     ts.NAME,
     df.PATH
FROM
     V$TABLESPACE AS ts,
     V$DATAFILE   AS df
WHERE
     ts.ID = df.GROUP_ID;

2.DM7表空间管理
2.1表空间创建与删除
--创建表空间,最简洁形式
--仅指定数据文件路径,以及数据文件初始大小,单位为(MB)
--注意大小仅为数字,不能带M符号
CREATE TABLESPACE bookshop DATAFILE '/opt/bookshop1.dbf' SIZE 128;

--以上创建表空间语句,自动指定如下属性:
autoextend on    
maxsize 33554431 
CACHE = NORMAL
属性分别指:数据文件自动扩展,扩展最大大小,数据页的缓冲池名称

--创建表空间,指定非自动扩展
CREATE TABLESPACE bookshop DATAFILE '/opt/bookshop1.dbf' SIZE 128 autoextend off;

--删除表空间
drop tablespace bookshop;

删除表空间时,改表空间上必须没有数据库对象,否则会删除失败

2.2表空间扩展
     当未指定表空间自动扩展,或是某一操作系统目录空间不足,数据库需要新的空间时,可以对表空间进行扩展操作。扩展有两种操作,一是新增数据文件;另外一种是增大已有的数据文件。

--新增数据文件
ALTER TABLESPACE bookshop ADD DATAFILE '/opt/book2.dbf' SIZE 64;

-- 增大已有数据文件
ALTER TABLESPACE bookshop RESIZE DATAFILE '/opt/book.dbf' TO 1024;

2.3表空间数据文件路径修改
当已有操作系统目录空间不足,需要将存放在该目录下的数据库数据文件更新目录时,可以使用如下语句。使用本方法的前提是,表空间必须处在脱机状态:

--表空间脱机处理
ALTER TABLESPACE bookshop OFFLINE;

--更改数据文件路径
ALTER TABLESPACE bookshop RENAME DATAFILE '/opt/book.dbf' TO '/data/book.dbf';

当该表空间有事务操作时,脱机处理会失败。更改数据文件路径,系统会自动修改控制文件,并将操作系统文件移动到新的路径。

--在使用脱机处理失效时,可以将数据库系统进行关闭处理,然后手动修改控制文件,并移动数据文件至新的目录后,重新启动数据库系统。

3.DM7表空间监控
监控表空间使用空间情况:

--DM7 查询表空间使用
select
        t.name tablespace_name,
        d.free_size*SF_GET_PAGE_SIZE()/1024/1024
        ||'M' free_space,
        d.total_size*SF_GET_PAGE_SIZE()/1024/1024
        ||'M' total_space,
        d.free_size*100/d.total_size "% FREE"
from
        v$tablespace t,
        v$datafile d
where
        t.id=d.group_id;

4.DM7表空间备份
DM7数据库支持用户表空间的备份还原操作。表空间备份需要在联机状态下执行,并且需要开启数据库归档模式。这是因为,表空间的数据库对象的字典信息是存储在数据库的系统SYSTEM表空间中。表空间的还原恢复,只能在备份源库上联机执行。

--表空间全量备份
BACKUP TABLESPACE t1 FULL TO TS_BAK BAKFILE '/opt/tablespace_bak.bak' ;

--表空间还原
ALTER TABLESPACE t1 OFFLINE;
RESTORE TABLESPACE t1 FROM '/opt/tablespace_bak.bak' IDENTIFIED BY ABCDEF;
ALTER TABLESPACE t1 ONLINE;


腾科教育是华为授权的培训合作伙伴,专业提供华为ICT技术架构认证、平台与服务认证、行业服务认证等华为职业认证服务,连续多年荣获华为年度最佳合作伙伴贡献奖、华为优秀战略合作伙伴、上海HCIE精英俱乐部伙伴,连续多年举办腾科技术嘉年华华为专场,并协办华为ICT大赛、华为生态伙伴精英赛伙伴赛分赛场、华为人才双选会上海场等活动和赛事,提供面向华为生态合作伙伴和ICT学员的人才供需双选平台及ICT学员就业通道,培养ICT行业所需创新型、融合型人才。

腾科教育是华为优秀战略合作伙伴、红帽交付培训合作伙伴、思科优秀合作伙伴、红帽年度优秀合作伙伴、Oracle亚太区优秀合作伙伴,每年协办华为、红帽等厂商技术大赛,定期举办各种技术峰会等技术交流活动。同时也是培生集团(Pearson VUE)与Prometric(普尔文)两大全球国际考试中心授权的双国际电子考试中心,提供一站式ICT认证考试服务,十年来专注于为考生提供包括华为,思科,红帽,Oracle,VMware,ITIL,微软,Citrix等数千种ICT认证考试服务,每年通过腾科教育培训并参加HCIE(华为认证专家)、RHCA(红帽认证架构师)、OCM(甲骨文认证大师)等高级职业认证考试的学员,其通过率高达94.32%。