本地管理(locally managed)的表空间使用在每个数据文件中存储的位图(bitmpa)来管理区(extents)。

本地管理的表空间通过使用位图来跟踪表空间的所有区的信息。

本地管理表空间提供以下好处:
1)快速的并发的空间操作。空间分配和取消分配修改本地管理的资源(存储在文件头部中的位图)。
2)增强的性能
3)允许可读的备数据库,因为本地管理的临时表空间不会道理任何undo或redo
4)简化空间分配,因为当指定AUTOALLOCATE子语句时,数据库自动选择合适的区大小。
5)减少了用户对数据字典的依赖,因为必要的信息存储在文件头部和位图块中
6)对于本地管理的表空间,合并空闲的区是不必要的。

所有的表空间,包含SYSTEM表空间,都可以是本地管理的。

包DBMS_SPACE_ADMIN提供了本地管理表空间在维护存储过程。

1. 创建本地管理的表空间

通过在CREATE TABLESPACE语句的EXTENT MANAGEMENT子语句中指定LOCAL来创建本地管理的表空间。

这是新的永久表空间的缺省设置,但必须指定EXTENT MANAGEMENT LOCAL子语句来指定AUTOALLOCATE子语句或UNIFORM子语句。可以使用AUTOALLOCATE子语句让数据库自动管理区(缺省),或使用统一的指定大小(UNIFORM)的区来管理表空间。

如果预计表空间包含各种大小的对象,对象要求很多不同区大小的区,那么AUTOALLOCATE是最佳选择。如果不需要过多地控制空间分配和取消分配,AUTOALLOCATE也是好的选择,因为它简化了表空间管理。这个设置可能会浪费一些空间,但让数据库管理空间的好处很可能大于它的缺点。

如果想精确控制未使用的空间,可以精确预计为每个对象分配的空间和区的数量和大小,那么UNIFORM是好的选择。这个设置确保在表空间中不会有未使用的空间。

当没有明确指定区管理的类型时,数据库根据以下情况来决定区管理:
1)如果CREATE TABLESPACE语句忽略了DEFAULT存储子语句,那么数据库创建一个本地管理的自动分配的表空间。
2)如果CREATE TABLESPACE语句包含了DEFAULT存储子语句,那么数据库的考虑如下:
a.如果指定了MINIMUM EXTENT子语句,数据库衡量MINIMUM EXTENT,INITIAL和NEXT的值是否相同和PCTINCREASE是否为0。如果是,数据库使用INITIAL的区大小来创建本地管理的统一表空间。如果MINIMUM EXTENT,INITIAL和NEXT参数不同,或PCTINCREATE不是0,那么数据库忽略指定的区存储参数,创建一个本地管理的自动分配的表空间。
b.如果没有指定MINIMUM EXTENT子语句,那么数据库只衡量INITIAL和NEXT的值是否相同和PCTINCREASE是否为0。如果是,表空间是本地管理和统一大小的,否则表空间是本地管理和自动分配的。

例如,下面的语句创建一个名为lmtbsb的本地管理的表空间和指定AUTOALLOCATE:
CREATE TABLESPACE lmtbsb DATAFILE ‘/u02/oracle/data/lmtbsb01.dbf’ SIZE 50M
EXTENT MANAGEMENT LOCAL AUTOALLOCATE;

AUTOALLOCATE子语句让表空间由系统管理,最小的区大小是64K。

AUTOALLOCATE的替代选项是UNIFORM,它指定表空间使用统一的区大小进行管理。可以通过UNIFORM的SIZE子语句指定大小。如果忽略SIZE,那么缺省大小是1M。

以下示例创建一个使用统一的128K区大小的表空间(如果数据库的块大小是2K,那么每个区相当于64个数据库块)。每个128K的区在这个文件的区位图中被1位来表示。
CREATE TABLESPACE lmtbsb DATAFILE ‘/u02/oracle/data/lmtbsb01.dbf’ SIZE 50M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K;

当明确指定EXTENT MANAGEMENT LOCAL时,不能指定DEFAULT存储子语句,MINIMUM EXTENT或TEMPORARY。为了创建临时本地管理的表空间,使用CREATE TEMPORAY TABLESPACE语句。

2. 在本地管理的表空间中指定段空间管理

在本地管理的表空间中,数据库可以使用两种方法来管理段(segment)空间:自动和手动。

手动段空间管理使用称为空间列表的链接列表来管理段中的空闲空间,而自动段空间管理使用位图。自动段空间管理是更有效的方法,它是所有新的永久的本地管理表空间的缺省设置。

自动段空间管理比手动段空间管理提供更好的空间利用。它是自调整的,随着用户或实例的增加而扩展。在RAC环境中,自动段空间管理允许空间与实例之间的动态匹配(affinity)。另外,对于很多标准负载,使用自动段空间管理的应用程序的性能比使用手动段空间管理调整好的应用程序的更好。

尽管自动段空间管理是所有新的永久的本地管理的表空间的缺省设置,也可以明确使用SEGMENT SPACE MANAGEMENT AUTO子语句启用。

例如,下面的语句创建使用自动段空间管理的表空间lmtbsb:
CREATE TABLESPACE lmtbsb DATAFILE ‘/u02/oracle/data/lmtbsb01.dbf’ SIZE 50M
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO;

SEGMENT SPACE MANAGEMENT MANUAL子语句禁用自动段空间管理。

在表空间创建时指定的段空间管理应用到所有后来在表空间中创建的段。不能更改表空间的段空间管理模式。

来源:《Oracle Database Database Administrator’s Guide, 19c》

Oracle本地管理的表空间相关推荐

  1. oracle操作之传输表空间

    一.传输表空间概述 什么是传输表空间,传输表空间技术始于oracle9i,不论是数据字典管理的表空间还是本地管理的表空间,都可以使用传输表空间技术:传输表空间不需要在源数据库和目标数据库之间具有同样的 ...

  2. 本地化管理的表空间的创建相关参数说明

    语法: 本地化管理的表空间的创建过程: 语法:CREATE TABLESPACE 表空间名字 DATAFILE '数据文件详细信息' [EXTENT MANAGEMENT { LOCAL {AUTOA ...

  3. Oracle本地管理对照数据字典管理表空间

    Locally vs. Dictionary Managed Tablespaces 整理自:http://www.orafaq.com/node/3. When Oracleallocates sp ...

  4. 本地区间管理 oracle,Oracle:本地表空间管理,字典表空间管理

    本地管理表空间 一.概述 1.理解本地管理表空间的由来 2.理解什么是字典管理表空间及工作原理 3.理解本地管理表空间的优势(为什么要使用本地管理表空间) 4.理解本地管理表空间的内部结构 5.理解字 ...

  5. ORACLE DBA学习笔记--表空间的管理(tablespace)

    表空间是个逻辑概念. 表空间是ORACLE的最大逻辑结构.表空间是组织数据和分配空间的逻辑结构. 特性: 一个表空间有多个数据文件组成,但一个数据文件只属于一个表空间 一个数据库可以有多个表空间,可以 ...

  6. oracle命令清空数据库表,Oracle中如何快速删除数据字典管理的表空间-数据库专栏,ORACLE...

    我的测试环境:hp rp7410主机,hp-unix11.11 os,oracle8.1.7.4的数据库,一个有90张表大约100g的测试表空间tbs_test. 问题的提出:oracle中在使用dr ...

  7. Oracle在线撤销表空间,创办、管理撤销表空间

    撤销管理模式: 用户通过设定撤销管理模式(undo mode)就可以灵活地选择使用手动撤销管理(manual undo management)或自动撤销管理(automatic undo manage ...

  8. 11G Oracle RAC添加新表空间时数据文件误放置到本地文件系统的修正

    今天看了一篇文章说是误将新创建的表空间的数据文件放置在了本地系统而不是共享存储上. 是Oracle的中文技术支持博客题目是:RAC中误将数据文件创建在本地盘时的修正 于是我想11G 也兼容这些操作的方 ...

  9. Oracle bigfile 大文件表空间会影响rman等备份效率

    Database 是由一个或多个被称为表空间(tablespace)的逻辑存储单位构成.表空间内的逻辑存储单位为段(segment),段又可以继续划分为数据扩展(extent).而数据扩展是由一组连续 ...

最新文章

  1. 在Visual C++下搭建OpenGL的开发环境
  2. android四大组件 简书,android四大组件
  3. windows10 网络热点
  4. [转]UINavigationController的用法详解
  5. 在.NET Core日志记录中使用Trace和TraceSource
  6. 团队第二次冲刺第一天
  7. Hive总结(十二)Hive查询进阶
  8. 软件管理 --软件仓库的搭建
  9. ROS机器人语音模块
  10. rgb转换 css 字体
  11. linux tig不支持中文,tig — 让 git 命令行可视化
  12. TLS1.3抓包分析(3)——EncryptedExtentions等
  13. 走弯路,才是人生的常态
  14. [RL robotic 环境] - [Robosuite](1)
  15. Altium Designer在由原理图导入PCB图报错:Number of nets in differential pair NET-TX+ is 1 instead of 2
  16. 春联大全·七字联(1)
  17. navicat连接mysql1044_Navicat访问MySQL出现1044/1045错误的解决方法
  18. 基于分区表的物化视图快速刷新以及维护
  19. 简单又复杂的三层网络转发技术
  20. c语言输入float就报错,c语言 输入float类型 出错处理

热门文章

  1. WMS仓库商品预警需求分析(附代码解析)
  2. Android 项目工程优化
  3. 手机摄像头的心得体会---camera模组生产流程
  4. android 7.1 权限自动授权(不弹出授权对话框)
  5. spring实习总结
  6. 地理位置 百度地图api
  7. wow金色平原服务器显示rp,听说国服唯一一个RP 服务器金色平原!有此服玩家么?求真相!...
  8. Base64加解密实现
  9. SRT上传文件下载文件
  10. matlab ema 向量化,Matlab匿名函数,向量化和预分配,函数的函数,P码文件