`

Oracle数据块

 
阅读更多

      数据块(Block)-------(最小i/o单位)

      是最小的数据管理单位,是执行输入输出操作时的最小单位。

      Oracle的数据块是操作系统数据块大小的整数倍。

      Oracle取数据时,总是获取整个数据块。

      数据库中标准的数据块(data block)容量是由初始化参数 DB_BLOCK_SIZE 指定的

1、数据块的组成

     块头部:包含块中一般的属性信息(块的物理地址、所属段的类型等)

     表目录:如果块中存储的是表数据,则表目录存储关于表的信息

     行目录:存储该块中有效的行信息

     空闲空间:数据块中尚未使用的存储空间

     行空间:  块中已经使用的存储空间,存储表或索引的数据。

2、查看数据块的大小

    

show parameter db_block_size
select value from v$parameter where name='db_block_size'

3、Oracle数据文件大小的限制

1、默认创建表空间时BLOCKSIZE 是8k,文件最大是32G
2、可以把BLOCKSIZE设置为16k,

      SQL〉alter system set db_16k_cache_size=34603008;这样一个表空间datafile最大可以到64G

3、可以把BLOCKSIZE设置为32k,这样一个表空间datafile最大可以到128G

    

       在oracle11g中引进了bigfile表空间,他充分利用了64位CPU的寻址能力,使oracle可以管理的数据文件总量达到8EB。单个数据文件的大小达到128TB,即使默认8K的db_block_size也达到了32TB。创建bigfile的表空间使用的sql语句也很简单。create bigfile tablespace...后面的语句和普通的语句完全一样。

 

Oracle数据文件的大小存在一个内部限制:每个数据文件最多只能包含2^22-1个数据块。

这个限制也就直接导致了每个数据文件的最大允许大小。

        在2K Block_size下,数据文件最大只能达到约8G

        在32K的Block_size下,数据文件最大只能达到约16*8G的大小。

这个限制是由于Oracle的Rowid中使用22位来代表Block号,这22位最多只能代表2^22-1个数据块。

       为了扩展数据文件的大小,Oracle10g中引入了大文件表空间,在大文件表空间下,Oracle使用32位来代表Block号,也就是说,在新的技术下,大文件表空间下每个文件最多可以容纳4G个Block。那么也就是说当Block_size为2k时,数据文件可以达到8T。当block_size为32K时,数据文件可以达到128T。当然这一限制和操作系统有关。

补充:

1、区(extent)---(最小空间分配单位

      是物理上连续存放的块。区是Oracle存储分配的最小单位,块是最小I/O单位。

      一个或多个块组成区,一个或多个区组成段

     

参考:http://zhangyafeng0917.blog.163.com/blog/static/44436412201401811217598/

分享到:
评论

相关推荐

    Oracle数据块结构分析说明BLOCK结构详解

    在Oracle中,数据块的大小可配置,例如文档中提到的blocksize:8192字节,即Oracle数据块可以设置为8KB大小。数据块内部又分为不同的区域,包括数据头(Block Header)、数据区(Data Area)以及自由空间(Free Space...

    Oracle数据块原理分析

    ### Oracle 数据块原理分析 #### 一、Oracle 数据块概述 Oracle 数据库是业界领先的数据库管理系统之一,其高效的数据管理机制使得它能够在多种环境中提供稳定且高性能的服务。Oracle 数据库中,最基本的数据管理...

    oracle数据块解析

    Oracle 数据块解析是理解 Oracle 数据库内部工作原理的关键部分。数据块是数据库进行最小 I/O 操作的单位,它包含了存储在表、索引和其他数据库对象中的数据。在这个过程中,我们将通过一系列步骤来了解数据块的内部...

    oracle数据块结构分析说明

    "Oracle数据块结构分析说明" Oracle 数据块结构是 Oracle 数据库存储数据的基本单元。一个数据块(Block)是 Oracle 数据库中的最小存储单元,它是数据文件(Datafile)中的一部分。每个数据块的大小可以是 2k、4k...

    oracle数据块损坏及恢复

    oracle数据块损坏及恢复,模拟了坏块报错,调整事件绕过坏块

    【转】Oracle数据块深入分析总结

    Oracle 数据块深入分析总结 Oracle 数据块是 Oracle 数据库中最基本的存储单元,每个数据块都包含了数据、索引、事务控制信息等内容。在本文中,我们将对 Oracle 数据块的内部结构进行深入分析,并且使用 dump 和 ...

    Oracle数据块原理深入剖析.doc

    Oracle数据块的深入剖析涉及到以下几个关键概念和原理: 1. **数据块的定义**:Oracle数据块,简称"块",是Oracle数据库最小的存储单位。每个数据块占用特定的磁盘空间,并且这个空间是Oracle数据库专有的,不同于...

    oracle数据块(block)结构详解

    本文将深入解析Oracle数据块的结构及其相关知识点。 首先,Oracle数据块由多个部分组成,主要包括: 1. 头部(Header):数据块头部包含了关于数据块本身的信息,如数据块号、块状态、块的所有者、以及用于锁定和...

    Oracle数据块损坏知识.pdf

    Oracle数据块是Oracle数据库中最小的I/O单位,同时也是RDBMS中具体存放数据的区域。一个数据块在物理存储上对应着磁盘上的一定区域,这个区域可能跨越多个磁盘。数据块的大小是可配置的,常见的数据块大小有2KB、4KB...

    Oracle数据块原理的深入剖析.docx

    Oracle 数据块原理深入剖析 Oracle 数据块是数据库管理系统的核心组件之一,它是 Oracle 存储数据的最小单位。每个数据块占用特定的磁盘空间,并且是 Oracle 读写操作的基本单位。Oracle 数据块的设计和管理对...

    oracle坏块处理

    在Oracle数据库管理中,遇到ORA-01578错误,即“Oracle数据块损坏”,是DBA(数据库管理员)们经常面临的一项挑战。这种错误通常伴随着ORA-01110错误,指向特定的数据文件及其损坏的区块,对数据库的正常运行造成...

    Oracle坏块故障葵花宝典.docx

    本文档总结了两次典型的 Oracle 坏块故障处理过程,包括平湖索引块坏和黄山数据文件坏、blob 数据块坏两种情况。通过对错误日志的分析和数据库检查,发现了坏块的位置和类型,并采取相应的解决措施,包括重建索引和...

    Oracle表空间和数据文件的管理.docx

    - **区段与Oracle数据块**:每个区段由一个或多个连续的Oracle数据块组成。 - **数据文件与操作系统数据块**:每个数据文件由一个或多个操作系统数据块组成。 这种分层设计有助于提高数据库的管理和性能优化能力。 ...

Global site tag (gtag.js) - Google Analytics