Oracle在逻辑上以表空间存储数据,而实际上是以数据文件存储数据。
表空间和数据文件
  表空间:某一时刻只属于一个数据库;由一个或多个数据文件组成;可近一步划分逻辑存储单元
  数据文件:只能属于一个表空间和一个数据库
表空间类型
 system表空间:
  – 随数据库创建
  – 包含数据字典
  – 包含 SYSTEM 还原段

非SYSTEM表空间:
  – 用于分开存储段
  – 易于空间管理
  – 控制分配给用户的空间量

创建表空间
  创建表空间的命令:create tablespace
  CREATE TABLESPACE tablespace
  [DATAFILE clause]
  [MINIMUM EXTENT integer[K|M]]
  [BLOCKSIZE integer [K]]
  [LOGGING|NOLOGGING]
  [DEFAULT storage_clause ]
  [ONLINE|OFFLINE]
  [PERMANENT|TEMPORARY]
  [extent_management_clause]
  [segment_management_clause]

其中:
  Tablespace:是要创建的表空间的名称
  DATAFILE:指定组成表空间的一个或多个数据文件
  MINIMUM EXTENT:确保表空间内每个占用区的大小是整数 (integer) 的倍数。使用 K 或M以千字节或兆字节为单位指定该大小。
  BLOCKSIZE:BLOCKSIZE 指定表空间的非标准块大小。要指定该子句,必须具有DB_CACHE_SIZE,并至少设置一个 DB_nK_CACHE_SIZE参数,在该          子句中指定的整数(integer) 必须与一个DB_nK_CACHE_SIZE 参数设置相对应。
  LOGGING:指定在缺省情况下,表空间内的所有表、索引和分区的所有更改都写入重做日志文件。LOGGING为缺省设置。
  NOLOGGING:指定在缺省情况下,表空间内的所有表、索引和分区的所有更改都不写入重做日志文件。
  NOLOGGING只影响某些DML 和DDL 命令,如直接加载。
  DEFAULT:DEFAULT指定表空间内创建的所有对象的缺省存储参数。
  OFFLINE:指定表空间从创建后就不可用。
  PERMANENT:指定表空间可用于保留永久对象。
  TEMPORARY:指定表空间仅用于保留临时对象,如:由 ORDER BY子句引起的隐式排序所使用的段。不能指定 EXTENT MANAGEMENT LOCAL BLOCKSIZE 子句。

  extent_management_clause:该子句指定如何管理表空间内的区。

  segment_management_clause:这只与永久的、且在本地管理的表空间相关。通过它可指定Oracle 是否应使用空闲列表或位图来跟踪表空间段中的已占用空间和空闲空间

  datafile_clause:== filename [SIZE integer[K|M] [REUSE] [ autoextend_clause ]

    filename:是表空间中的数据文件的名称。

    SIZE:指定文件大小。使用K 或 M 以千字节或兆字节为单位指定大小。

    REUSE:允许 Oracle 服务器重新使用现有文件。

  autoextend_clause:该子句启用或禁用数据文件的自动扩展。

    NEXT:以字节为单位指定在需要更多区时自动分配的磁盘空间下一增量的大小

    其中:

    MAXSIZE:指定数据文件可以自动扩展到的最大磁盘空间。

    UNLIMITED:指定可分配给数据文件或Tempfile 的磁盘空间是不受限制的。

验证上述参数,示例如下
  SQL> CREATE TABLESPACE userdata DATAFILE '/disk4/ora10/oradata/ora1/userdata01.dbf' SIZE 20M
  2 AUTOEXTEND ON NEXT 500K MAXSIZE 100M
  3 LOGGING ONLINE
  4 EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K;

  Tablespace created.

表空间的空间管理
  表空间以区(extent)为单位分配空间。可使用以下两种不同方法来跟踪创建的表空间中的空闲空间和已占用空间
  本地管理的表空间:在表空间内通过位图管理区。位图中的每个位对应于一个块或一组块。分配了某个区或释放了某个区可重新使用时,Oracle 服务器更改位            图值以显示块的新状态。从 Oracle9i 开始,在本地管理已成为缺省设置。
  字典管理的表空间:由数据字典管理区。Oracle 服务器将在分配或回收区时更新数据字典中对应的表。
  本地管理的表空间:减少了对数据字典表的争用;分配或回收空间时不生成还原数据

示例:
  CREATE TABLESPACE userdata
  DATAFILE '/u01/oradata/userdata01.dbf' SIZE 500M
  EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K;
  EXTENT MANAGEMENT 子句的 LOCAL 选项指定表空间在本地管理。缺省情况下,表空间在本地管理。
  extent_management_clause:
  [ EXTENT MANAGEMENT [ DICTIONARY | LOCAL
  [ AUTOALLOCATE | UNIFORM [SIZE integer[K|M]] ] ] ]
其中:
  DICTIONARY:指定使用字典表来管理表空间。
  LOCAL:指定在本地通过位图管理表空间。如果指定了LOCAL,则不能再指定 DEFAULT
  storage_clause、MINIMUM EXTENT或 TEMPORARY。
  AUTOALLOCATE:指定表空间由系统管理。用户无法指定区大小。这是缺省设置。
  UNIFORM:指定按照大小统一为 SIZE 字节数的各个区来管理表空间。使用K 或 M 以千字节或兆字节来指定区大小。缺省大小为 1 MB

在本地管理表空间的优点:
  1.本地管理的表空间相对于字典管理的表空间有如下优点:
  2.本地管理可以避免循环空间管理操作,但是这种操作在字典管理的表空间中却有可能发生。一旦消耗或释放某个区的空间会
  3.产生另一个消耗或释放操作(消耗或释放还原段或数据字典表内的空间)时,它就会发生。
  4.由于本地管理的表空间在数据字典表中不记录空闲空间,从而减少了对这些表的争用。
  5.区的本地管理可自动跟踪邻近的空闲空间,因而无须合并空闲区。
  6.本地管理的区大小可由系统自动确定。
  7.对区的位图进行更改不会生成还原信息,因为它们不更新数据字典中的表(表空间限额信息等特殊情况除外)。

ORACLE开发:创建与管理表空间和数据文件1相关推荐

  1. Oracle管理表空间和数据文件详解

    管理表空间和数据文件 介绍 表空间是数据库的逻辑组成部分 从物理上将:数据库数据存放在数据文件中 从逻辑上将:数据库则是存放在表空间中 表空间由一个或是多个数据文件组成 数据库的逻辑结构 介绍: Or ...

  2. 管理表空间和数据文件——维护表空间——设置默认表空间和删除表空间和删除数据文件盒临时文件...

    1.设置数据库默认表空间 当建立数据库时,使用default tablespace 选项可以设置数据库的默认表空间.在建立了数据库之后,使用alter database default tablesp ...

  3. Oracle 11g_管理表空间和数据文件(7)

    1. 表空间和数据文件的关系 在Oracle数据库中,表空间和数据文件之间的关系非常密切,这二者之间相互依存,也就是说,创建表空间时必须创建数据文件,增加数据文件时也必须指定表空间. Oracle磁盘 ...

  4. 管理表空间和数据文件——维护表空间——改变表空间的读写状态和改变表空间名称...

    默认情况下表空间是处于可读写状态,用户不仅可以查询表空间上的对象数据,而且可以在表空间上执行dml 和ddl 操作.如果表空间只用于存放静态数据,那么为了便于管理和备份恢复,应该将其转变为只读状态:另 ...

  5. 《Oracle从入门到精通》读书笔记第八章 管理表空间和数据文件之二

    8.5 管理undo表空间 8.5.1 undo表空间的作用 1.使读写一致 2.可以回滚事物 3.事物恢复 4.闪回操作 8.5.2 undo表空间的初始化参数 1.undo_tablespace: ...

  6. 管理表空间和数据文件——使用OMF方式管理表空间

    当使用omf方式管理表空间,需要配置初始化参数db_create_dest.当建立omf表空间会自动建立数据文件,当删除omf表空间时会自动删除omf文件.当使用omf方式管理数据文件时,如果不指定数 ...

  7. 管理表空间和数据文件——建立表空间——建立字典管理表空间和建立加密表空间...

    字典管理表空间是为了与早期版本兼容而保留的空间管理特性.当使用字典管理方式时,区数据字典进行管理. 注意:如果建立字典管理表空间,那么要求system表空间必须采用字典管理方式,并且建立时,需要指定e ...

  8. 创建emp表 oracle,Oracle中创建和管理表详解

    Oracle中创建和管理表详解 更新时间:2013年08月01日 15:44:16   作者: 以下是对Oracle中的创建和管理表进行了详细的分析介绍,需要的朋友可以过来参考下 SQL> /* ...

  9. ORACLE数据库、表空间、数据文件之间的关系

    完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例. 1) 数据库是一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等): 2) Oracle数据库实例则是一组Ora ...

最新文章

  1. linux netstat端口占用,Linux系统使用 netstat 查看和检查系统端口占用情况
  2. 洛谷 - P4197 Peaks(Kruskal重构树+dfs序+主席树)
  3. E24- please install the following Perl modules before executing ./mysql_install_db
  4. oracle12c正在检查环境变量,oracle11g安装客户端检查先决条件失败
  5. 第十届全国社会媒体处理大会 (SMP 2021) 征文通知
  6. day01--课后练习
  7. 数据结构(C++语言版)第三版pdf
  8. 前端三级联动 distpicker插件
  9. 2018年阿里巴巴重要开源项目汇总(持续更新中)
  10. android串口调试源码,android串口调试助手源代码
  11. 服务器虚拟化和桌面虚拟化
  12. 拔掉MacBookPro,用8GB树莓派4工作一天,体验原来是这样的
  13. 摩克机器人_第三章 摩克都市的一场灾难(上)
  14. 网站浏览器可以打开,在微信中打不开,排查问题的过程
  15. 「IT女神勋章」挑战赛#
  16. 消费者和生产者问题,管程法和信号灯法
  17. 烟雨PHP图床程序源码
  18. Laravel学习笔记目录
  19. java — 多线程设计模式
  20. 【码上实战】【立体匹配系列】经典SGM:(2)代价计算

热门文章

  1. 分享Silverlight/WPF/Windows Phone一周学习导读(4月4日-4月9日)
  2. 我程序中用到的第一个递归算法
  3. 用c语言实现随机无向图的生成,C ++程序为给定数量的边生成随机无向图
  4. Sentinel授权规则及规则持久化
  5. RabbitMQ Topic交换机(生产者)
  6. 谁来执行Rebalance以及管理consumer的group呢?
  7. 单体架构到微服务架构的带来的变化
  8. MyBatis 缓存详解-一级缓存(本地缓存)介绍
  9. Spring容器初始化实现V3 版本
  10. maven导入jar包时冲突的解决