暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

oracle 区尺寸-自动分配与统一尺寸

原创 不吃草的牛_Nick 2023-05-12
686

分配区尺寸:自动分配与统一尺寸
每当Oracle对象需要增加尺寸时,空间就以区的方式添加给对象。在创建本地管理的表空间时,对区尺寸的管理有两种选择:
一种选择是让数据库自动选择区尺寸(通过选择AUTOALLOCATE选项),
另一种选择是指定表空间以统一尺寸区方式进行管理(UNIFORM选项)。

如果选择UNIFORM选项,则需要使用SIZE子句指定区的实际尺寸。如果省略SIZE子句,Oracle将以1MB的统一尺寸创建所有的区,但是,如果需要的话,可以选择更大的统一区尺寸。

创建了表空间之后,就不能改变区尺寸。如果认为表空间中的所有段的尺寸大致相同,并且认为它们会以一种相似的方式増长,可以选择UNIFORM区尺寸选项。为此,可以选择几个区尺寸,在这几个统一的区尺寸中选择一个创建所有表空间,并根据对象的尺寸将对象分配到各表空间中。

OracleDBA要操心一个段中的区的数量,其实更应该关心区的尺寸,因为区尺寸与段的读写性能有关。例如,如果选择很小的UNIFORM区尺寸,数据库就不能预取数据或进行多块读操作,因此会对性能产生负面影响。如果你希望自己设置区尺寸,Oracle提供了以下区尺寸选择的指导:
★ 小段64KB;
★ 中段1MB;
★ 大段64MB

如果选择AUTOALLOCATE选顼,Oracle将自动管理区尺寸。随着数据库的增长,区尺寸会从开始的64KB逐渐增加到64MB。数据库根据段的增长模式自动决定一个对象的新区尺寸是多少。也就是说,Oracle将随着对象的增长自动为其增加区尺寸。如果你不能确定一个对象的增长率并且愿意让Oracle处理的话,更应当使用自动分配特性。

注解 表空间区管理的默认选项为AUTOALLOCATE.

如果知道对象的精确空间需求,则可以选择UNIFORM区选项,这将使所有空间得以高效使用。例如,假如知道最大的表将消耗许多空间,也就是说需要非常大的区尺寸,则可为该表创建具有非常大的统一尺寸的表空间。

如果不能确定区的最佳尺寸,则可选择AUTOALLOCATE选项,令数据库决定区尺寸,但是可能会因为变化的区尺寸而浪费一些空间。

提示 Oracle建议,除非表空间中的所有对象大小都一样,否则应该使用AUTOALLOCATE特性。除了简化管理外,用AUTOALLOCATE选项定义区尺寸比用UNIFORM选项定义区尺寸更能节省大量的磁盘空间。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论