前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【OCP最新题库解析(052)--题50】 Which two are true about space

【OCP最新题库解析(052)--题50】 Which two are true about space

作者头像
小麦苗DBA宝典
发布2019-09-29 16:34:21
3690
发布2019-09-29 16:34:21
举报

该系列专题为2018年4月OCP-052考题变革后的最新题库。题库为小麦苗解答,若解答有不对之处,可留言,也可联系小麦苗进行修改。

注:OCP-052最新题库完整详细解答版请联系小麦苗私聊。解题不易,请大家尊重原创。

QQ:646634621

QQ群:547200174、618766405

微信号:lhrbestxh

Q

题目

Which two are true about space management in tablespaces?

A. Free lists are used for managing free space for segments in locally managed tablespaces.

B. Locally managed tablespaces track adjacent free space automatically by using bitmaps.

C. Locally managed tablespaces have either ASSM or manual segment space management (MSSM),and all the segments in these tablespace are managed one way or the other.

D. Extent allocation must be specified as automatic for automatic segment space management (ASSM) tablespaces.

E. ASSM tablespaces prevent row chaining.

A

答案

Answer:BC

1、 什么是ASSM和MSSM?

段空间有两种管理方式,分别是手动段空间管理(Manual Segment Space Management,MSSM)和自动段空间管理(Auto Segment Space Management,ASSM)。

自动段空间管理(ASSM),它首次出现在Oracle 9.2中。自由列表FREELIST被位图所取代,它是一个二进制的数组,能够迅速有效地管理存储扩展和剩余区块(Free Block),因此能够改善分段存储本质。ASSM会忽略PCTUSED参数而只使用PCTFREE参数。对于MSSM而言,可以设置FREELIST、PCTUSED和PCTFREE等参数来控制如何分配和使用段中的空间。

段空间管理:本地管理的表空间中的段空间管理方式可指定为:

• 自动:Oracle DB使用位图管理段中的空闲空间。位图描述了段中每个数据块的状态,该状态与可插入行的块中的空间量有关。当数据块中可用空间增多或减少时,位图中会反映数据块的新状态。通过使用位图,Oracle DB可以提高管理空闲空间的自动化程度。因此,这种空间管理方式称为“自动段空间管理(ASSM)”

• 手动:此方法指定要使用空闲列表来管理段中的空闲空间。空闲列表是由一些数据块组成的列表,这些数据块中有可插入行的空间。由于这种管理段空间的方式需要为在表空间中创建的方案对象指定并优化PCTUSED、FREELISTS和FREELISTGROUPS存储参数,因此这种方式称为“手动段空间管理”。支持使用此方法是为了向后兼容,建议使用ASSM。

2、 FREELIST(自由列表)

Oracle通过维护FREELIST列表来记录或更新所有可用的数据块。当执行INSERT语句时,Oracle首先在FREELIST列表上搜索可用的空闲数据块,搜索成功之后将数据插入到那个空闲块。块在FREELIST列表中的可用性由PCTFREE参数值来决定。起初一个空块在FREELIST列表上列出,并且会一直保留,直到空闲空间达到PCTFREE设定的值。当一个块被使用且达到PCTFREE设定的值之后,该块将从FREELIST列表被移除,而当数据块的可用空间低于PCTUSED值的时候,该块又会回收,即重新回到FREELIST列表。Oracle使用FREELIST方式以提高数据库性能。因此,每一个INSERT操作,Oracle仅仅需要搜索FREELIST结构,而不是搜索所有数据块。从Oracle 9i开始,引入了ASSM,它让Oracle自动管理FREELIST。在ASSM里,Oracle使用位图方式来标记数据块是否可用,这种数据块的空间管理方式比用一个列表来管理效率更高。

3、 PCTFREE(空闲率)和PCTUSED(使用率)

PCTFREE和PCTUSED这两个参数是面试中常问到的概念。它们用来优化数据块空间的使用,控制数据块是否出现在FREELIST中。当创建或者更改任何表和索引的时候,Oracle在空间控制方面使用这两个存储参数。

l PCTFREE:块中保留用于UPDATE操作的空间百分比,当数据占用的空间达到此上限时,新的数据将不能再插入到此块中。当数据块中的FREE空间小于PCTFREE设置的空间时,该数据块从FREELIST中去掉,当块由于DML操作FREE空间大于PCTUSED设置的空间时,该数据库块将被添加在FREELIST链表中。对于表和索引来说,该值默认为10%,通过查询DBA_TABLES或DBA_INDEXES视图的PCT_FREE列可以获取到该属性的值。该值适用于MSSM和ASSM。

l PCTUSED:指定块中数据使用空间的最低百分比;用于为插入一新行数据的最小空间的百分比。这个值决定了块的可用状态。可用状态的块可以执行插入操作,不可用状态的块只能执行删除和修改,可用状态的块被放在FREELIST中。该值只针对表有效,默认值为40%,通过查询DBA_TABLES视图的PCT_USED列可以获取到该属性的值。该值仅适用于MSSM。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-08-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DB宝 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Which two are true about space management in tablespaces?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档