Oracle逻辑空间管理
Oracle 数据库基于您创建的表空间的类型来管理其中的空间。您可以创建下列类型的表空间之一:
·本地管理表空间 (默认值)
数据库使用表空间本身中的位图来管理扩展区。因此,本地管理表空间需要预留表空间的一部分用于位图。在一个表空间中,数据库可以使用自动段空间管理(ASSM)或手动段空间管理(MSSM)来管理段。
·字典管理表空间
数据库使用数据字典来管理扩展区。
本地管理表空间在数据文件头中维护一个位图,以跟踪数据文件体中的可用空间和已用空间。每一位对应一组块。当空间被分配或释放时,Oracle 数据库更改位图值,以反映数据块的新状态。下面的图形是位图管理存储的概念表示。标头中的1是指已用空间,而0指可用空间。
·避免使用数据字典来管理扩展区
如果消耗或释放一个扩展区会导致在数据字典表或撤消段中消耗或释放空间,则在字典管理的表空间中会发生递归操作。
·自动跟踪相邻的可用空间
通过这种方式,数据库消除了合并空闲扩展区的需要。
·自动确定本地管理扩展区的大小
或者,在本地管理表空间中所有的扩展区可以具有相同的大小,并覆盖对象存储选项。
注意:Oracle 强烈建议使用自动段空间管理的本地管理表空间。
ASSM 方法使用位图管理空间。位图提供了以下优点:
·简化管理
ASSM 可以避免手动确定许多存储参数的正确设置的需要。只有一个很关键的控制空间分配的SQL 参数:PCTFREE。此参数指定要为块中保留用于将来的更新的空间百分比。
·增强并发性
多个事务可以搜索多个相互独立的空闲数据块列表,从而减少争用和等待。对很多标准工作负载,使用 ASSM 的应用程序性能比使用优化得很好的使用 MSSM 的应用程序性能更好。
·对Oracle 真正应用集群(Oracle RAC)环境中实例的空间动态亲合性
ASSM 更有效,并且是永久性本地管理表空间的默认值。
除了PCTFREE,MSSM 需要您使用额外的几个SQL 参数(如 PCTUSED、FREELISTS、和FREELIST GROUPS)来控制空间分配。PCTUSED设置在当前使用块中必须存在的可用空间百分比,当使用率低于该百分比时,数据库会将其放入空闲列表中。例如,如果CREATE TABLE 语句中设置PCTUSED为40,则只有当块空间使用少于40%的情况下, 您才能往段中的块插入新行。
作为一个说明,假设向一个表中插入行。数据库检查该表的空闲列表,以查找第一个可用的块。如果行无法容纳进该块中,并在块中已使用空间大于或等于PCTUSED,则数据库将该块从空闲列表中移除,并搜索另一个块。如果从块中删除行,则数据库检查块中的已使用空间现在是否小于 PCTUSED。如果是,则数据库将该块置于空闲列表的开头。
字典管理表空间使用数据字典来管理其扩展区。每当分配或释放了一个扩展区时,Oracle 数据库更新数据字典中的表。例如,当表需要扩展区时,数据库查询数据字典表,并搜索空闲扩展区。如果数据库找到了空间,则修改一个数据字典表,并插入一行。按这种方式,数据库通过修改和移动数据来管理空间。
Oracle逻辑空间管理相关推荐
- Oracle数据库空间管理
创建表空间 create tablespace re_segs datafile 'E:\Database\datashow.dbf' ...
- Oracle PCTfree assm,Oracle 段空间管理方式与PCTFREE和PCTUSED的概念
Oracle 段空间管理方式与PCTFREE和PCTUSED的概念 SQL> create table test11 (ID number(10),score number(10,1),name ...
- oracle实现分段,用Oracle分段空间管理功能改进数据库性能
如果Oracle数据库表出现大量碎片数据,则会浪费磁盘空间和严重影响性能.这时可以使用Oracle分段空间管理功能,特别是Oracle数据库分段压缩功能. 更新或删除表的记录,会在数据块中形成许多的空 ...
- oracle表空间管理图形界面,Oracle表空间管理和优化
Oracle 表空间管理和优化 1. TOM大神的表查询和授权语句create or replace procedure SHOW_SPACE(P_SEGNAME IN VARCHAR2, Oracl ...
- ORACLE表空间管理维护
1:表空间概念 在ORACLE数据库中,所有数据从逻辑结构上看都是存放在表空间当中,当然表空间下还有段.区.块等逻辑结构.从物理结构上看是放在数据文件中.一个表空间可由多个数据文件组成. 如下图所示, ...
- oracle 表空间管理
表空间是ORACLE数据库最高层次的逻辑存储结构,保存段.区.块,由一个或多个数据文件组成. 块的存储管理 块是ORACLE存储结构的最小单位.块大小分为标准数据块和非标准数据块 标准数据块由DB_B ...
- Oracle表空间管理和维护
1 表空间概念 在ORACLE数据库中,所有数据从逻辑结构上看都是存放在表空间当中,当然表空间下还有段.区.块等逻辑结构.从物理结构上看是放在数据文件中.一个表空间可由多个数据文件组成.一个数据库由对 ...
- ArcSDE for Oracle表空间管理——暂时(TEMP)表空间
Oracle暂时表空间主要用来做查询和存放一些缓冲区数据.暂时表空间消耗的主要原因是须要对查询的中间结果进行排序. 重新启动数据库能够释放暂时表空间,假设不能重新启动实例,而一直保持问题sql语句的运 ...
- 3、Oracle表空间管理
表空间的管理类型: 数据字段管理的表空间(DMT) 本地化管理的表空间(LMT) 查询表空间是否是本地化管理方式,可以使用以下语句: 创建表空间,oracle将完成两个工作,一个在数据字典和控制文件, ...
最新文章
- Python代码选中文乱码
- dubbo协议_阿里P8架构师谈微服务架构:Dubbo+Docker+SpringBoot+Cloud
- oracle 统计一年中每个月数据总和_excel表格有每月数据 怎样统计全年的-用excel公式怎样计算每年每个月的数据总和?...
- c++ eos智能合约开发_干货|EOS智能合约开发(一)EOS环境搭建和启动节点
- tstringgrid 单元格区域获取_对合并单元格的序号填充还在一个个的手动录入?那就真的Out了!...
- Oracle数据库之对象视图、索引、序列、同义词
- 智能化服务器怎么调,怎么设置dns 智能dns设置方法 【图文】
- iOS工程师常用的命令行命令总结
- 第十二章 trie路由--基于Linux3.10
- 深入.NET编程 第十一章 影院售票系统
- nuget下载太慢的问题解决方案 多次尝试下载该 nupkg 均已失败解决方案
- 电脑录屏怎么录?3个方法,教你如何录制视频
- 利用Python制作王者战力查询以及皮肤查看软件
- Windows修改本地域名解析文件hosts
- gnutls_handshake() failed: A TLS packet with unexpected length was received
- Linux下看股票行情的绿色小软件
- 面试最常问的设计模式
- python绘制随机网络图形
- JAVA Io 流 字符流 编码表 编码和解码的方法
- 交换内存SWAP使用率90%