`

关于oracle数据库段segment的总结

阅读更多

段(segment)是一种在数据库中消耗物理存储空间的任何实体(一个段可能存在于多个数据文件中,因为物理的数据文件
 是组成逻辑表空间的基本物理存储单位)

 

今天碰到一个高水位问题:

一个分区表,删除某个分区中的一些数据后,表空间并没有回收。

 

原因:

如果一个表不进行分区,那么一个表就是在一个segment中。如果一个表进行多个分区,那么每一个分区就在一个segment。如果delete掉其中一些数据,那么空间是不会回收的

除非trunc掉这个分区。

 

解决办法:

用导出导入分区交换的办法,回收数据库表空间。

 

--创建临时表导出某天数据

createtable temp_msgbody  asselect*from im_msginfo_body partition(P_MSGINFO_BODY_20141213)

 

--清空导出的分区

altertable im_msginfo_body truncatepartition P_MSGINFO_BODY_20141213

 

--分区交换,将数据倒回

ALTERTABLE im_msginfo_body EXCHANGEPARTITION P_MSGINFO_BODY_20141213WITHTABLE temp_msgbody withvalidation;

 

segment(段)概念:

段(segment)是一种在数据库中消耗物理存储空间的任何实体(一个段可能存在于多个数据文件中,因为物理的数据文件
 是组成逻辑表空间的基本物理存储单位)

 更多的通用段是

 表(table),用来保存行列结构的数据
 索引(Index),用来加快访问速递
 回滚(Rollback),在用户事务期间和执行事务恢复期间用来维护读一致性的特殊的段,回滚段会被宰第8章节管理一致和
  并发继续说明
 分区(partition),为实现性能目标把表分成更小的更加容易管理的片。 

 


EXTENTS 是有由存储空间连续的块组成,但是每一个扩展只能驻留在单个数据文件中

Database blocks 是orcacle中更小的块,他操作系统块组成。

OS块


段是由扩展组成的,一到二亿个扩展,由于每个扩展只能属于单个数据文件,所以段可以分布在不同的数据文件中,
扩展是由数据库块组成的,
每个扩展,数据库块是有操作系统块组成。

表空间是为方便管理物理的分组模式对象(schema objects),表空间是物理结构(数据文件和和扩展)和逻辑结构(表和索引)的桥梁,

 

 

 

 

访问段可以用sql语言,C语言,cobol,Java等语言。

 

一张只能占用一个段的空间,当这个表的数据增加,段可以为表重新分配新的区,这样空间就可以扩展了;
还有,一个段只属于一个表空间,一个表空间可以有多个段;表空间和段是逻辑存储结构上的一对多的关系;
表空间和数据文件也是一对多的关系,段和数据文件不是没有直接关系;
但一个段可以属于多个数据文件;

所以当段空间不足时,也就是相当于表空间不足;只要你扩展表空间大小或新增数据文件就可以了;

分享到:
评论

相关推荐

    ORACLE数据库学习总结资料.pdf

    Oracle数据库学习总结资料.pdf 是一份关于 Oracle 数据库的学习总结资料,涵盖了 Oracle 数据库的各个方面,包括 Oracle 的简介、简单查询、标量函数和算数运算、多表查询、列函数和分组、子查询、表的更新操作、表...

    oracle数据库、表空间及数据文件之间的关系

    表空间可以进一步细分为多个段(Segment),段又可以细分为多个区间(Extent),最终由数据块(Block)构成。通过这种方式,Oracle能够高效地管理存储空间,并实现数据的快速存取。 #### 三、数据文件的作用 数据...

    oracle数据库知识.pptx

    Oracle数据库的存储结构主要包括Block、Extent、Segment、Tablespace和Database等。Block是最小的I/O单位, extent是一组连续的数据块,Segment是有共同结构的一个或几个区域,Tablespace是一组物理数据的逻辑组合...

    oracle数据库操作常见错误以及解决方案

    总的来说,处理Oracle数据库操作中的错误需要对数据库的内部工作原理有深入理解,包括表空间管理、回滚段和临时表空间的使用,以及数据块的维护。通过监控数据库性能、定期备份和及时调整资源分配,可以有效地预防和...

    Oracle数据库试题及答案.pdf

    1. **段(Segment)**:在Oracle数据库中,段是表空间内的一个逻辑存储单元,它由一个或多个Extent组成。常见的段类型包括数据段(Data Segment)、索引段(Index Segment)、回滚段(Rollback Segment)和临时段...

    Oracle数据库介绍-2008-12-12及介绍Oracle常见的问题

    ### Oracle数据库介绍与常见问题详解 #### 一、Oracle数据库结构设计概要 Oracle数据库是一种关系型数据库管理系统(RDBMS),被广泛应用于企业级数据管理领域。为了更好地理解和使用Oracle数据库,了解其基本结构是...

    oracle_数据库性能健康检查脚本

    "oracle数据库性能健康检查脚本" Oracle数据库性能健康检查脚本是一种用于检查Oracle数据库性能的工具,帮助DBA快速检查数据库的健康状况。下面是该脚本中涉及到的知识点: 一、操作系统层检查 * 使用ps命令检查...

    oracle数据库练习A

    7. **参数maxtrans**:`maxtrans`参数指定每个表段(segment)上允许的最大并发事务数。 8. **操作系统认证**:要使用操作系统认证作为DBA连接,`remote_login_passwordfile`参数应设置为`EXCLUSIVE`。 9. **查询...

    Oracle数据库DBA面试题50道及答案.pdf

    Oracle数据库DBA(Database Administrator)是负责Oracle数据库系统运行管理的专业技术人员。在准备面试Oracle数据库管理员岗位时,掌握相关的技术知识和处理问题的能力是非常重要的。以下是针对给定的Oracle数据库...

    Oracle数据库索引的维护

    ### Oracle数据库索引的维护 在Oracle数据库管理与优化的过程中,索引的维护是非常关键的一环。合理地创建、管理和优化索引能够显著提高查询性能,降低系统的响应时间,从而提升整个应用程序的效率。本文将从Oracle...

    Oracle数据库备份与恢复总结

    ### Oracle数据库备份与恢复知识点总结 #### 一、EXP/IMP (导出与导入) **1.1 基本命令** - **EXP**: 用于从数据库导出数据。 - `exp username/password [参数]` - **IMP**: 用于向数据库导入数据。 - `imp ...

    ORACLE数据库一次意外宕机的分析处理实记(ora-1578)[文].pdf

    "ORACLE数据库一次意外宕机的分析处理实记(ora-1578)" 在本文中,我们将讲述ORACLE数据库一次意外宕机的分析处理过程。该宕机事件发生在测试环境中的一台装有ORACLE数据库的AIX小机上,导致数据库宕机。我们将从...

    oracle数据库回滚段专题解析

    在Oracle数据库中,回滚段(Rollback Segment)是一种非常重要的数据结构,主要用于存储数据修改前的状态信息,即所谓的“前影像”。这一机制对于确保数据库的一致性、支持事务回滚及数据恢复具有关键作用。回滚段...

    Oracle数据库空间的使用和管理

    Oracle数据库空间的管理和使用是数据库管理员的关键任务,它直接影响到数据库的性能和应用程序的响应速度。Oracle数据库将存储空间逻辑上划分为多个表空间,每个表空间由一个或多个物理数据文件组成。数据存储的基本...

    《Oracle数据库性能优化实践指南》PDF

    《Oracle数据库性能优化实践指南》是一本专注于Oracle数据库性能调优的专业书籍,旨在帮助读者深入理解和掌握如何在实际环境中提升Oracle数据库的运行效率。Oracle数据库是全球广泛使用的大型企业级数据库管理系统,...

    Oracle数据库面试题及答案

    Oracle 数据库是关系数据库管理系统的领导者,本文总结了常见的 Oracle 数据库面试题,旨在帮助尚在找工作的大蛱们。下面是详细的知识点解释: 1. 如何判断数据库的时区? 答案:SELECT DBTIMEZONE FROM DUAL; 知识...

    ORACLE数据库学习总结.pdf

    以下是对Oracle数据库的详细学习总结: 一、ORACLE_简介 Oracle数据库的发展历程表明其不断适应技术变革。Oracle 8引入了对Internet的支持,Oracle 9i强化了网格计算的概念,Oracle 10g进一步提升了网格技术,而...

Global site tag (gtag.js) - Google Analytics