ORACLE 数据块PCTFREE和PCTUSED】的更多相关文章

PCTFREE表示一个数据块可用空间小于PCTFREE时,该数据块不在被记录在FREELIST中,即不能插入新数据. PCTUSED表示一个数据块已经用空间如果小于PCTUSED时,该数据块才会被重新记录在FREELIST中,可以插入新数据. 举个例子: 一个数据块的PCTFREE是10%,PCTUSED是40%. 假如这个数据块可以存储100条记录. 数据块没有数据的时候,是处于FREELIST中的.当数据插入到90条的时候,从FREELIST中移除,不能插入新数据.然后DELETE数据,当数…
数据块概述Oracle对数据库数据文件(datafile)中的存储空间进行管理的单位是数据块(data block).数据块是数据库中最小的(逻辑)数据单位.与数据块对应的,所有数据在操作系统级的最小物理存储单位是字节(byte).每种操作系统都有一个被称为块容量(block size)的参数.Oracle每次获取数据时,总是访问整个数(Oracle)数据块,而不是按照操作系统块的容量访问数据. 数据库中标准的数据块(data block)容量是由初始化参数 DB_BLOCK_SIZE 指定的.…
详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp57 数据块(Oracle Data Blocks),本文简称为"块",是Oracle最小的存储单位,Oracle数据存放在"块"中.一个块占用一定的磁盘空间.特别注意的是,这里的"块"是Oracle的"数据块",不是操作系统的"块". Oracle每次请求数据的时候,都是以块为单位…
测试环境:11.2.0.4 1.构建数据块损坏的测试环境 2.有备份:常规恢复坏块 3.无备份:跳过坏块 1.构建数据块损坏的测试环境 1.1 创建测试表 --Create Table t_test conn jingyu/jingyu drop table t_test purge; create table t_test (id number, name char(2000)); --Insert data insert into t_test values(1, 'alfred 1');…
错误信息: java.sql.SQLException: ORA-01578: ORACLE 数据块损坏 (文件号 17, 块号 315703) ORA-01110: 数据文件 17: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DEMO.DBF' 可能的原因有很多,比如物理磁盘坏块,比如Oracle故障--,反正不好定位具体的问题 简单.粗暴的解决办法: 1.查询有坏块的表 select tablespace_name, segment_type, owner…
最小单位的输入\输出 数据块由操作系统中的一个或多个块组成 数据库是表空间的基本单位 DB_BLOCK_SIZE 查看 Oracle 块的大小语句: SQL> show parameter db_block_size 在早期的数据库中,Oracle 只支持一种数据块的大小.从 9i 版本支持了改变大小的设置.但也不是随便改动的,规定范围在 2KB 到 32KB 之间,必须是倍数增加的,也就是 2KB\4KB\8KB\16KB\32KB 五种大小. 需要注意的是,块大小的设置是在数据库创建时候设置…
一.建立表时候,注意PCTFREE参数的作用 PCTFREE:为一个块保留的空间百分比,表示数据块在什么情况下可以被insert,默认是10,表示当数据块的可用空间低于10%后,就不可以被insert了,只能被用于update:即:当使用一个block时,在达到pctfree之前,该block是一直可以被插入的,这个时候处在上升期. PCTUSED:是指当块里的数据低于多少百分比时,又可以重新被insert,一般默认是40,即40%,即:当数据低于40%时,又可以写入新的数据,这个时候处在下降期…
实验:某个分区数据块损坏,不完全恢复此分区表数据 背景:数据库没有有效备份,某个分区中有数据块损坏. 要求:最大限度恢复此分区数据. 环境:RHEL 6.4 + Oracle 11.2.0.4 1. 初始化实验环境 2. 模拟分区中有数据块损坏情景 3. 尝试使用Oracle内部事件10231进行不完全恢复 Reference 1. 初始化实验环境 初始化创建模拟实验环境用到的表空间.业务用户.表,并导入测试数据. 本次实验用到表空间DBS_D_JINGYU, 业务用户JINGYU, 分区表T_…
1. rdba(Tablespace relative database block address) 是相对数据块地址,是数据所在的地址,rdba可就是rowid 中rfile#+block#. 根据rdba获取file#和block#,使用10进制的rdba ), dbms_utility.data_block_address_block() FROM dual; Block dump from disk: buffer tsn: --表示表空间 rdba: )--相对地址,文件号+块号 s…
http: 最近在研究块的内部结构,把文档简单整理了一下,和大家分享一下.该篇文章借助dump和BBED对数据 库内部结构进行了分析,最后附加了一个用BBED解决ORA-1200错误的小例子.在总结的过程中参考了 <Disassembling the Oracle Data Block>以及网上的翻译版本.  dump说明  创建表空间和测试表:  create tablespace testblock datafile '/opt/oracle/oradata/oradb/testblock…