TableSpace介绍(二)

2014-11-24 14:07:24 · 作者: · 浏览: 4
用extent的大小,可以比较符合实际的需求,因此会比较节省空间,但是这可能会产生部分空间破碎的问题。使用AUTOEXTENT,Oracle会使用的extent大小为64k、1M、8M、64M。根据我系统上使用的结果,99.95%的extent都是使用64k、只有少部分使用1M的extent,所以其实破碎的情况不严重,使用AUTOALLOCATE在我的系统上其实就够用了。想知道你的TableSpace所使用的Extent有几种,请用下列的语法:

Select bytes,count(*) from dba_extents where tablespace_name='your_tablespace_name' group by bytes

§

§Local managed中的Segment的空间管理(Segment Space Management ):AUTO与MANUAL

  Tablespace中的Segment的空间管理上,可以设置的参数为AUTO与MANUAL。MANUAL是使用我们熟悉的PCTUSED、FREELISTS、FREELIST GROUPS的方式来管理Segment中的data block;而AUTO则是使用bitmaps来管理data block。使用AUTO来管理的话,以往create tablespace或create table时设定的storage的参数设定都不需要再设定了,因为data block的管理已经是bitmaps了,不再是free list了。如果没有特别的需求话,使用AUTO会比使用MANUAL有更好的空间利用率,与效能上的提升。

§

§Local managed中的Create TableSpace范例

Create Tablespace MYDATA

Datafile '/u1/oradata/mydb/mydata1.dbf' size 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED ,

'/u1/oradata/mydb/mydata2.dbf' size 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED

Extent ManagementLocal

Segment Space ManagementAuto;

§

§dictionary managed中的Create TableSpace范例

Create Tablespace MYDATA

Datafile '/u1/oradata/mydb/mydata1.dbf' size 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED

Extent ManagementDictionary

Default Storage(

Initial 64k

next 64k

minextents 2

maxextents unlimited

pctincrease 0 );