段概述
段(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)。所以当查询包含DISTINCT
,GROUP BY
,或
ORDER BY
子句时,Oracle有可能使用两个临时段。
临时表及索引使用的临时段
Oracle可以为临时表及其索引分配临时段。临时表中的数据只在会话或事务的运行期内存在。
临时段如何被分配
Oracle为查询(query)与临时表(temporary
table)分配临时段(temporary segment)的过程是不同的。
为查下分配临时段
在用户会话(session)期间,如果用户需要,Oracle可以在用户的临时表空间内为用户创建临时段。管理员可以使用 CREATE USER
或 ALTER 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
分享到:
相关推荐
作者提供的“Oracle自学笔记”很可能是他个人在学习过程中对概念、语法、操作以及问题解决方法的记录,对于初学者或者正在学习Oracle的人来说,这样的笔记通常包含了丰富的实战经验和技巧。 【标签】:“数据库” ...
这表明Oracle公司非常重视其产品的原创性和独特性,同时也提醒用户必须遵守相应的许可协议条款。 ### 六、美国政府权利声明 对于美国政府及其授权机构的使用,文档中明确规定了其权利范围。这部分内容指出了当软件...
在这个总结中,我们将深入探讨ADO.NET在数据读取、数据添加、修改和删除以及GridView填充方面的用法,并对比SQL Server和Oracle数据库的实现方式。 1. 数据读取: ADO.NET 使用 SqlConnection 对象连接到 SQL ...
总结以上内容,Oracle数据库的分区技术是数据库管理中的高级技巧,通过合理应用分区技术,数据库管理员可以有效地提升数据库性能、简化数据维护工作以及优化查询效率。从Oracle 8.0到最新版本,分区技术不断进化,...
### 一、Oracle概念 #### 1. Oracle 文件类型 - **数据库文件**:一个数据库至少包含一个数据文件,每个数据文件仅关联一个数据库。数据文件支持自扩展功能,在空间不足时自动增长。 - **重做日志文件**:记录...
总结来说,这篇毕业论文详细阐述了一个基于Java和Oracle数据库的企业进销存管理系统的设计与实现,系统覆盖了企业管理的核心业务流程,旨在提高企业运营效率,同时展现了作者在软件开发和项目管理上的综合能力。...
在进行课程设计时,学生应遵循原创性原则,避免抄袭,确保作品的独立性和原创性。同时,严格按照报告格式和要求完成,以展示自己的学习成果和专业素养。通过这个过程,学生不仅能掌握数据库系统设计的各个环节,还能...
这篇学习笔记将深入探讨MySQL的基础知识,包括数据类型、操作命令、存储过程和触发器等核心概念。 首先,让我们来看看MySQL的一些基本特点。与其他数据库系统如Oracle、SQL Server和DB2相比,MySQL以其开源免费和高...
本资源摘要信息还包括了多个案例研究,例如作家协会诉Google、Google诉Oracle、Fox News诉TVEyes、Kelly诉Arriba、Sega诉Accolade等。这些案例研究旨在阐述大模型理论基础中的法律和道德问题。 隐私法律 大模型...
总结来说,“多数据库数据同步系统”是一个能够整合MySQL、Oracle、SQL Server和Sybase等多种数据库的解决方案,它解决了数据集成中的诸多挑战,如跨平台兼容性、数据转换、冲突处理和性能优化等。通过这样的系统,...
- 学生可以选择VC、VB、C#、ASP.Net、Java、Delphi等作为开发工具,以及SQL Server、Oracle、DB2、Sybase等数据库系统。 - 设计报告要求至少5000字,包含主要源代码,要求原创,不得抄袭。 2. 考勤、考核与成绩:...
3. **开发工具与环境**:学生可以选择VC、VB、C#、ASP.Net、Java、Delphi等作为开发工具,而数据库可选用SQL Server、Oracle、DB2、Sybase等。设计可以是Windows界面的C/S架构,也可以是Web界面的B/S架构。 4. **...
- 开发工具与数据库:可选用VC、VB、C#、ASP.Net、Java、Delphi等作为开发工具,SQL Server、Oracle、DB2、Sybase等作为数据库。 - 应用类型:可以选择开发Windows界面的C/S系统,或者Web界面的B/S系统。 - 设计...
Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle Corporation的一部分)于1995年发布。它的设计目标是提供一种简单、安全、跨平台、高性能的语言,能够编写一次,到处运行。Java论文通常会...
3. 数据库管理系统可自由选择,如Oracle、SQL Server、MySQL或Access等,同时可以选择合适的可视化开发工具,如VC、VB、PB、C++Builder、Delphi、C#、.NET或ASP等,开发语言不限,但重点应放在设计而非学习新语言上...
在这个过程中,学生将选择一款开发工具,例如VC、VB、C#、ASP.Net、Java、Delphi等,以及一个数据库系统,如SQL Server、Oracle、DB2、Sybase等,来创建一个具体的应用程序。以“图书管理系统”为例,设计任务可能...
在本文中,我们将详细探讨Java语言的核心概念、语法以及在实际开发中的应用。 一、Java简介 Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司)于1995年推出。它的设计目标是“一次...
以上是对《电子商务概论》各个章节的主要知识点的概括和总结。这些知识点涵盖了电子商务的基本概念、发展历程、商业模式、网络营销、电子商业管理、供应链管理、系统建设、安全技术、支付系统、物流系统以及相关法律...
总结起来,这个Java实现的计算器项目涉及了Java编程语言的基本概念、面向对象的设计、GUI编程、事件处理、字符串解析和数学运算等多个核心知识点。通过学习和理解这个项目,开发者可以提升自己的Java编程技能,对GUI...