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初始化参数制定的,但创建数据库之后这个参数值不能改变。
 

Oracle存储——逻辑结构的更多相关文章

  1. <Oracle Database>逻辑结构

    逻辑结构 Oracle的逻辑结构是一种层次结构.主要由:表空间.段.区和数据块等概念组成.逻辑结构是面向用户的,用户使用Oracle开发应用程序使用的就是逻辑结构. 数据块 数据块是Oracle最小的 ...

  2. oracle存储参数(storage子句)含义及设置技巧

    可用于:表空间.回滚段.表.索引.分区.快照.快照日志 参数名称 缺省值 最小值 最大值 说明 INITIAL 5(数据块) 2(数据块) 操作系统限定 分配给Segment的第一个Extent的大小 ...

  3. Oracle 数据库逻辑结构2.md

    Oracle 数据库逻辑结构一.存储关系Oracle 数据库逻辑上是由一个或多个表空间组成的,表空间物理上是由一个或多个数据文件组成的:而在逻辑上表空间又是由一个或多个段组成的.在Oracle 数据库 ...

  4. Oracle 数据库逻辑结构

    注:本文来源于 <腾科OCP培训课堂>.非准许商业活动. Oracle 数据库逻辑结构 一.存储关系 Oracle 数据库逻辑上是由一个或多个表空间组成的,表空间物理上是由一个或多个数据 ...

  5. ORACLE体系结构逻辑结构-表空间、段、区和数据块

    转自: https://www.cnblogs.com/sunziying/p/8994792.html 一.Oracle的逻辑结构 Oracle的逻辑结构是一种层次结构.主要由:表空间.段.区和数据 ...

  6. oracle存储大文本clob、blob

    oracle存储大文本clob.blob 1 package cn.itcast.web.oracle.util; 2 3 import java.sql.Connection; 4 import j ...

  7. php调用oracle存储

    //todo 调用oracle 存储$config = //数据库配置文件 里面包含 用户密码和host和端口以及dbname $conn = oci_connect($config['usernam ...

  8. Oracle存储函数,存储过程

    一.Oracle存储函数:存储的PL/SQL语法块,完成特定的功能.1.语法: 函数关键字: function (1)创建函数 CREATE [OR REPLACE] FUNCTION <fun ...

  9. Oracle 课程二之Oracle数据库逻辑结构

    完成本课程的学习后,您应该能够: •数据库总体的逻辑结构 •深入理解数据库最小存储单元block •理解行迁移和行链接 •理解高水位线 •Drop.truncate.delete区别   1.数据库的 ...

随机推荐

  1. unity, unity中GL.MultMatrix的一个超级bug

    GL.MultMatrix与OpenGL固定管线的glMultMatrix函数行为并不一致,不是累乘,而是覆盖. 例如下面例子,本来预期是在(100,100)处画一个方块,而实际效果却是在(0,0)处 ...

  2. 二次开发第N天。。。。。。。。自动分页问题

    phpcms\modules\content\fields\pages\form.inc.php 注意修改时,如果是gbk版本可以直接用记事本修改保存!如果是utf8 要用工具修改,或者保存的时候要记 ...

  3. linux 查看java进程

    ps -ef|grep java 1. jps 或 ps –ef|grepjava (获取PID)

  4. 关于引脚复用,不得不提的GPIO_Pin_sources 和GPIO_Pin

    今天在端口复用时遇到了困惑,参考:http://www.51hei.com/bbs/dpj-40992-1.html 调整前的代码GPIO_PinAFConfig(GPIOA,GPIO_Pin_9,G ...

  5. linux命令之高级使用 du

    du命令:disk usage,顾名思义,是关于目录使用情况的,它的作用就是计算目录大小的. 1. 想看当前目录下所有目录以及子目录的大小: # du -h . “.”代表当前目录下.也可以换成一个明 ...

  6. Unix系统编程(六)write系统调用

    write系统调用将数据写入一个打开的文件. ssize_t write(int fd, void *buffer, size_t count); write调用的参数含义与read调用相类似.buf ...

  7. dubbo配置约束

    此处主要记录dubbo配置的一些约束规则. 采用官网提供的原文,描述如下: 一.XML配置(官网原文) 以 timeout 为例: 方法级优先,接口级次之,全局配置再次之. 如果级别一样,则消费方优先 ...

  8. 自动化软件部署的shell脚本

    在实际项目中,我们经常用到需要自动化部署软件的情况,这种情况下,我们就不能人为地在命令行下敲击命令了,一切都需要通过shell脚本自动化完成.所谓自动化完成,其实也就是通过写shell程序,模拟人为敲 ...

  9. js 数组取出最大值最小值和平均值的方法

    1.直接遍历数组 ,,,,,,,]; ]; ;i<arr.length;i++){ if(max<arr[i]) max=arr[i]; } 2.借用Math的方法 ,,,,,,,]; v ...

  10. Windows编程中回调函数的使用心得(MFC篇)

    回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数.回调函数不是由该函数的实现方直接调用,而是在特定 ...