Oracle Concept 的一些笔记 -- extent的概念

extent是一个逻辑上的空间单位,有多块连续的oracle block组成,多块的extent会组成一个segment,但segment中现有的extent都满了后,就会分配一些新的extent给这个segment

 

Extent的分配时间

 

当table新创建的时候,数据库会分配一个initial的extent给当前segment,当这个segment满了之后,就会分配incremental extent给该段。为维护的需要,segment中最前面的一个block会记录该segment所有extent的信息(地址)

 

Extent的数目和大小

在创建表的时候,可以使用storage 语句来指定initial 和incremental的extent的数目,如果没有指定的话,则使用表空间的默认值。

 

表空间可以指定使用uniform或者variable的extent,如果是variable 大小的extent话,则是有系统自动管理。 当创建表空间时,语句uniform 和autoallocate就是用来指定extent大小的。

 

Dictionaly mangement的表空间使用数据词典来追踪extent的使用情况,而local management的表空间,则使用文件的bitmap来追踪。

 

 

uniform的话,大小可以由用户指定或者使用默认值1M,需要保证每个extent都至少有5个以上的oracle block.对于local 管理的临时表空间,只可以使用uniform 大小的extent

 

system-management的extent,则是由数据库根据优化自动指定,最小超过64k,但如果每一个oracle block大于16k,并且segement自动管理,则最小超过1M

 

 

Extent如何分配

 

Oracle提供了一个segment advisor的工作来帮助决定对象是否有空闲内存可以回收

 

一般情况下,segment中extent不会被回收到表空间,除非触发了drop语句,如drop table,drop cluster.但是下面两种情况例外

 

如果表或者集群哦owner或有delete any 权限的用户执行了truncate..storage这样的语句

 

DBA主动释放,语句:alter table table_name deallocate unused.

 

Oracle会不间断的将会滚段的空闲extent释放到表空间,如果optimal size被指定的话。

 

在extent被释放后,oracle修改bitmap或者数据词典。所有这些extent中block的数据将不可访问

 

 

非集群表

词典管理表空间,需要聚合分散的extent来容纳大的数据(查找/组合),而Local管理的表空间则不需要(本身就在文件中)

 

集群表

集群表的空间是属于集群的,所以extent被释放后,空间先回归集群,则该集群的其他表可以访问,集群外则不可以。集群被drop后,才回归到表空间。

 

物化视图和它的log

处理方式同表

 

索引

只有在索引被drop,或者索引寄生的表/集群被drop,extent回收

 

临时段(temporary segment)

Oracle执行完成需要临时段的语句,Oracle自动drop这个segment,然后空间回滚到表空间,如single sort

但是对于multiple sort,oracle会在临时表空间中分配一个特殊的段,该段每一个进程只分配一次,将不会不回收当multiple sort结束后

临时表空间的临时表在drop之后空间回归到临时表空间

会滚段

Oracle定时检查是否optimal size

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值