(8)ASSM

作者: sflovely1314 | 来源:发表于2018-05-31 22:20 被阅读12次

ASSM(automatic segment space management)自动空闲空间管理,实在Oracle 9i中首次被引入使用。在每个segment上会有一条freelist(或者多条,一般情况下一条就够用了)来管理空闲的block。使用block时,可能会根据需要把块放在freelist上或者从freelist上去除。只有位于hwm(高水位线)以下的对象块才会出现在freelist中,只有当freelist为空才会使用hwm之上的块,此时Oracle会推进hwm,并把这些块增加到freelist中。

ASSM的整体结构是3层位图块+数据块,如图。

FreeList

一个L3块中可以存放多个L2块的地址,一个L2块可以存放多个L1块的地址,一个L1块可以存放多个数据库的地址。

第一个L3块一般是段头,如果段头存放了太多L2块的信息空间不足,则会再分配第二个L3块。

在数据插入时,如果需要申请空闲块,则会按照以下步骤进行:

1.查找数据字典,确定段头的位置;

2.在段头中找到第一个L2块的位置信息;

3.到L2块中根据执行插入操作进程的pid号做hash运算,得到一个随机数n,在L2中,找到第n个L1块的位置信息。

4.到第3步中确定的L1块中,再根据执行插入操作进程的pid号做hash运算,得到一个随机数m,在L1中找到第m号数据块。

5.向第m号数据库块中插入数据。

L3块中虽然有很多L2块,但插入的时候,每次只会选择同一个L2块,直到这个L2被插满了,才会选择下一个L2块。

在L2中选择L1时,对于不同的session,只要有可能,就会被分配到不同的L1中,在L1中查找数据块时也是一样。这也是Oracle宣称ASSM可以支持大并发插入的原因。

相关文章

  • (8)ASSM

    ASSM(automatic segment space management)自动空闲空间管理,实在Oracle...

  • GitHub上的计算机视觉学习资料推荐

    9月份将要读研,导师是做cv的,最近学习时找到了不少的计算机视觉的资料,记录一下,同时也分享给需要的朋友 assm...

  • 8-8-8

    发-发-发 今天比较闲,备忘录看了一遍又一遍,发现没有什么具体的工作非得马上完成。 又不想看微博浪费时间,想来想去...

  • 8、8

    山重水复疑无路,柳暗花明又一村。人生有万千种可能,但是真的有一种成功,叫坚持到底!

  • 8/8

    今天有人问我,你的脾气一直都是这么好的吗?还是说你也看人的? 我笑笑说,你觉得呢? 虽然表面上,我波澜不惊,可我的...

  • 35年静脉曲张老烂腿案例

    【35年静脉曲张老烂腿案例】 1/8 2/8 3/8 4/8 5/8 6/8 7/8 8/8

  • 寒假计划安排表

    8:00 起床 8:00~8:10 洗漱 8:10~8:40 吃早饭 8:50~9:...

  • 作息时间表(家)

    上午 8:00起床 8:00~8:20洗漱,吃早饭 8:20~8:30看视频 8:30~8:50背单词 8:50~...

  • 2021-01-07

    脑洞大开智力PK 蓝白领(辑) 之一 5 1 5 5=24 8 8 8 8 8 8 8 8 =1000 在数字与数...

  • 24=8+8+8

    当表盘里的时针转了一圈以后,崭新的一天已经开始。实际上,每个人得生活方式是大相径庭的,8小时睡觉,8小时工作,每天...

网友评论

      本文标题:(8)ASSM

      本文链接:https://www.haomeiwen.com/subject/ohpcsftx.html