0
点赞
收藏
分享

微信扫一扫

(P8)数据库系统下-Oracle数据库物理存储简介


文章目录

  • ​​1.Oracle数据库的数据组织​​
  • ​​2.Oracle数据库逻辑存储层​​
  • ​​3.Oracle数据库物理存储层​​
  • ​​4.Oracle数据库的数据组织相关的SQL命令​​
  • ​​5.小结​​

1.Oracle数据库的数据组织

Oracle数据库组织为数据库(database)、表空间(tablespace)、操作系统文件、table、段(segment)、盘区(extent)和基本数据块(data blocks)

(P8)数据库系统下-Oracle数据库物理存储简介_数据库

2.Oracle数据库逻辑存储层

每个数据库分成一个或多个表空间,所有表空间的组合存储容量即是数据库的存储容量

系统表空间SYSTEM和用户表空间;

  • 系统表空间由Oracle在创建数据库时自动创建,用于表的信息、列的信息、索引的信息,数据字典等的管理;
  • 用户表空间可由用户创建,存储表数据;

每个表空间由一个或多个操作系统文件构成,一个操作系统文件只能与一个数据库相联,操作系统文件仅起占位的作用。
数据在表空间中可跨文件进行操作。

操作系统文件中存储一个表(Table)或多个表,一个表可存储在一个文件中也可能存储在多个文件中。

  • 逻辑存储层

3.Oracle数据库物理存储层

物理存储层由段(segment)、盘区(extent)和数据块(datablock)构成

数据块是最小的IO存储单位,又称为Oracle块、页(相当于扇区)

盘区是特定数量的连续数据块(相当于簇)。

  • Oracle中的盘区是可以动态变化的,随不同数据库存储需求而调整

段是一组分配了特定数据结构的盘区,又分为数据段、索引段和临时段等

一个表的数据可以存放在一个段内,也可以存放在多个段内。一个段可以存放一个表的数据,也可以存放多个表的数据(如聚簇文件)

  • 物理存储层

4.Oracle数据库的数据组织相关的SQL命令

定义表空间时,需要考虑物理存储性能。注意参数的使用,参数的含义参见Oracle手册。

CREATE TABLESPACE tblspname
DATAFILE 'filename'
[SIZE n [K|M]]
[REUSE]
[AUTOEXTEND OFF | AUTOEXTEND ON
[NEXT n [K|M] [MAXSIZE {UNLIMITED | n [K|M]}]
{, 'filename' . . .}
[ONLINE | OFFLINE]
[DEFAULT STORAGE ([ INITIAL n] [NEXT n] [MINEXTENTS n]
[MAXEXTENTS {n | UNLIMITED}] [PCTINCREASE n])]
[MINIMUM EXTENT n [K|M]] ;

  • 解释
    一个表空间可由多个文件构成,
    TABLESPACE tblspname
    DATAFILE ‘filename’;
    表空间的文件是否可以自动扩展,AUTOEXTEND ;
    可设置表空间的初始容量、最小盘区数、每次扩展容量等,PCTINCREASE ;
    可设置构成表空间的最小盘区,MINIMUM EXTENT n [K|M];
    盘区的大小是可以动态调整的;

    SQL的CREATE TABLE的三种功能:
  • (1)定义模式;
  • (2)定义物理存储结构;
  • (3)定义完整性约束

CREATE TABLE tablename
( {colname datatype [default { constant | NULL}]----定义模式,完整性
{, colname datatype etc. . . .}
后面是物理参数
[ORGANIZATION HEAP | ORGANIZATION INDEX ]--堆组织?索引组织?
[TABLESPACE tblspname]--哪个表空间
[STORAGE ([initial n [K|M]]----存储参数
[next n [K|M]] [minextents n]
[maxextents n] [pctincrease n] ) ]
[PCTFREE n]
[PCTUSED n]

(P8)数据库系统下-Oracle数据库物理存储简介_表空间_02

5.小结

CREATE DATABASE sct
将多个表空间关联在一起

CREATE TABLESPACE tspace1…
用多个操作系统文件占位,将多个表的存取统一在一个空间中直接对数据块-盘区-Segment进行操作。

CREATE TABLE tablename …
表的存取,直接映射对数据块-盘区的操作

(P8)数据库系统下-Oracle数据库物理存储简介_oracle_03


举报

相关推荐

0 条评论