本文内容

  • 创建表空间
  • 查看表空间
  • 修改表空间可用性/可读写性
  • 删除表空间
  • Toad 创建表空间
  • 参考资料
  • 修改记录

假设数据库为 Oracle 11g,在 SQL *PLUS 下,用 SYS 用户登录。本文演示创建(永久)表空间,之后,查看表空间信息,再修改表空间的配置,最后,删除表空间。

创建表空间


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

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

其中,LMT 区的分配方式:

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

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

      字典管理方式不存在段管理。

      下面示例演示用本地管理方式创建表空间。

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

      create tablespace mytbs01
      datafile 'D:\oracledata\mytbs01_1.dbf' size 2M
      autoallocate;

      相关文章: