`

Oracle段的概念总结(原创)

阅读更多

段概述

段(segment)由一组数据扩展(extent)构成,其中存储了表空间内各种逻辑存储结构的数据。例如,Oracle能为每个表的数据段(data segment)分配数据扩展,还能为每个索引的索引段(index segment)分配数据扩展。

数据段简介

在Oracle数据库中,一个数据段可以供以下方案对象(或方案对象的一部分)容纳数据:

1、非分区表或非簇表

2、分区表的一个分区

3、一个簇表

当用户使用CREATE 语句创建表或簇表时,Oracle创建相应的数据段。表或簇表的存储参 数(storage parameter)用来决定对应数据段的数据扩展如何被分配。用户可以使用 CREATE 或ALTER语句直接设定这些存储参数。这些参数将会影响与方案对象(object)相关的数据段的存储与访问效率。

索引段

Oracle 数据库中每个非分区索引(nonpartitioned index)使用一个索引段(index segment)来容纳其数据。而对于分区索引(partitioned index),每个分区使用一个索引段来容纳其数据。

用户可以使用CREATE INDEX语句为索引或索引的分区创建索引段。在创建语句中,用户可以设定索引段的数据扩展(extent)的存储参数(storage parameter)以及此索引段应存储在哪个表空间中。(表的数据段和与其相关的索引段不一定要存储在同一表空间中。)索引段的存储参数将会影响数据的存储与访问效率。

临时段简介

当Oracle处理一个查询时,经常需要为SQL语句的解析与执行的中间结果(intermediate stage)准备临时空间。Oracle会自动地分配被称为临时段 (temporary segment)的磁盘空间。例如,Oracle在进行排序操作时就需要使用临时段。当排序操作可以在内存中执行,或Oracle设法利用索引就执行时,就不必创建临时段。

需要使用临时段的操作:

1、CREATE INDEX

2、SELECT ... ORDER BY

3、SELECT DISTINCT ...

4、SELECT ... GROUP BY

5、SELECT . . . UNION

6、SELECT ... INTERSECT

7、SELECT ... MINUS

有些不能使用索引的关联操作(unindexed join),或者需要在子查询间建立相互关系(correlated subqueries),也可能需要使用临时段(temporary segment)。所以当查询包含DISTINCTGROUP BY ,或 ORDER BY 子句时,Oracle有可能使用两个临时段。

临时表及索引使用的临时段

Oracle可以为临时表及其索引分配临时段。临时表中的数据只在会话或事务的运行期内存在。

临时段如何被分配
Oracle为查询(query)与临时表(temporary table)分配临时段(temporary segment)的过程是不同的。

为查下分配临时段

在用户会话(session)期间,如果用户需要,Oracle可以在用户的临时表空间内为用户创建临时段。管理员可以使用 CREATE USERALTER USER 语句中的 TEMPORARY TABLESPACE 子句指定用户默认使用的临时表空间

TIPS:用户默认使用的永久表空间(permanent tablespace) 也可以同时被设定为(temporary tablespace)。

在字典管理模式下的表空间,如果没有为用户指定临时表空间,那么默认的临时表空间为 SYSTEM 。同时在$ORACLE_BASE/admin/bdump/alert.log下会有相关的报错信息。临时表空间的默认存储参数决定了临时段的数据扩展如何分配。在语句结束时Oracle负责移除临时段

因为临时段的分配与回收经常发生,所以有必要为创建临时段准备一个专用的表空间。这样可以分流磁盘设备的I/O,也可以减少由于在 SYSTEM 或其他表空间内频繁创建临时段而造成的碎片。


参考至:Oracle Concepts  (10g R2)
原创文章,转载请注明出处、作者
如有错误,欢迎指正

邮箱:czmcj@163.com

0
0
分享到:
评论

相关推荐

    自己总结的server教程和Oracle笔记

    作者提供的“Oracle自学笔记”很可能是他个人在学习过程中对概念、语法、操作以及问题解决方法的记录,对于初学者或者正在学习Oracle的人来说,这样的笔记通常包含了丰富的实战经验和技巧。 【标签】:“数据库” ...

    Oracle Database Concepts 10.2 .pdf

    这表明Oracle公司非常重视其产品的原创性和独特性,同时也提醒用户必须遵守相应的许可协议条款。 ### 六、美国政府权利声明 对于美国政府及其授权机构的使用,文档中明确规定了其权利范围。这部分内容指出了当软件...

    ADO.NET 总结(原创)

    在这个总结中,我们将深入探讨ADO.NET在数据读取、数据添加、修改和删除以及GridView填充方面的用法,并对比SQL Server和Oracle数据库的实现方式。 1. 数据读取: ADO.NET 使用 SqlConnection 对象连接到 SQL ...

    杨长老数据库大会分享

    总结以上内容,Oracle数据库的分区技术是数据库管理中的高级技巧,通过合理应用分区技术,数据库管理员可以有效地提升数据库性能、简化数据维护工作以及优化查询效率。从Oracle 8.0到最新版本,分区技术不断进化,...

    ocp 笔记 原创

    ### 一、Oracle概念 #### 1. Oracle 文件类型 - **数据库文件**:一个数据库至少包含一个数据文件,每个数据文件仅关联一个数据库。数据文件支持自扩展功能,在空间不足时自动增长。 - **重做日志文件**:记录...

    2021-2022年收藏的精品资料企业管理系统毕业论文.doc

    总结来说,这篇毕业论文详细阐述了一个基于Java和Oracle数据库的企业进销存管理系统的设计与实现,系统覆盖了企业管理的核心业务流程,旨在提高企业运营效率,同时展现了作者在软件开发和项目管理上的综合能力。...

    最新数据库系统原理课程设计模版.doc

    在进行课程设计时,学生应遵循原创性原则,避免抄袭,确保作品的独立性和原创性。同时,严格按照报告格式和要求完成,以展示自己的学习成果和专业素养。通过这个过程,学生不仅能掌握数据库系统设计的各个环节,还能...

    mysql 学习笔记 绝对原创 包含工作中常用的语句 存储过程 函数 触发器等

    这篇学习笔记将深入探讨MySQL的基础知识,包括数据类型、操作命令、存储过程和触发器等核心概念。 首先,让我们来看看MySQL的一些基本特点。与其他数据库系统如Oracle、SQL Server和DB2相比,MySQL以其开源免费和高...

    大模型理论基础打卡Task05

    本资源摘要信息还包括了多个案例研究,例如作家协会诉Google、Google诉Oracle、Fox News诉TVEyes、Kelly诉Arriba、Sega诉Accolade等。这些案例研究旨在阐述大模型理论基础中的法律和道德问题。 隐私法律 大模型...

    多数据库数据同步系统

    总结来说,“多数据库数据同步系统”是一个能够整合MySQL、Oracle、SQL Server和Sybase等多种数据库的解决方案,它解决了数据集成中的诸多挑战,如跨平台兼容性、数据转换、冲突处理和性能优化等。通过这样的系统,...

    《数据库课程设计》指导手册2013(V2.0)

    - 学生可以选择VC、VB、C#、ASP.Net、Java、Delphi等作为开发工具,以及SQL Server、Oracle、DB2、Sybase等数据库系统。 - 设计报告要求至少5000字,包含主要源代码,要求原创,不得抄袭。 2. 考勤、考核与成绩:...

    数据库专业课程设计任务与指导基础手册.doc

    3. **开发工具与环境**:学生可以选择VC、VB、C#、ASP.Net、Java、Delphi等作为开发工具,而数据库可选用SQL Server、Oracle、DB2、Sybase等。设计可以是Windows界面的C/S架构,也可以是Web界面的B/S架构。 4. **...

    《数据库课程设计》任务与指导手册2013(V2.0).doc

    - 开发工具与数据库:可选用VC、VB、C#、ASP.Net、Java、Delphi等作为开发工具,SQL Server、Oracle、DB2、Sybase等作为数据库。 - 应用类型:可以选择开发Windows界面的C/S系统,或者Web界面的B/S系统。 - 设计...

    J经典AVA 论文 论文模板

    Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle Corporation的一部分)于1995年发布。它的设计目标是提供一种简单、安全、跨平台、高性能的语言,能够编写一次,到处运行。Java论文通常会...

    数据库任务书

    3. 数据库管理系统可自由选择,如Oracle、SQL Server、MySQL或Access等,同时可以选择合适的可视化开发工具,如VC、VB、PB、C++Builder、Delphi、C#、.NET或ASP等,开发语言不限,但重点应放在设计而非学习新语言上...

    数据库课程设计报告任务及指导手册2013V2.0.doc

    在这个过程中,学生将选择一款开发工具,例如VC、VB、C#、ASP.Net、Java、Delphi等,以及一个数据库系统,如SQL Server、Oracle、DB2、Sybase等,来创建一个具体的应用程序。以“图书管理系统”为例,设计任务可能...

    chapter1.zip

    在本文中,我们将详细探讨Java语言的核心概念、语法以及在实际开发中的应用。 一、Java简介 Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司)于1995年推出。它的设计目标是“一次...

    《电子商务概论》习题..doc

    以上是对《电子商务概论》各个章节的主要知识点的概括和总结。这些知识点涵盖了电子商务的基本概念、发展历程、商业模式、网络营销、电子商业管理、供应链管理、系统建设、安全技术、支付系统、物流系统以及相关法律...

    java 实现计算器

    总结起来,这个Java实现的计算器项目涉及了Java编程语言的基本概念、面向对象的设计、GUI编程、事件处理、字符串解析和数学运算等多个核心知识点。通过学习和理解这个项目,开发者可以提升自己的Java编程技能,对GUI...

Global site tag (gtag.js) - Google Analytics