oracle数据块内部结构详解

news2024/9/23 11:22:48

文章目录

  • Oracle数据块详解
    • 概述
    • Oracle块具有以下特点:
      • ① 最小的I/O单元;
      • ② 包含一个或多个OS块;
      • ③ 大小由参数DB_BLOCK_SIZE决定;
      • ④ 数据库创建时设置,数据库创建后不能更改


Oracle数据块详解

概述

操作系统块是操作系统读写的最小操作单元,也是操作系统文件的属性之一。当创建一个Oracle数据库时,选择一个基于操作系统块的整数倍大小作为Oracle数据库块的大小。Oracle数据库读写操作则是以Oracle块为最小单位,而非操作系统块。

数据库块也称逻辑块或Oracle块,它对应磁盘上一个或多个物理块,它的大小由初始化参数DB_BLOCK_SIZE决定,可以定义数据块为2K、4K、8K、16K、32K甚至更大,默认Oracle块大小是8K。若一旦设置了Oracle数据块的大小,则在整个数据库生命期间不能被更改。使用一个合适的Oracle块大小对于数据库的调优是非常重要的

Oracle块具有以下特点:

① 最小的I/O单元;

② 包含一个或多个OS块;

③ 大小由参数DB_BLOCK_SIZE决定;

④ 数据库创建时设置,数据库创建后不能更改

在Oracle中,不论数据块中存储的是表(TABLE)、索引(INDEX)或簇表(CLUSTER TABLE),其内部结构都是类似的。Oracle块的结构如下图所示:

在这里插入图片描述
由上图可以看出,一个Oracle块大约由数据块头(包括标准内容和可变内容,Common And Variable Header)、表目录(Table Directory)、行目录(Row Directory)、可用空间(Free Space)和行数据(Row Data)这几部分组成。图中两个箭头表示一个数据块中的可用空间区的容量是可变的。

●数据块头(Block Header):主要包含有数据块地址的一些基本信息(块地址,Block Address)和段的类型(表段、索引段等)。块头自上而下进行增长。

●表目录(Table Directory):如果一个堆组织表在此数据块中储存了数据行,那么该表的信息将被记录在数据块的表目录中。多个表可以将行存储在相同的块中。

●行目录(Row Directory):此区域包含数据块中存储的数据行的信息,即每个数据行片断(Row Piece)在行数据(Row Data)中的地址。一个数据块中可能保存一个完整的数据行,也可能只保存数据行的一部分。当一个数据块(Data Block)的行目录(Row Directory)空间被使用后,即使数据行被删除(DELETE),行目录空间也不会被回收。举例来说,当一个曾经包含50条记录的数据块被清空后,其块头(Header)的行目录仍然占用100字节(Byte)的空间。仅在块中插入新行时,数据库才会重用此空间。

●可用空间(Free Space):是指可以为以后的更新和插入操作分配的空间,大小由PCTFREE和PCTUSED两个参数影响。可用空间位于块的中部,允许头和行数据空间在必要时进行增长。当插入新行或用更大的值更新现有行的列时,行数据会占用可用空间。导致块头增长的事件包括:行目录需要更多的行条目和需要的事务处理插槽数多于最初配置的数目。块中的可用空间最初是相邻的。但是,删除和更新操作可能会使块中的可用空间变成碎片。

●行数据(Row Data):数据块(Data Block)中行数据(Row Data)包含了表或索引的实际数据。一个数据行可以跨多个数据块。行数据空间自下而上进行增长

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2105615.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024 第七届“巅峰极客”网络安全技能挑战赛初赛 Web方向 题解WirteUp

EncirclingGame 题目描述:A simple game, enjoy it and get the flag when you complete it. 开题,前端小游戏,红点出不去就行 直接玩通关了 看看如何不玩也能拿到flag,flag存储在后端php文件内,前端找不到。 看一下…

前端工程化之【模块化规范】

目录 模块化概述:什么是模块化为什么需要模块化 有哪些模块化规范导入与导出的概念CommonJS 规范ES6 官方模块化规范导出数据导入数据Node 中运行 ES6 模块 模块化概述: 什么是模块化 ● 将程序文件依据一定规则拆分成多个文件,这种编码方式…

区块链的含义是什么

目录 区块链的基本定义 区块链的构成与特性 区块链的类型 区块链的应用 区块链的基本定义 区块链是一种分布式数据存储、点对点传输、共识机制和加密算法等计算机技术的新型应用模式。它通过将数据区块按照时间顺序相连形成链式结构,确保数据的真实性和不可篡改…

代码随想录训练营 Day50打卡 图论part01 理论基础 98. 所有可达路径

代码随想录训练营 Day50打卡 图论part01 一、理论基础 DFS(深度优先搜索)和 BFS(广度优先搜索)在图搜索中的核心区别主要体现在搜索策略上: 1、搜索方向: DFS:深度优先,一条路走到…

突破教材,简单聊聊《文件系统》

文章目录 前言:文件系统的引入:认识物理磁盘: 对磁盘的存储进行逻辑抽象:LBA逻辑区块地址: 🚀文件系统的理解:理解各个区段:🛹深入理解 inode:inode和文件名&…

9.4日常记录

一、索英笔试 1.实现strcpy 1.char src[] "Hello, World!";: 这里定义了一个字符数组。这个字符串 "Hello, World!" 的内容被直接存储在这个数组中,数组的大小由字符串的长度加上一个额外的位置用于存储字符串结束符\0自动确定。 …

CSS英文换行

在CSS中,如果你想让英文单词换行,可以使用word-break: break-all;属性。这个属性会强制浏览器在任何字符之间进行换行,即使没有空格或其他分隔符。 没有加样式前的运行结果 CSS样式 p {word-break: break-all; } 运行结果 这将确保段落内的…

【弱监督时间动作定位】Probabilistic Vision-Language Representation for WSTAL 论文阅读

Probabilistic Vision-Language Representation for Weakly Supervised Temporal Action Localization 论文阅读 Abstract1 Introduction2 RELATEDWORK2.1 Weakly Supervised Temporal Action Localization2.2 Vision Language Pre-training2.3 Probabilistic Representation 3…

VS2022卸载记录

Releases microsoft/VisualStudioUninstaller (github.com) 在上面的网址中下载压缩包 下载之后解压,之后选择红框文件,右键选择以管理员身份运行 输入Y,回车 ,之后等待程序执行结束 该操作之后,我发现我的安装目录中…

CentOS7 MySQL 数据库基本使用

3.查看当前库中存在哪些表 mysql> show tables 4.查看表的结构 mysql> describe user mysql> describe mysql.user 5.查询数据库服务的基本信息 mysql> status 二、创建及删除库和表 1.创建新的库 CREATE DATABASE 语句:用于创建一个新的库&…

【音视频】播放音视频时发生了什么? 视频的编解码 H264是什么? MP4是什么?

目录 ✨播放一个视频的流程✨为什么要编码(压缩)视频数据?✨如何编码(压缩)数据🎄简单的例子🎄音视频编码方式🎄视频编码格式H264编码是什么?发展历程?H.264基…

使用python+opencv解析图像和文本数据

1. 创建虚拟环境 新建文件夹, 并在文件夹中创建虚拟环境,可以使用Vscode打开文件夹, 然后在终端中输入以下命令: python -m venv venv2. 激活虚拟环境 在终端中输入以下命令: venv\Scripts\activate3. 安装依赖 在终端中输入以下命令: pip install opencv-pythonpip inst…

docker pull命令拉取镜像失败的解决方案

docker pull命令拉取镜像失败的解决方案 一、执行docker pull命令,拉取镜像失败 报错信息:error pulling image configuration: Get https://production.cloudflare.docker.com/registry-v2/docker/registry/v2/blobs/sha256/51/5107333e08a87b836d48f…

第86集《大佛顶首楞严经》

《大佛顶如来密因修正了义诸菩萨万行首楞严经》。监院法师慈悲,诸位法师,诸位同学,阿弥陀佛! 请大家打开讲义188面 我们这一科讲到,辛三、盗戒。透过大乘的理观跟事修,所谓大乘的戒法来对治偷盗的行为跟偷…

EasyExcel单行或多行表头的简单Excel导出

一般Excel不需要复杂的数据格式导出,只是在表头上略有区别,下面展示单行和多行表头Excel导出 1、单行表头 例如:Excel表头只有单行,那就只需要使用注解ExcelProperty即可实现 ① 添加依赖 首先,在 pom.xml 中添加 E…

zhidianyun01/基于 ThinkPHP+Mysql 的智慧园区+智慧园区管理系统+园区物业管理系统+园区物业管理系统源码

园区物业管理系统园区管理系统园区管理园区物业物业管理系统园区物业管理系统源码 软件架构 ThinkPHPMysql 源码合作 提供完整源代码 软件界面展示

imap发送邮件:如何配置IMAP服务器发邮件?

imap发送邮件的设置教程?如何使用IMAP服务发送邮件? IMAP发送邮件作为一种高效的邮件管理方式,允许用户在多个设备上同步邮件,极大地提升了工作效率。AokSend将详细介绍如何配置IMAP服务器以实现邮件的发送。 imap发送邮件&…

Linux入门攻坚——31、rpc概念及nfs和samba

NFS:Network File System 传统意义上,文件系统在内核中实现 RPC:函数调用(远程主机上的函数),Remote Procedure Call protocol 一部分功能由本地程序完成 另一部分功能由远程主机上的 NFS本质…

通过FFmpeg和URL查看流的编码格式

FFmpeg下载后会有三个执行文件,跳转到FFmpeg所在文件夹 查看视频流URL地址的编码格式命令: // 在下载ffmpeg的文件夹中执行如下命令,可查看流的编码格式,这里的测试流是H264编码ffprobe http://devimages.apple.com/iphone/sample…

CSS学习13

CSS例子 学成网 需要使用的图片&#xff1a; 代码&#xff1a; <html><head><style>/*CSS初始化*/* { /*清除内外边框*/padding: 0;margin: 0;}ul {list-style: none; /*清除列表样式*/}.clearfix:before,.clearfix:after { /*清除浮动*/content: &qu…