zoukankan      html  css  js  c++  java
  • Oracle存储——逻辑结构

     Oracle 数存储——物理结构

     

     Oracle存储结构:物理结构+逻辑结构

     

    Oracle 数据库存储逻辑结构

     

    Oracle Schema Objects(Schema Object Storage And Type)

     

     

    • 在操作系统中无法找到逻辑存储结构所对应的文件,但通过查询Oracle数据库的数据字典,可以找到逻辑存储结构的描述。
    • 逻辑存储结构包括表空间,段,区,数据块。逻辑结构之间的关系是:多个组成,多个组成,多个组成表空间,多个表空间组成逻辑数据库
      • 表空间(多个表空间组成逻辑数据库
      • 段(多个组成表空间
      • 区(多个组成
      • 数据块(多个数据块组成
    • 一个区:一个区只能在一个数据文件中。
    • 段中的各个区一个段中的各个区可以分别在多个数据文件中。
    • 组成区的块组成区的块是连续的。
    • 逻辑存储结构是有大小的:由于逻辑的数据块对应磁盘空间中某个固定大小尺寸,所以逻辑存储结构也是有大小的。

     

    一、 表空间(tablespace) 

    下面的表格显示的是oracle11g自动创建的表空间名称及其说明

    名称

    分类

    说明

    EXAMPLE

    非系统表空间

    示例表空间,存放示例数据库的方案对象信息及其培训资料

    SYSAUX

    系统表空间

    辅助系统表空间,用于减少system表空间的负荷,提高系统的工作效率。是oracle 10g新增加的表空间

    SYSTEM

    系统表空间

    系统表空间,存放关于表空间名称、控制文件、数据文件等管理信息,存放着方案对象(如表,索引,同义词,序列)的定义信息,存放着所有pl/sql 程序(如过程,函数,包,触发器)的源代码,是oracle数据库中最重要的表空间。它属于SYS和SYSTEM方案,仅被SYS和SYSTEM或其他具有足够权限的用户使用。即使是SYS 和SYSTEM用户也不能删除或重命名该空间。他是用户的默认表空间,即当用户在创建一个对象时,如果没有指定特定的表空间,该对象的数据也会被保存在SYSTEM表空间中。

    TEMP

    系统表空间

    临时表空间,存放临时表和临时数据,用于排序。每个数据库都应该有一个(或创建一个)临时表空间,以便在创建用户时将其分配给用户,否则就会将TEMP表空间作为临时表空间。

    UNDOTBS1

    非系统表空间

    重做表空间,存放数据库的有关重做的相关信息和数据

    USERS

    非系统表空间

    用户表空间,存放永久性的用户对象的数据和私有信息,因此也被称为数据表空间。每个数据库都应该有一个(或创建一个)用户表空间,以便在创建用户时将其分配给用户,否则将会使用SYSTEM表空间来保存数据,而这种做法是不好的。一般讲,系统用户使用SYSTEM表空间,而非系统用户使用USERS表空间

     

    二、 段(segment)

    • 段用于存储表空间中某一种特定的,具有独立存储结构的数据块对象的数据。
    • 段是由一个或多个连续的区组成。
    • 创建表、索引、簇等对象时,oracle就会为这些对象分配存储空间(即段),以便存储它们的数据
    • 段随着存储数据的增大而逐渐变大。段的增大过程是通过增加区的个数而实现的(每次增加一个区)。每个区的大小是块的整数倍。
    • 按照段中存储的数据的特征、用途不同,可以分为以下几种:

    段类型

    名称

    段类型

    名称

    Index partition

    索引分区段

    Deferred rollback

    延迟回退段

    Table partition

    表分区段

    Undo

    撤销段(还原段)

    Table

    表段(数据段)

    Temporary

    临时段

    Cluster

    簇段

    Cache

    高速缓存段

    Index

    索引段

    Lob

    二进制大对象段

    Rollback

    回退段

    Lobindex

    二进制大对象索引段

     

    三、 区(extent)

    • 是由物理上连续存放的所组成的。
    • oracle存储分配最小单位
    • 一个或多个块组成区,一个或多个区组成段。
    • 一个区只能属于一个数据文件。
    • 一个段中的各个区可以分别在多个数据文件中。
    • 当数据库中创建带有实际存储结构的方案对象时(如表、索引)oracle将为方案对象分配若干个区,以便组成一个对应的段来为该方案对象提供初始的存储空间。
    • 当段中已分配的区都写满,oracle就要在该方案对象所在的表空间中为该段分配下一个新的空白区,以便容纳更多的数据。

     

    四、 块(block)

    • 块是最小的数据管理单位,即oracle的所有存储的i/o操作都是以块为单位的。操作系统执行i/o的最小单位是操作系统块
    • 的大小是操作系统块的大小的整数倍。
    • 块的大小是一个表空间的属性。
    • SYSTEM系统表空间和SYSAUX辅助系统表空间具有相同的标准的块大小,这个大小是在创建数据库时(会同时创建者两个表空间)由DB_BLOCK_SIZE初始化参数制定的,但创建数据库之后这个参数值不能改变。

     

     
  • 相关阅读:
    MVC异常过滤器
    文件分块传输
    UDP广播
    React 还是 Vue: 你应该选择哪一个Web前端框架?
    一个很好的XLSX的操作
    报表神器
    pycharm快敏捷键
    xlwt
    常用的列表和元祖
    HTML,css
  • 原文地址:https://www.cnblogs.com/thescentedpath/p/oraclefile.html
Copyright © 2011-2022 走看看