暂无图片
暂无图片
4
暂无图片
暂无图片
暂无图片

YashanDB 存储管理

数据库存储概述

  • 存储结构
    • 数据库需要将数据按照一定的结构进行存储,例如划分不同用途的文件、不同功能的逻辑单元。
  • 物理存储结构
    • 物理存储结构是指数据库在物理上的构成,由参数文件、控制文件、数据文件、Redo日志文件、归档文件、密码文件等构成。
  • 逻辑存储结构
    • 通过划分逻辑存储结构,可以方便物理存储的管理,包括表空间、数据段、数据区、数据块等逻辑存储概念。

yas0075.png

0001.gif

物理存储结构

  • 控制文件: 数据库初始配置信息的持久化文件。
  • Redo日志文件: 记录的是新数据的备份。
  • 数据文件: 用于存储数据库数据。
  • 参数文件: 定义了数据库实例的参数配置信息。
  • 其他文件
    • 归档文件: 归档日志是Redo日志完成归档后形成的日志。
    • 密码文件: 存放着数据库管理用户sys的密码。

yas0076.png

0001.gif

逻辑存储结构

  • 表空间
    • 数据库划分的逻辑单元,包含若干数据库对象,例如表、索引等。
  • 数据段
    • 每个数据库对象至少包含一个数据段。空间上由若干数据区组成。包含表段、索引段、回滚段等不同类型的段。
  • 数据区
    • 由一组物理上连续的数据块组成,可以提高空间管理的效率。
  • 数据块
    • 数据存储的最小逻辑单元,默认的大小8K。包含表、索引、UNDO等不同类型的块。

yas0077.png

0001.gif

数据库存储管理

  • ashanDB内置了如下表空间,其属性可以默认或者在建库时指定
表空间 作用
SYSTEM表空间 主要包含数据字典;数据库管理信息的表和视图;已编译的存储对象,如触发器、过程和包。
SYSAUX表空间 作为SYSTEM表空间的辅助表空间,YashanDB AWR快照信息的默认表空间。
USERS表空间 默认的用户表空间,用于存储永久用户对象和私有信息。
TEMP表空间 主要用于临时表的段分配,存储临时表数据信息。
UNDO表空间 用于YashanDB创建和管理回滚(撤销数据库更改)信息。
SWAP表空间 用于存储临时数据排序,提高排序期间空间管理操作的效率。
  • 多个表空间的优点:

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

    • CREATE TABLESPACE用于在数据库中创建一个新的表空间。
    • SYSTEM/SYSAUX/UNDO/SWAP/TEMPORARY/DEFAULT表空间在CREATE DATABASE时自动创建,无需手动CREATETABLESPACE创建。
    • 为了方便管理,当有不同的业务用户时,需要给不同用户的创建不同的表空间。
  • 创建表空间示例

CREATE TABLESPACE yashan1 DATAFILE 'yashan1' SIZE 4M AUTOEX TEND ON NEX T 4M MAXSIZE 1G;
  • 新建用户指定表空间
CREATE USER yashan_user1 IDENTIFIED BY yashan_pwd1 DEFAULT TABLESPACE yashan1; GRANT DBA TO yashan_user1;
  • 修改用户默认表空间
ALTER USER yashan_user1 DEFAULT TABLESPACE users;
  • 删除表空间
    • DROP TABLESPACE用于删除一个表空间。
  • 注意:
    • 不能删除一个已被某个用户指定的DEFAULT TABLESPACE,必须先通过ALTER USER语句将其变更。
    • 不能删除一个已创建了任何数据库对象的表空间,除非指定了INCLUDING CONTENTS语句。
    • 如果表空间中存在被其他表空间对象定义的外键约束,那么即使指定了INCLUDING CONTENTS语句,该表空间也不能被删除,除非同时指定了CASCADE CONSTRAINT。
    • 不能删除SYSTEM/SYSAUX/UNDO/SWAP/TEMPORARY/DEFAULT等内置表空间。
  • 删除表空间示例
DROP TABLESPACE yashan1 INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;
  • INCLUDING CONTENTS

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

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

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

    • ALTER TABLESPACE语句用于更改一个已存在的表空间的相关属性。
  • 增加数据文件

ALTER TABLESPACE yashan1 ADD DATAFILE;
  • 空闲空间回收
ALTER TABLESPACE yashan1 SHRINK SPACE;
  • 表空间相关视图
    • DBA_TABLESPACES 显示所有表空间的信息。
    • DBA_DATA_FILES 显示所有数据文件信息。
    • V$TABLESPACE 显示所有表空间的汇总信息。
    • V$DATAFILE 显示数据文件汇总信息。
  • 查看DBA_TABLESPACES视图
select tablespace_name,user_bytes,total_bytes from dba_tablespaces;

yas0078.png

  • 查看DBA_DATA_FILES视图
select tablespace_name,file_name from dba_data_files;

yas0079.png

  • 查看V$TABLESPACE视图
select name,temporary from v$tablespace;

yas0080.png

  • 查看V$DATAFILE视图
select name,creation_time,auto_extend from v$datafile;

yas0081.png

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论