zoukankan      html  css  js  c++  java
  • 对Oracle的初步了解

    一.Oracle 的体系结构

      Oracle 数据库是按照规定的单位进行管理的数据集合,用于存储并获取相关信息。Oracle数据库是第一个为企业网格计算(grid computing)而设计的数据库系统,Oracle 10g的g就代表grid computing。 Oracle数据库把数据存储在文件中,这些保存数据库不同信息的文件组成了Oracle的物理结构。 Oracle将数据库按照规定的结构划分为不同级别的逻辑单元。这里指的逻辑单元包括表、视图等常见的数据库组件。逻辑结构和物理结构是分离的,对物理结构的管理可以不影响对逻辑存储结构的访问。

      Oracle 数据库的逻辑结构:

      数据库数据的逻辑结构:

         表: 数据库中最常用的数据存储单元,它包括所有用户可以访问的数据。作为关系型数据库,Oracle表由行和列组成。

         视图:虚拟的表,它在物理上并不存在。视图可以把表或其他视图的数据按照一定的条件组合起来,所以也可以把它看成是一个存储的查询。视图并不包含数据,它只是从基表中读取数据。

      方案:

         索引:与表相关联的可选结构。创建索引可以提高读取数据的效率。索引的功能类似于书的目录一样,读者可以通过目录很快地在书中找到需要的内容,Oracle索引提供对表数据的访问路径,从而使用户能够快速定位指定的信息。

         簇: 有些表共享公共的列,并经常被同时访问,为了提高数据存取的效率,把这些表在物理上存储在一起,得到的表的组合就是簇。与索引相似,簇并不影响应用程序的设计。用户和应用程序并不关心表是否是簇的一部分,因为无论表在不在簇中,访问表的SQL语句都是一样的。

      数据块

                数据块: 是Oracle管理数据库存储空间的最小数据存储单位。一个数据块对应磁盘上一定数量的数据库空间,标准的数据块大小由初始参数DB_BLOCK_SIZE指定。数据块既是逻辑单位,也是物理单位。块的大小是操作系统块大小的整数倍.      以Win2K为例,操作系统块(OS block)的大小为4kb,所以Oracle Block的大小可以是4kb,8kb,16kb等等。

        公共的变长头:包含数据块的通用信息,如块地址和段类型等;

        表目录:包含在此块中有行数据的表的信息;

        行目录:包含此块中实际行数据的信息(包括在行数据区中每个行数据片的地址);

        空闲空间:插入新行时需要存储空间,更新行数据时也可能造成存储空间的增加,这些存储空间都需要从空闲空间中分配;

        行数据:包含表或索引数据。行数据的存储可以跨越数据块。

        区间: 是数据库存储空间中分配的一个逻辑单元,由一组相邻的数据块组成,它是Oracle分配磁盘空间的最小单位。MINEXTENTS定义了段所能包含的最小区间数量,在创建段时,它所包含的区间数量只能为MINEXTENTS。随着段中数据的增加,区间数量也可以不断增加,但不能超过MAXEXTENTS中定义的数量,否则会出现错误。

      段:

    数据段 每个不在簇中的表都有一个数据段。表中的所有数据都存储在数据段的区间中。每个簇都有一个数据段。簇中每个表的数据都存储在簇的数据段中
    索引段 每个索引都有一个索引段,存储所有的索引数据
    临时段 当执行SQL语句需要临时工作区时,Oracle 将创建临时段。执行完毕后,临时段的区间将被系统回收,以备需要时分配使用
    回滚段 如果当前系统处于自动重做管理模式,则数据库服务器使用表空间来管理重做空间。这是Oracle公司推荐使用的模式。但是,如果使用手动重做管理模式,则数据库管理员需要创建一个或多个回滚段,用于临时存储重做信息。回滚段中的信息将在数据库恢复过程中使用到
       

      表空间:数据库可以划分为若干的逻辑存储单元,这些存储单元被称为表空间。每个数据库都至少有一个系统表空间(称为SYSTEM表空间)。在创建表时,需要定义保存表的表空间。

    大文件表空间(Bigfile Tablespaces) Oracle 10g提供的一种新的表空间,它只能包含一个大文件,但文件大小可以达到4G个数据块
    系统表空间(SYSTEM Tablespace) Oracle数据库必须具备的部分。用于存放表空间名称、表空间所包含的数据文件等管理数据库自身所需要的信息
    辅助表空间(SYSAUX Tablespace) 系统表空间的辅助表空间,很多数据库组件把系统表空间作为存储数据的默认位置
    撤消表空间(Undo Tablespace) 用于事务的回滚和撤销的表空间
    临时表空间(Temporary Tablespace) 用于存储数据库的临时表
    用户表空间(Users Tablespace) 用于存储用户的私有数据

    同一方案中的对象可以存储在不同的表空间中表空间可以存储不同方案中的对象.

    每个表空间由一个或多个数据文件组成。数据文件用于在物理上存储表空间中所有逻辑结构的数据。表空间中数据文件的大小之和就是表空间的存储容量。数据库中表空间的存储容量之和就是数据库的存储容量。


  • 相关阅读:
    数据结构学习记录_2019.02.26
    数据结构学习记录_2019.02.23
    数据结构学习记录_2019.02.27
    C语言学习记录_2019.02.23
    本博客所有博文密码均为“000000”
    Oracle触发器
    Oracle重载
    Oracle程序包
    Oracle函数
    Oracle存储过程
  • 原文地址:https://www.cnblogs.com/wjshan0808/p/3009143.html
Copyright © 2011-2022 走看看