欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle 11g Release 1 (11.1) 表空间创建和扩展(永久)表空间

程序员文章站 2024-01-11 11:32:28
...

Oracle 11g Release 1 (11.1) 表空间mdash;mdash;创建和扩展(永久)表空间,手动(MANUAL)- Oracle 将使用空闲列表(free li

本文内容

  • 创建(永久)表空间
  • 查看表空间
  • 扩展表空间
  • 创建(永久)表空间

    Oracle 按照区和段空间进行管理表空间。

    区管理方式 - 针对区的分配方式的不同,有两种方式:字典管理方式(dictionary-managed tablespace,DMT)和本地管理方式(local-managed tablespace,,LMT)。Oracle 10g 开始强烈建议使用 LMT 方式。从 Oracle 9i 开始,创建表空间时默认使用 LMT。

    其中,LMT 区的分配方式:

  • 统一(UNIFORM)- 统一分配。指定表空间中所有区的大小都相同。默认值是 1MB。
  • 自动(AUTOALLOCATE 或 SYSTEM)- 自动分配。指定有 Oracle 系统来自动管理区的大小。这是默认设置。
  • 段管理方式 – LMT 方式,除了可以指定区的分配方式外,还可以指定段的管理方式。段空间管理方式主要是指 Oracle 用来管理段中已用数据块和空闲数据块的机制。分为两种:

  • 手动(MANUAL)- Oracle 将使用空闲列表(free list)管理段的已用数据块和空闲数据块。这是传统的段空间管理方式,为了与以前的版本兼容。
  • 自动(AUTO)- Oracle 将使用位图(bitmap)来管理段的已用数据块和空闲数据块。通过位图中单元的取值判断段中的数据块是否可用。
  • 字典管理方式没有段管理。

    下面示例演示用本地管理方式创建表空间。这是 Oracle 推荐的方式。

    示例 1:使用 AUTOALLOCATE 区分配方式。创建表空间 mytbs01,数据文件是 D:\oracledata\mytbs01_1.dbf,大小为 2M,并指定区分配方式为 AUTOALLOCATE。

    create tablespace mytbs01datafile 'D:\oracledata\mytbs01_1.dbf' size 2Mautoallocate;

    示例 2:使用 UNIFORM 区分配方式。创建表空间 mytbs02,数据文件是 D:\oracledata\mytbs02_1.dbf 和 D:\oracledata\mytbs02_2.dbf,有两个文件,大小分别为 1M 和 2M,并指定区分配方式为 UNIFORM。

    2Muniform size 128k;

    示例 3:使用数据文件扩展方式。创建表空间 mytbs03,并指定数据文件扩展方式为自动增长,每次 1M,最大扩展到 11M。

    2M maxsize 11M;

    此时,就不能再指定 UNIFORM。

    示例 4:使用 AUTO 段管理方式。创建表空间 mytbs04,区分配管理方式为 UNIFORM ,大小为默认值;用 segment space management 指定段管理方式。

    create tablespace mytbs04datafile 'D:\oracledata\mytbs04_1.dbf' size 3M reuseuniformsegment space management auto;

    Oracle 11g Release 1 (11.1) 表空间创建和扩展(永久)表空间