数据块(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数据块原理分析
Oracle数据块结构分析说明BLOCK结构详解,讲解块结构,并且附有实例说明,对块的存储方式进行详细说明
oracle数据块解析
oracle数据块损坏及恢复,模拟了坏块报错,调整事件绕过坏块
Oracle数据块原理深入理解,带你了解ORACLE底层的知识
讲解块结构,并且附有实例说明,对块的存储方式进行详细说明
Oracle数据块损坏知识Oracle数据块损坏知识Oracle数据块损坏知识Oracle数据块损坏知识Oracle数据块损坏知识
Oracle数据块原理深入剖析.doc
Oracle数据块原理的深入剖析.docx
网上搜集的一些关于数据块结构、ITL事务槽的详细解释
Oracle对数据库数据文件(datafile)中的存储空间进行管理的单位是数据块(data block),本文将详细介绍
NULL 博文链接:https://hbyuan.iteye.com/blog/850709
Oracle 数据坏块处理在rman工具中执行数据库备份
其实对于坏块来说,修复的办法还是很多的,下面这篇文章主要给大家介绍了关于Oracle数据块损坏之10231内部事件不完全恢复的相关资料,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们...
在Oracle 8i以前的版本里,当数据块被从磁盘送进数据缓冲区的时候,数据块会被自动地放置到最近使用过的数据列表的前部。但是,这种行为从Oracle 8i开始...在本文Oracle高级教程里,会探讨Oracle数据缓冲区的内部机制。
不依赖oracle的运行环境,可以直接从oracle数据块中下载数据到文本文件。可以用为dba的辅助工具。有详细的用户说明以及运行配置信息。
oracle 数据库老方块 课堂试听课