达梦数据库学习笔记的分享(个人)2

数据库的深入解释,一些比较基础的概念及底层操作

表空间是DM数据库的最大逻辑划分区域,通常用来存放数据表、索引、回滚段等数据对象,数据库由多个表空间组成。DM数据库的所有对象在逻辑上都存放在表空间中,而物理上都存储在所属表空间的数据文件中一个表空间中包括一个或多个数据文件,一个数据文件仅归属于一个表空间

数据文件在逻辑上按照段、簇和页的方式进行管理,段由簇的集合构成,包含数据段、回滚段和临时段;段是簇的上级逻辑单元。段可以包含来自不同文件的簇,即一个段可以跨越同一个表空间不同的数据文件。簇是连续的数据页的集合,一个簇总是在一个数据文件中;簇是数据库最小分配单元。页是数据库中最小的存储单元,数据页会映射到磁盘块

系统主要的表空间

➢ SYSTEM表空间(系统表空间),系统底层的表空间,系统层级使用的,其他用户除用户外都无权用此表空间进行数据操作。

➢ ROLL表空间(回滚表空间),用于撤销操作的,翻译你执行了你不想的修改,你想撤销,这就是存放回滚状态的表空间

➢ TEMP表空间(临时表空间),这就相当于一个垃圾桶,当数据库重启的时候,会情况TEMP的表空间。

➢ MAIN表空间(用户默认表空间),打个比方,如果你新建一个账户没有指定表空间,那么默认的就是该表空间。

➢ HMAIN表空间(默认HTS表空间),一般用不到,用到再说

查看表空间数据文件信息

使用v$tablespace,v$datafile、dba_tablespace和data_data_files查看表空间和数据文件信息。这句话太特么重要了,因为经常会用到,也会考到

dba_data_files;数据库的数据文件视图。

可以使用视图dba_data_files查看表空间数据文件信息,最直接的使用,可以查看哪个表空间,使用了哪个数据文件

dba_free_space;查看表空间数据文件的数据文件视图

可以使用视图dba_free_space查看表空间数据文件空闲等信息

新建表空间(create语句有提到过)以及数据管理

新建表空间时,必须至少指定一个数据文件,并指定数据文件初始大小,扩展属性等。数据文件大小不能小于页大小的4096倍(比如页大小为8K*4096=32M,数据文件将不能小于32M

create tablespace TBS datafile‘/dm8/data/DAMENG/TBS01.dbf’size 128 autoextend on next4 maxsize 10240

修改表空间

➢增加数据文件:alter tablespace TBS add datafile' /dm8/data/DAMENG/TBS03.dbf' size 128;

//增加表空间相当于增加一个新的dbf文件,如果增加一个正在使用的dbf文件,会报错的。增容就是增加一个数据文件。

➢修改数据文件大小:alter tablespace TBS resize datafile 'TBS02.dbf' to 256;

//可直接修改表空间的大小,修改后,可进入目录ls -lh TBS02查证

➢修改文件扩展属性:

alter tablespace TBS datafile 'TBS03.dbf autoextend off;

altert ablespace TBS datafile 'TBS03.dbf' autoextend on next 4 maxsize 1024;

//可以直接修改表空间的数据文件,顺便再加上大小配置

➢修改数据文件路径:

普通表空间可以在脱机状态下修改数据文件路径和文件名,修改数据文件路径时需保证修改后的数据文件路径存在。

步骤1:alter tablespace kkk offline;//只有设置成离线才能操作

步骤2:alter tablespace kkk rename datafile home/dmdba/666.dbf to home/dmdba/888.dbf 

//执行后会生成一个888.dbf文件。

步骤3:alter tablespace kkk online;//设置表空间切在线

数据库offine:脱机状态,当表空间脱机时,不能读取该表空间的数据,也不能写入。SYSTEM、ROLL和TEMP表空间不允许脱机。当表空间有未提交事务时,不能脱机。

数据库on

你可能感兴趣的:(数据库)