oracle创建表空间详细参数,Oracle表空间创建参数解析
表空间Tablespace是Oracle数据库逻辑结构中的⼀个层次。创建管理表空间和对应的数据⽂件,是DBA的⼀项重要⼯作内容。本篇从不同的表空间特性谈起,说明使⽤的参数特性。
等额本息和等额本金的区别下⾯是⼀个使⽤命令⾏创建表空间的实例。
SQL> create tablespace tradway datafile '/u01/oradata/WILSON/datafile/trad.dbf' size 100m autoextend off extent management local uniform. size 1m segment space management manual;
Tablespace created
对应数据字典的信息为:
SQL> select tablespace_name, extent_management, allocation_type,SEGMENT_SPACE_MANAGEMENT from
光纤路由器设置dba_tablespaces;
TABLESPACE_NAME EXTENT_MANAGEMENT ALLOCATION_TYPE SEGMENT_SPACE_MANAGEMENT
------------------------------ ----------------- --------------- ------------------------
(篇幅原因,有省略……)
TRADWAY LOCAL UNIFORM MANUAL
9 rows selected
在使⽤命令⾏创建表空间Tablespace的过程中,包括⼏个⽅⾯的参数。
ü 数据⽂件参数:包括表空间对应数据⽂件名称,初始⼤⼩和可变化规则;
ü Extent(分区)分配规则⽅案:表空间对segment对象进⾏增加空间分配的时候,使⽤的分配⽅法和策略;
ü Segment(段)对象管理⽅式:分为⾃动段对象管理或者⼿动段对象管理;
梦见捡钱下⾯分别进⾏介绍:
1、数据⽂件Datafile参数
表空间是“表、段、区、块”Oracle四层逻辑结构中唯⼀与特定物理⽂件对应的层次。⼀个表空间可以对应不同硬盘上的多个⽂件,⽽⼀个⽂件只能属于⼀个表空间。
在建⽴表空间的时候,都会⽣成⾄少⼀个数据⽂件作为表空间信息保存的地⽅。如果在Create tablespace时没有进⾏指定datafile字句,那么Oracle会⾃动依据OMF的⽅式创建出⼀个数据⽂件。
指定数据⽂件的字句是使⽤datafile作为关键字,后⾯内容包括⽂件路径、初始⼤⼩、拓展⽅式和每次增加空间⼤⼩。
SQL> create tablespace test datafile 'd:\oradata\orcl\test.dbf' size 10m autoextend on next 1m maxsize 100m;
婚礼证婚人证婚词Tablespace created
ü size⼦句:指定⽣成数据⽂件的初始⼤⼩,默认值通常为100m。对成熟的系统部署移植⼯作⽽⾔,通常是可以确定⽂件的固定⼤⼩。避免经常性的⽂件膨胀,引起性能变化;
ü autoextend开关与next⼦句:⽂件⼤⼩变化开关是通过autoextend来实现的。如果设置on,表⽰该⽂件允许进⾏动态拓展,⽂件写满之后就会以next指定的⼤⼩进⾏拓展。如果设置为off,则该⽂件不进⾏拓展;
ü next⼦句:当⽂件设置为可拓展时,next为每次进⾏拓展的步长。如果数据⽂件是经常⼤批量的增加,设置⼀个较⼤的next值为好;
ü maxsize⼦句:⽂件⼤⼩上限;
2、extent分区分配⽅案
表空间Tablespace内部容纳的逻辑结构就是段segment对象。段对象通常是和数据库各个Schema中的对象相关联。表空间空间管理中⼀个重要⽅⾯就是将新的extent分配给segment对象。⼀个segment会对应⼀个或者多个extent对象。extent区就是连续的block块集合。
从Oracle发展历程看,extent分配⽅案有两个阶段。⾸先出现的是Dictionary Mangage Tablespace,就是数据字典管理⽅式。数据库中维护⼀个数据表,每次进⾏extent分配管理的时候,都要访问该数据表。DMT代表了⼀个时代,同时也伴随着致命的缺陷。
数据库的⼀个重要指标就是并⾏度。⼀旦出现并⾏瓶颈,就意味着系统架构存在缺陷。DML就是这样的⼀个问题,当数据库表空间存在⼤量的分配请求时,该数据表容易形成瓶颈。于是,DML就被⼀种新的分配⽅法Locally Mangage Tablespace(LMT)所取代。
⽬前的Oracle数据库,都是缺省使⽤LMT⽅法的。LMT简单来说,就是利⽤位图表技术,将分配exten
t的⽅法和记录记录在数据⽂件的⽂件头上。这样,不同⽂件的分配压⼒,就从⼀个数据表上分散到多个⽂件上。
⽬前的Oracle数据库,是可以同时⽀持LMT和DMT的。但是,新系统⼀般都会使⽤LMT。LMT策略下,有存在分配extent⼤⼩的问题。
每次进⾏extent分配的策略,有系统⾃动和统⼀⼤⼩uniform. size两种⽅法。
ü automatic allocation⾃动分配⼤⼩。对每个分配extent的⼤⼩,由系统⾃动进⾏⼤⼩判定。这种⽅式的优点是每次的extent⼤⼩⽐较灵活。但是缺点也是很严重,就是引起⼤量的存储碎⽚。
ü uniform. size统⼀⼤⼩。每次分配的extent的⼤⼩都是固定的,这样可以很⼤程度的避免碎⽚问题。默认uniform. size⼤⼩是
1M。
3、段segment管理策略
家中财位>微距闪光灯最后介绍表空间创建参数中的segment管理策略。segment对应的通常是⼀个数据库留存对象信息,如数据段、索引段、回滚段。Segment space management对应的是对segment空间管理的策略,⽬前有auto和manual两种⽅式。
ü ASSM(auto)⽅式:ASSM是代表新趋势的技术,10g中对应的shrink space功能,就是以ASSM技术作为基础,有效减低HWM,避免出现过多的空间浪费。在过去需要设计的pctfree、pctlist等参数,也使⽤⾃动化⽅式进⾏管理;
ü ⼿⼯(Manual)⽅式:与⾃动ASSM相对应。与ASSM不同在于每个segment对象都能拥有独⽴的存储设置参数;
在segment管理策略上,⽬前⼀般都选择ASSM策略。但并不意味着ASSM是万能的,还存在⼀些局限。
4、结论
表空间创建参数涉及多种⽅案⼦句,带有不同的含义和特点。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论