`

关于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数据库添加数据文件

    Oracle数据库数据表空间添加数据文件。可以解决 ORA-1691: unable to extend lobsegment 错误

    ORACLE数据库基础知识-华为维护资料

    第1章 ORACLE数据库基础知识 1 1.1 产品概述 1 1.1.1 产品简介 1 1.1.2 基本概念 1 1.2 ORACLE系统结构 2 1.2.1 ORACLE物理结构 2 1.2.2 系统全局区 4 1.2.3 进程 6 1.3 存储管理 7 1.3.1 逻辑结构 8 1.3.2 表...

    查询Oracle数据库表占用率

    查询Oracle数据库表占用率,其中包括两个字段描述segment_name,bytes,表面和大小。

    Oracle9i数据库系统概述.pdf

    每个Oracle数据库要求至少有两 个或两个以上的控制文件。 7 除了以上三类物理文件之外,数据库中还包 含初始化参数文件、口令文件、归档的日志 文件等物理文件。 初始化参数文件在数据库启动和数据库性能 调优时使用...

    Oracle数据库中利用ASSM改善分段存储

    从Oracle8i开始,Oracle开始在tablespace内部将对象管理进行自动化。表格空间增强了自动分段空间管理(ASSM),ASSM的tablespace是通过将SEGMENT SPACE MANAGEMENT AUTO子句添加到tablespace的定义句法里而实现的。...

    oracle数据库笔记

    3.段 (Segment) 18 4.表空间(Table Spaces) P34 18 三. 内存结构 19 1.数据缓冲区: 内存的40% 19 2.日志缓冲区: 19 3.数据字典缓冲区: 19 4.共享池 内存的10% 19 5.大池 5-10M 20 6.JAVA池 不小于20M 20 7....

    oracle 10g问题总结

    oracle 10g问题总结 1. 查询oracle中所有用户信息 select * from dba_users; 2. 只查询用户和密码 select username,password from dba_users; 3. 查询当前用户信息 select * from dba_ustats; 4. 查询...

    最全最通俗易懂的ORACLE学习笔记

    个人在学习ORACLE过程当中记录下来的学习笔记,通俗易懂,适合想快速了解ORACLE基本语法的朋友

    Oracle 闪回技术详细介绍及总结

    Oracle闪回技术详解,这里整理了4种闪回技术,对Oracle 闪回技术做一个整理总结。  概述:  闪回技术是Oracle强大数据库备份恢复机制的一部分,在数据库发生逻辑错误的时候,闪回技术能提供快速且最小损失的恢复...

    oracle truncate恢复工具

    PRM For Oracle Database – schema级别oracle数据库数据恢复特性 ,PRM即ParnassusData Recovery Manager是企业级别Oracle数据库灾难恢复工具。PRM可以在无备份的情况下恢复被truncated/drop掉的表,也可以恢复无法...

    dmp数据库文件导入数据库.docx

    1、创建表空间 create tablespace hnust_data datafile 'D:\oracle\oradata\orcl\hnust_data.bdf' size 200m autoextend on next 20m segment space management auto; 创建用户(以system用户登录) --创建用户,...

    数据库oracle11g导出 空表

     ORACLE 11G中有个新特性,当表无数据时,不分配segment,以节省空间。 解决方法:  1)insert一行,再rollback就产生segment了  该方法是在在空表中插入数据,再删除,则产生segment。导出时则可导出空表。 ...

    oracle9i优化设计与系统调整

    §1.1 Oracle数据库结构 23 §1.1.1 Oracle数据字典 23 §1.1.2 表空间与数据文件 24 §1.1.3 Oracle实例(Instance) 24 §1.2 Oracle文件 26 §1.2.1 数据文件 26 §1.2.2 控制文件 26 §1.2.3 重做日志文件 26 §...

    关于ORACLE通过file_id与block_id定位数据库对象遇到的问题引发的思考

    在ORACLE中,我们可以通过file_id(file#)与block_id(block#)去定位一个数据库对象(object)。例如,我们在10046生成的trace文件中file#=4 block#=266 blocks=8,那么我可以通过下面两个SQL去定位对象 SQL 1:此...

    Oracle常用技术资料合集.zip

    二、《Oracle数据库SQL执行计划的取得和解析》PPT(附SQL文件) 三、Oracle 常用脚本 2pc_clean.txt ash_sql_line_id.txt ash_top_sql_event.txt ash_used awr_db_time.txt awr_event_histogram.txt awr_metric_...

    最全的oracle常用命令大全.txt

    Oracle数据库有哪几种启动方式 说明: 有以下几种启动方式: 1、startup nomount 非安装启动,这种方式启动下可执行:重建控制文件、重建数据库 读取init.ora文件,启动instance,即启动SGA和后台进程,这种启动...

    Oracle8i_9i数据库基础

    第一章 Oracle数据库基础 23 §1.1 理解关系数据库系统(RDBMS) 23 §1.1.1 关系模型 23 §1.1.2 Codd十二法则 24 §1.2 关系数据库系统(RDBMS)的组成 24 §1.2.1 RDBMS 内核 24 §1.2.2 数据字典概念 25 §1.3 ...

    Oracle回滚段的概念,用法和规划及问题的解决

    Oracle回滚段的概念,用法和规划及问题的解决

    ORACLE9i_优化设计与系统调整

    §1.1 Oracle数据库结构 23 §1.1.1 Oracle数据字典 23 §1.1.2 表空间与数据文件 24 §1.1.3 Oracle实例(Instance) 24 §1.2 Oracle文件 26 §1.2.1 数据文件 26 §1.2.2 控制文件 26 §1.2.3 重做日志文件 26 §...

    Oracle 10G笔记

    第一节课 1. 数据库发展概况 网状数据库 关系数据库 对象数据库 2. 关系数据库特点 数据完整性 数据安全性 ...7. 逻辑结构(块block、盘区extent、段segment、表空间tablespace、数据文件datafile)

Global site tag (gtag.js) - Google Analytics