zoukankan      html  css  js  c++  java
  • 管理表空间和数据文件——数据库逻辑结构


    表空间是数据库的裸机组成部分。从物理上说,数据库数据存放在数据文件中;从逻辑上说,数据库数据存放在表空间中,并且表空间是由一个或多个数据文件组成的,是一对多的关系。

    oracle提供了一套逻辑结构来安排数据存储,这些逻辑结构包括表空间,段,取以及oracle块。

    1.表空间(tablespace)

    表空间用于逻辑组织数据库数据。数据库逻辑上由一个或多个表空间组成,而表空间物理上是有一个或多个数据文件组成的。表空间作用:

    • 通过表空间可以控制数据库所占用的磁盘空间。
    • 通过表空间可以控制用户所占用的空间配置。
    • 通过表空间,dba可以将不同类型的数据库部署到不同位置。一方面可以提高i/0性能,另一方面友谊与备份和恢复等管理操作。

    2.数据文件(data file)

    数据文件是表空间的物理组成部分,表空间与数据文件是一对多的关系,并且一个数据文件只能属于一个表空间。数据库使用的原则是:

    • 少量大数据文件要优于大量小数据文件。
    • 当建立数据库时,使用永久参数maxdatafiles可以指定在控制文件中为数据文件所预留的空间(默认32),通过从建数据文件可以修改永久参数设置。
    • 初始化参数db_files限制了数据库可以同时打开数据库最大文件个数。如果数据文件个数达到了该参数限制,那么无法建立新的数据文件。
    • 从性能角度考虑,应该将数据文件和从做日志不熟部署到不同的磁盘。应为从做日志的i/0操作非常频繁,所以重做日志放到速度最快的磁盘上。

    3.段(segment)

    段用于存储特定逻辑对象的所有数据,他由一个或多个区组成。当建立表,索引,或簇时,oracle会为这些对象分配段,以存放他们的数据信息,并且段名与对象名完全相同。下面是常用段类型。

    • 表段(数据段):用于存放表的数据(表名=段名)。
    • 索引段:用于存放索引的数据(索引名=段名)。
    • undo段:用于存放事务所修改数据的旧值。
    • 临时段:用于存放排序操作所产生的的临时数据。以下操作会产生临时数据:
    1. create index
    2. select   order by
    3. select distinct 
    4. select group by
    5. select union
    6. select intersect
    7. select minus
    8. analyze命令。

    4.区(extent)

    区由相邻的数据块组成,他是oracle进行空间分配的逻辑单位,并且一个区只能唯一地属于一个数据文件。当建立段时,oracle至少为其分配一个区;当段不足以容纳新数据时,oracle会自动扩展该段,并且为其增加一个区。

    5.oracle块

    oracle块也称数据块,他是oracle在数据文件上执行i/0操作的最小单位,其取值为2k,4k,8k,16k,32k。


     

  • 相关阅读:
    沈阳集训day2
    ac自动机
    2018沈阳集训day1
    洛谷P1875 佳佳的魔法药水
    洛谷P1941 飞扬的小鸟
    Noip2016day2
    1123: [POI2008]BLO
    1718: [Usaco2006 Jan] Redundant Paths 分离的路径
    P3119 [USACO15JAN]草鉴定Grass Cownoisseur
    [LeetCode] Clone Graph
  • 原文地址:https://www.cnblogs.com/zhaojiedi1992/p/oracle11g_sql_0041.html
Copyright © 2011-2022 走看看