oracle碎片产生原因,oracle碎片小结

oracle碎片小结

author:skate

time:2010-05-31

我们在使用windows的时候,都知道要定期整理磁盘碎片,因为磁盘碎片会影响性能,给管理上带来额外的

负担。那oracle更是如此,当随着数据增加,oracle处理海量数据本身就已经很费力了啊,如果再有大量

的碎片,那就是雪上加霜啊。所以碎片要引起dba的高度重视,尽早发现尽早处理。

碎片是怎么产生的呢?

简单理解就是由于更新和删除产生一些碎小的不能被再次使用的空间,根据每种不同的碎片他们的产生也是有区别的

block-level的碎片,而block又分为data block和index block,在data block中存放的是row数据,在index block

中存放的是索引键值数据,所以按上面所说,block-level碎片有细分为row-level碎片和Index Leaf Block-level碎片。

oracle的每一个对象都是存储在segment中,而oracle的最小分配单位是extents(区),在数据更新删除中也会产生碎片

这一级别的碎片就是segment碎片。segment又存在datafile中,而tablespace又是包含datafile的逻辑概念。所以这一层

是tablespace-level碎片;tablespace是在disk上存储,所以这一层就是disk-level碎片。

简单图示如下

disk-level fragmention

tablespace-level fragmentation

segment-level fragmentation

block-level fragmentation

row-level fragmentation

index leaf block-level fragmentation

顺便提下oracle extents存在的理由

一个extents是由多个相连的block组成的,多个extents做成一个segment;extent是oracle的最小分配单位

extent的优点:

1. 提高空间分配,释放的效率,降低管理block的资源成本

2. 提高扫描的效率,因为extent是由相连blocks做成的特性,可以一次读取更多的内容,较低io读写次数

extent的缺点

容易产生碎片

如何确定产生了碎片的呢?

一。表空间碎片确定参考

由于自由空间碎片是由几部分组成,如范围数量、最大范围尺寸等,我们可用 FSFI--Free Space Fragmentation Index

(自由空间碎片索引)值来直观体现:

FSFI=100*SQRT(max(extent)/sum(extents))*1/SQRT(SQRT(count(extents)))

可以看出,FSFI 的最大可能值为 100 (一个理想的单文件表空间)。随着范围的增加, FSFI 值缓慢下降,而随着最大范

围尺寸的减少,FSFI 值会迅速下降。通过如下语句查询F

相关文档:

Oracle存储过程包含三部分:过程声明,执行过程部分,存储过程异常。

Oracle存储过程可以有无参数存储过程和带参数存储过程。

一、无参程序过程语法

1 create or replace procedure NoParPro

2 as  ;

3 begin

4 ;

5 exception  &nb ......

Exam Number/Code : 1z0-047

Exam Name : Oracle Database SQL Expert

Questions and Answers : 278 Q&As

Update Time: 2010-04-15

1. Which two statements are true regarding the execution of the correlated subqueries? (Choose two.)

A. The nested query executes after the outer query returns th ......

Exam Number/Code : 1z0-047

Exam Name : Oracle Database SQL Expert

Questions and Answers : 278 Q&As

Update Time: 2010-04-15

1. Which two statements are true regarding the execution of the correlated subqueries? (Choose two.)

A. The nested query executes after the outer query returns th ......

服务器启动的过程

Oracle数据服务器的常规启动过程:

1、启动TNS监听             C:\Documents and Settings\Administrator>lsnrctl start

......

1.创建表:

a. 创建xs表中计算机专业学生的备份

Create table xs_jsj as select * from xs where zym=’计算机’;

b.完整的例子:

Create table test ......

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值