1、存储概述

YCA官方报名链接: https://www.yashandb.com/YCA_courses

1.1存储结构

数据库需要将数据按照一定的结构进行存储,例如划分不同用途的文件、不同功能的逻辑单元。

1.2物理存储结构

物理存储结构是指数据库在物理上的构成,由参数文件、控制文件、数据文件、Redo日志文件、归档文件、密码文件等构成。

1.3逻辑存储结构

通过划分逻辑存储结构,可以方便物理存储的管理,包括表空间、数据段、数据区、数据块等逻辑存储概念。

【YashanDB培训心得】--国产崖山数据库YCA认证培训 第六章 YashanDB存储管理_数据库

2、物理存储结构

YCA官方报名链接: https://www.yashandb.com/YCA_courses

2.1物理文件概述

◼ 控制文件:数据库初始配置信息的持久化文件。

◼ Redo日志文件:记录的是新数据的备份。

◼ 数据文件:用于存储数据库数据。

◼ 参数文件:定义了数据库实例的参数配置信息。

◼ 其他文件

  1. 归档文件:归档日志是Redo日志完成归档后形成的日志。
  2. 密码文件:存放着数据库管理用户sys的密码。


【YashanDB培训心得】--国产崖山数据库YCA认证培训 第六章 YashanDB存储管理_数据库_02

3、逻辑存储结构

YCA官方报名链接: https://www.yashandb.com/YCA_courses

3.1表空间

数据库划分的逻辑单元,包含若干数据库对象,例如表、索引等。

3.2数据段

每个数据库对象至少包含一个数据段。空间上由若干数据区组成。包含表段、索引段、回滚段等不同类型的段。

3.3数据区

由一组物理上连续的数据块组成,可以提高空间管理的效率。

3.4数据块

数据存储的最小逻辑单元,默认的大小8K。包含表、索引、UNDO等不同类型的块。

【YashanDB培训心得】--国产崖山数据库YCA认证培训 第六章 YashanDB存储管理_数据库_03

4、数据库存储管理

YCA官方报名链接: https://www.yashandb.com/YCA_courses

4.1YashanDB内置了如下表空间,其属性可以默认或者在建库时指定:

【YashanDB培训心得】--国产崖山数据库YCA认证培训 第六章 YashanDB存储管理_数据库_04

4.2多个表空间的优点:

  1. 将用户数据与数据字典数据分开,以减少I/O争用。
  2. 将一个应用程序的数据与另一个应用程序的数据分开,以防止在表空间必须脱机时多个应用程序受到影响。
  3. 将不同表空间的数据文件存储在不同的磁盘驱动器上,以减少I/O争用。
  4. 使单个表空间脱机,而其他表空间可以继续保持联机,无需全部表空间脱机或关闭数据库,从而提供更好的可用性。
  5. 备份单个表空间。

4.3创建表空间

CREATE TABLESPACE用于在数据库中创建一个新的表空间。

SYSTEM/SYSAUX/UNDO/SWAP/TEMPORARY/DEFAULT表空间在CREATE DATABASE时自动创建,无需手动CREATE TABLESPACE创建。

为了方便管理,当有不同的业务用户时,需要给不同用户的创建不同的表空间。

◼ 创建表空间示例

【YashanDB培训心得】--国产崖山数据库YCA认证培训 第六章 YashanDB存储管理_数据库_05

◼ 新建用户指定表空间

【YashanDB培训心得】--国产崖山数据库YCA认证培训 第六章 YashanDB存储管理_表空间_06

◼ 修改用户默认表空间

【YashanDB培训心得】--国产崖山数据库YCA认证培训 第六章 YashanDB存储管理_数据库_07

4.4删除表空间

YCA官方报名链接: https://www.yashandb.com/YCA_courses

DROP TABLESPACE用于删除一个表空间。

◼ 注意:

  1. 不能删除一个已被某个用户指定的DEFAULT TABLESPACE,必须先通过ALTER USER语句将其变更。
  2. 不能删除一个已创建了任何数据库对象的表空间,除非指定了INCLUDING CONTENTS语句。
  3. 如果表空间中存在被其他表空间对象定义的外键约束,那么即使指定了INCLUDING CONTENTS语句,该表空间也不能被删除,除非同时指定了CASCADE CONSTRAINT。
  4. 不能删除SYSTEM/SYSAUX/UNDO/SWAP/TEMPORARY/DEFAULT等内置表空间。

◼ 删除表空间示例

【YashanDB培训心得】--国产崖山数据库YCA认证培训 第六章 YashanDB存储管理_表空间_08

◼ INCLUDING CONTENTS

该语句用于指定将表空间及其包含的所有对象都删除。

◼ AND|KEEP DATAFILES

指定在删除表空间时,其对应的数据文件是被删除,还是被保留,缺省为保留。

◼ CASCADE CONSTRAINT

当存在其他表空间里的对象定义了到本表空间里对象的外键约束时,先将这些外键约束项删除,再删除本表空间。

◼ ALTER TABLESPACE维护表空间

ALTER TABLESPACE语句用于更改一个已存在的表空间的相关属性。

◼ 增加数据文件

SQL > ALTER TABLESPACE yashan1 ADD DATAFILE ;


◼ 空闲空间回收

SQL > ALTER TABLE SPACE yashan1 SHRINK SPACE;

◼ 表空间相关视图

DBA_TABLESPACES 显示所有表空间的信息。

DBA_DATA_FILES 显示所有数据文件信息。

V$TABLESPACE 显示所有表空间的汇总信息。

V$DATAFILE 显示数据文件汇总信息。

◼ 查看DBA_TABLESPACES视图

【YashanDB培训心得】--国产崖山数据库YCA认证培训 第六章 YashanDB存储管理_存储结构_09

◼ 查看DBA_DATA_FILES视图

【YashanDB培训心得】--国产崖山数据库YCA认证培训 第六章 YashanDB存储管理_表空间_10

◼ 查看V$TABLESPACE视图

【YashanDB培训心得】--国产崖山数据库YCA认证培训 第六章 YashanDB存储管理_表空间_11

◼ 查看V$DATAFILE视图

【YashanDB培训心得】--国产崖山数据库YCA认证培训 第六章 YashanDB存储管理_存储结构_12

YCA官方报名链接: https://www.yashandb.com/YCA_courses