oracle学习笔记(10)——逻辑存储结构——段

深入解析Oracle逻辑存储结构:从表空间到数据块的奥秘 在Oracle数据库的世界里,高效的数据管理离不开其精巧的存储结构设计。无论是初学者还是经验丰富的DBA,深入理解Oracle的逻辑存储体系都是掌握数据库管理精髓的关键。本文将带您全面解析Oracle逻辑存储结构的四个核心层级:表空间(Tablespace)、段(Segment)、区(Extent)和块(Block),揭示数据在Oracle中是如何被组织、管理和存储的。 阅读详情

段是由一个或多个扩展区组成的逻辑存储单元,数据库模式对象在逻辑上是以段来占据表空间的大小,段代表特定数据类型的数据存储结构。

1、  段的类型

        段分为:数据段、索引段、临时段、回滚段

        1)数据段

              数据段用来存储表或簇的数据,可以细分为表数据段、索引表数据段、分区表数据段及簇数据段四种。

       2)索引段

             用来存放索引信息,主要包括存储ROWID和索引键。索引段与其相应的表段经常会被同时访问,为了减少硬盘访问的冲突,索引段与表段可以放到处于不同物理位置的表空间中。

       3)临时段

             当用户进行排序查询时,如果在指定的内存无法完成排序,Oracle将自动从用户默认的临时表空间中指派临时段进行排序。会话结束,数据将从临时段中自动删除。

       4)回滚段

             回滚段用于保存数据库的回滚信息,包含当前未提交事务所修改的数据的原始版本。一个事务只能使用一个回滚段存放它的回滚信息,但是一个回滚段可以存放多个事务的回滚信息。回滚段可以动态创建和撤销。

2、  回滚段(UndoSegment)

(1)回滚段的工作方式

          回滚段采用循环写的方式进行写入。当回滚段中最后一个区写满时,Oracle将覆盖写入回滚段的第一个区,如果此时第一个区保存得回滚条目所对应的事务依然处于活动状态(事务未提交),则此时该区不能被覆盖,Oracle将为回滚段分配一个新的区。

          一个回滚段至少需要两个区。一个事务可以占用回滚段中的多个区,同一个区也能够存放多个事务的数据

(2)回滚段的作用

          1)事务回滚

                当启动一个事务时,Oracle把一个回滚段指定给该事务。当事务修改数据时,该数据修改前的信息会保存在该回滚段中,当用户执行事务回滚操作时(ROLLBACK),Oracle会利用保存在回滚段中的数据将修改的数据恢复到原来的值。

          2)数据库恢复

当数据库实例运行失败时,在数据库恢复时,Oracle先利用重做日志文件中的信息对数据文件进行恢复(包括提交事务和未提交事务的恢复),然后利用回滚段中的信息回滚未提交事务对数据的修改。

          3)数据的读一致性

                当一个用户对数据库进行修改,但还没有提交时,系统将用户修改的数据的原始信息保存在回滚段中,这样就可以为正在访问相同数据的其他用户提供一份该数据的原始视图,从而保证当前用户未提交的修改其他用户无法看到,保证了数据的读一致性。

         4)闪回查询

               闪回查询技术是Oracle 10g引入的新特性,利用该技术可以查询某个表过去某个时间点的状态。

(3)回滚段的种类

        1)系统回退段

              创建数据库时Oracle系统自动在SYSTEM表空间中创建一个“SYSTEM”系统回退段。该回退段只用于系统事务的回退处理,保存系统表空间中对象的前影像。

        2)非系统回退段

              用户可以创建非SYSTEM回退段,用于用户事务的回退处理,保存非系统表空间中对象的前影像。非系统回退段又分为私有回退段和公有回退段,其中私有回退段只能被一个实例使用,其数目和名称由ROLLBACK_SEGMENTS参数决定;公有回退段可以被多个实例共享使用,其数目由TRANSACTIONS和TRANSACTION_PER_ROLLBACK_SEGMENT决定。

(4)回滚段的管理

      1)自动撤销(回滚)管理

            如果将初始化参数UNDO_MANAGEMENT设置为AUTO,则启动自动撤销管理方式。DBA不需要为数据库创建多个回滚段,也不需要管理回滚段的使用,只需要为数据库创建撤销表空间,并将UNDO_TABLESPACE参数设置为创建的撤销表空间。这样,数据库运行时的回滚信息就由撤销表空间自动管理。

      2)手动撤销(回滚)管理

            如果将数据库初始化参数UNDO_MANAGEMENT设置为MANUAL,则需要手动进行撤销管理,即需要DBA以手动方式对回滚段进行管理。手动撤销管理增加了DBA的管理负担,正逐渐被Oracle淘汰。

(5)回滚段的查询

 DBA_ROLLBACK_SEGS:包含所有回滚段信息,包括回滚段的名称、所属表空间;

 DBA_SEGMENTS:包含数据库中所有段的信息;

 V$ROLLNAME:包含所有联机回滚段的名称;

 V$ROLLSTAT:包含回滚段的性能统计信息;

 V$UNDOSTAT:包含撤销表空间的性能统计信息;

 V$TRANSACTION:包含事务所使用的回滚段的信息。



Oracle的逻辑存储结构 1:概述 逻辑存储结构主要描述Oracle数据库的内部存储结构,即从技术概念上描述在Oracle数据库种如何组织、管理数据. Oracle的逻辑存储结构如下图所示:                                                           图4 逻辑结构 从逻辑上来看:   1>   数据库是由一个或者多个表空间等组成   2>   一个表 阅读详情

相关推荐

Oracle试卷及答案

Oracle试卷及答案 一、 选择题 1、 段是表空间中一种逻辑存储结构,以下(D)不是ORACLE数据库使用的段类型。 (A) 索引段 (B)临时段 (C)回滚段 (D)代码段 2、 ORACLE数据库物理结构包括以下三种文件,以下不属于的是(A) (A) 系统文件 (B)日志文件 (C)数据文件 (D)控制文件 3、 在一台物理服务器上可以安装多个服务软件,构成逻辑上的多个服务器。为区分这些不同的逻辑服务器,使用了称为(B)的概念。 (A)片 (B)端口 (C)范围 (D)数据块

oracle数据库中最小的逻辑结构,oracle中的逻辑结构讲解

概念:oracle的逻辑结构一般可以分成:表空间(tablespace)、段(segment)、区(extent)、数据块(datablock)。oracle由表空间组成,表空间由段组成,段由区组成,区由数据块组成。分类:表空间:1.表空间是数据库中最大的逻辑单位,几个表空间组成了数据库。2.表空间由一个或多个数据文件在物理上构成,一个数据文件只能属于一个表空间,这里通过数据文件位置的不同形成表...

weixin_34369440的博客 1157

Oracle的回滚段存储内容分析

事务在执行DML操作时,会首先将相关的数据块写入数据缓冲区中,数据缓冲区中存储的是DML操作相关的完整数据块,比如我们对表中的某一个记录执行update操作,oracle会将记录所在的数据块读入数据缓冲区中。 在执行update操作之后,oracle后台进程会首先将修改前的内容(包括数据块中其他记录内容)以及scn,块信息等写入回滚段中,但这里写的时候不仅仅只是简单的块复制,而是将原来的数据块顺序写入回滚段的数据块。测试表明,在源表数据块占用空间较少的情况下(比如设置pctfree为99),对源表两个数据块中记录的修改只占用一个回滚段中的数据块(因为这时回滚段的数据块pctfree值是默认的,相对较小,一个回滚块可以存储更多的源数据块)。但如果设置源表占用空间较大,比如设置默认或者设pctfree为1,则对源表的两个数据块内容修改时,会占用回滚段中的两个数据块。 同时会将修改记录的前后内容都写入重做日志文件中(这里只写入修改前后的该记录的信息,数据块中的其他记录将不会写入重做日志)。 一旦用户对该操作执行了commit或rollback操作,回滚段内容会理解清空。 现在我们来作个测试验证上面的说法。

5 - 数据库存储结构(表空间、段、区和块)

第五课 5.1 表空间、段、区和块 物理和逻辑存储结构: Tablespace:表空间(dba_tablespaces,v$tablespace, dba_free_space) Segment:段(dba_segments,表,index,分区表) select distinct segment_type from dba_segments;(堆表) TABLE:堆表结构 INDEX:索引段 ...

qq_41141058的博客 1668

VS2022离线安装总闪退?可能是这个--noWeb参数没加对(完整参数指南)

本文深入解析了VS2022离线安装过程中常见的闪退问题,指出核心原因往往在于命令行参数使用不当,特别是`--noWeb`参数。文章提供了完整的参数使用指南和实战解决方案,包括证书处理、安装器文件修复及自动化脚本,帮助用户彻底解决离线部署中的验证失败与闪退难题。

weixin_28842269的博客 758

QT的温湿度显示系统

大家好,这里是石侃侃的博客,欢迎前来讨论这篇文章介绍的是DHT11在2440上的基于Qt5.6的应用基于单片机系统的温湿度监测系统构成框图如图2-1所示。图2-1 系统构成框图该系统采用单片机s3c2440作为了本设计的核心元件。利用LCD作为了显示器件,利用触摸屏作为用户界面输入设备,第一行显示当前实时的温度,湿度,第二行依次显示历史时刻最高的温度值,最高的湿度值。第三行是一个文本框,记录了程...

zxpcus的博客 1万+

dba_segments与dba_rollback_segs查询到的rollback结果不一样(原创)

在做一个测试的时候发现从dba_segments与dba_rollback_segs中查看到的rollback segments结果不一致,如下:dba_segments中得到的结果:SQL> select owner,s...

cijieguang1797的博客 487

使用python获取同花顺免费版和同花顺远航版自选股数据用于量化交易

在做量化交易时,有时需要在盘中实时监控同花顺自选股的数量,以便灵活地自定义提醒、捕捉买卖时点等。那么,如何使用python获取同花顺自选股数据呢?

tzzqn2008的专栏 3682

oracle数据库的段,带您了解Oracle数据库的段

Oracle数据库的段是Oracle数据库结构中的重要部分,下面就为您详细介绍Oracle数据库的段,希望对您能够有所帮助。Oracle数据库的段Oracle数据库的段是对象在数据库中占用的空间,虽然Oracle数据库的段和数据库对象是一一对应的,但段是从数据库存储的角度来看的。一个段只能属于一个表空间,当然一个表空间可以有多个段。表空间和数据文件是物理存储上的一对多的关系,表空间和段是逻辑存储上...

weixin_35475608的博客 4357

SAP SD RRB实战:从DIP参数文件到DP90/DP91开票的完整链路解析

本文详细解析了SAP SD模块中RRB(Resource-related Billing)业务场景的完整链路,从DIP参数文件配置到DP90/DP91开票操作。通过实战案例分享DIP参数文件的核心配置技巧、特性设置及物料决定要点,帮助用户掌握动态开票的关键技术,提升SAP SD RRB的实施效率。

weixin_26833939的博客 378

全志D1s RISC-V开发板硬件设计与Linux启动全流程解析

RISC-V架构是当前国产嵌入式处理器演进的核心方向,其启动流程涵盖从BootROM、SPL到U-Boot及Linux内核的多级引导机制。理解该流程需掌握DDR初始化、设备树适配、电源时序控制等底层原理,技术价值在于构建可追溯、可调试、可量产的最小可行系统(MVS)。典型应用场景包括边缘AI推理终端、工业HMI和轻量级网关等对成本与开源性敏感的领域。本文以全志D1s平台为载体,深入剖析基于玄铁C906内核的RISC-V SoC在真实硬件上的启动验证、电源完整性设计与Linux全链路开源实践。

weixin_32306683的博客 358

认识Oracle

Oracle简介:  Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。    SQL Server数据库与Oracle数据库之间最大的区别要属表空间设计。Oracle数据库开创性地提出了表空间的设计理念,这为Oracle数据库的高性能做出了不可磨灭的贡献。可以这么说,Oracle中很多优化都是基于表空间的设计理念而实现的。  ...

漓涂 380

基于爬虫+词云图+Kmeans聚类+LDA主题分析+社会网络语义分析对大唐不夜城用户评论进行分析

本项目是基于携程网中关于大唐不夜城评论的文本分析,项目中用到了Python爬虫、词频分析、词云图分析、kmeans聚类、LDA主题分析、情感分析、社会网络语义分析等。本次实验我们使用了爬虫、词云图、情感分析、LDA主题分析、TF-IDF+Kmeans、社会网络语义分析等对大唐不夜城的评论进行了分析。关于博文中的源码大家可以关注派森小木屋公众号进入粉丝群领取,如对文章有疑惑,请评论区留言。

m0_64336780的博客 1万+

oracle存储结构-----逻辑存储结构(表空间、段、区、块)

当表中数据量增大时,数据段的大小自然也随着变大,数据段的增大过程是通过向其添加新的数据区来实现的。查询等操作时,Oracle可能会使用一些临时存储空间,用于暂时性地保存解析过的查询语句以及在排序过程中产生的临时数据,Oracle系统将在专门用于存储临时数据的表空间中为操作分配临时段。3、··段(多个段组成表空间):数据段(保存表记录)、索引段(保存索引数目)、临时段(临时数据)、回滚段(回滚数据)一个段只属于一个特定的数据对象,每当创建一个具有独立段的数据对象时,Oracle将为它创建一个段。

睡不醒的每天 1592

会员管理小程序实战开发04-用户登录及注册

上一节我们介绍了用户信息数据源的创建及网格布局的使用,本节的话我们讲解用户的登录及注册功能任何开发。 在我们前述章节里介绍的,不论是管理员表还是用户表,都涉及到一个问题就是openid,那这个openid如何获取呢?如果我直接把代码贴给你,就缺失了一个思考的过程。既然这个是微信提出的概念,那么必然就会有官方文档作为对应。程序开发的基本功就是要会看官方文档,很多初学的开发同学可能会对官方文档颇有诟病,觉得不够基础。怎么说呢,当你进入到开发岗之后,自学能力是必要的,还是要试着可以看懂官方文档才好。 登录接口解读

低代码布道师的博客 1568

QT+Halcon实现螺纹检测

工业上要检测螺丝的内外直径、内外牙距、内外角度,现在比较好用的图像处理库,开源的opencv,收费的有halcon。为了实现螺纹检测,和对比螺纹检测拿个库比较好。分别用opencv和halcon实现了螺纹检测,通过对比发现用halcon实现的效果比较。现在用博客把实现过程记录下来: 1、需要检测的螺纹数据如下: 2、为了实现检测螺丝以上数据,螺纹内径、螺纹外径、螺纹外牙距、螺纹...

专注现代C++实战,从核心语法到高性能编程,助力开发者深入掌握系统级编程精髓。 7050

Oracle数据库存储结构--逻辑存储结构

概念逻辑存储结构是从逻辑的角度来分析数据库的构成的,是数据库创建后利用逻辑概念来描述Oracle数据库内部数据的组织和管理形式。在操作系统中,没有数据库逻辑存储结构信息,而只有物理存储结构信息。数据库的逻辑存储结构概念存储在数据库的数据字典中,可以通过数据字典查询逻辑存储结构信息。逻辑结构单元类型数据块:BLOCK区:EXTENT段:SEGMENT表空间:TABLESPACE段是由一个或多个连续或不连续的区组成的逻辑存储单元。数据库模式对象在逻辑上是以段来占据表空间的大小。

2403_83147124的博客 1018

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

oracle逻辑存储结构

一、定义二、数据块二、区(extent)2.1 区的分配2.2 区的释放三 段3.1段的分类3.2 段相关的视图四、表空间4.1 表空间分类4.1.1 大文件表空间4.1.2 系統表空間4.1.3 辅助表空间4.1.4 回滚表空间4.1.5 临时表空间 一、定义 oracle的逻辑结构包括表空间(tablespace),段(segment),扩展区(extent),数据块(data block)...

whandgdh的博客 6698

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Oracle存储结构:物理存储结构和逻辑存储结构

1、 物理存储结构 1.1 oracle数据文件 数据文件是保存Oracle数据的操作系统文件。 数据文件由头部、区间(已分配的空间)和空闲空间(未分配的空间)组成。 头部:将数据文件标识为数据库的一部分;存储了数据文件所属的表空间和最后执行的检查点等细节。 每个oracle数据文件都只属于一个表空间,并且由若干操作系统块组成。 1.2 操作系统块 操作系统块是文件系统所使用的最小分配单位。 ...

weixin_44516119的博客 2113

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Oracle存储结构简介

Oracle存储结构 Oracle存储结构分物理存储结构和逻辑存储结构。 物理存储结构:数据文件、日志文件和控制文件 逻辑存储结构:数据块 -> 区 -> 段 -> 表空间 -> 数据库 Oracle存储结构示意图 Oracle物理存储结构 1. 数据文件 每一个ORACLE数据库有一个或多个物理的数据文件(data file)。一个数据库的数据文件包含全部数据库数据。

Mike_ToUp 6670

Oracle 数据库逻辑存储结构介绍

什么是存储结构 数据库的主要功能就是存储数据,数据库存储数据库的方式一般称作存储结构。 Oracle 数据库的存储结构 Oracle 数据库的存储结构分为逻辑存储结构和物理存储结构。 逻辑存储结构用来描述Oracle 内部组织和管理数据的方式。 物理存储结构用来描述Oracle 数据库在操作系统中的物理文件的组成方式。 Oracle数据库的逻辑存储结构 Oracle 数据库的逻辑存储结构是一种层次...

测试小虾米晋级之路 3145

Oracle数据库存储结构:逻辑存储结构(一)

Oracle数据库存储结构:逻辑存储结构数据块(data blocks)区(extents)段(segments)表空间(tablespaces) 本文所讨论的内容涉及的数据库版本为 Oracle 19c。 数据块(data blocks) 区(extents) 段(segments) 表空间(tablespaces) ...

Sebastien23的博客 5594

Oracle 体系结构之存储结构详解(逻辑 + 物理)

文章目录1 概述2 逻辑存储结构2.1 表空间 tablespace2.2 段 segment2.3 区 extend2.4 数据块 block3 物理存储结构 1 概述 说明: 1. 逻辑结构 (1) 对应关系:'一对多' (2) 大小关系: 表空间 TableSpace > 段 Segment > 区 Extent > 数据块 Block 2. 物理结构 (1) '数据文件': '系统和用户数据',默认以 'DBF' 为扩展

鱼丸丶粗面 3741

浅谈Oracle存储管理(一):存储结构

Oracle数据库浅谈存储管理第1篇:存储结构。 逻辑结构:块、区、段、表空间;物理结构:数据文件。

但行好事,莫问前程 2996

oracle从入门到精通--逻辑存储结构

逻辑存储结构

2302_80755459的博客 590
上一篇: oracle学习笔记(9)——逻辑存储结构——区
下一篇: oracle学习笔记(11)——数据库实例
hackerain
博客等级 码龄16年 753粉丝 220原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值