chuanzhongdu1的专栏

人法地,地法天,天法道,道法自然

本地管理表空间

本地管理表空间的好处:
1:快速,并发空间操作,表空间的分配和回收都是在本地操作
2:能够增强性能
3:本地管理的临时表空间不产生任何undo和redo
4:空间的分配变的简单,因为当指定 autoallocate 之句时,数据库在分配空间时,会选择合适的extent的大小
5:能够减少用户对数据字典的访问,因为必要的信息都存储在数据块的文件头位图里面
6:本地管理表空间没必要合并空闲的extent。
创建本地表空间
只需要指定create tablespace ........extent management local 即可。还可以选择autoallocate 或者 uniform. ,如果你想数据库对象有多种extent size 可以指定 autoallocate ,数据库会为数据库对象选择合适的extent 大小,这是最简单的管理方式,但是会浪费一定的空间。如果你能精确的知道对象的大小,可以使用uniform. 这样能避免空间的浪费。
如果create tablespace 使用默认存储子句,那么将创建本地管理自动分配extent的表空间。1>如果指定了minimum extent子句,数据库将评估minimum extent,initial和next 是否相等,以及pctincrease 是否等于0,如果都相等,那么数据库将创建一个本地管理的uniform. extent的 表空间并且extent size等于 initial。如果minimum extent,initial ,next 不相等以及pctincrease 不等于0 数据库就会忽略任何extent存储参数,并将创建一个本地管理 autoallocate 表空间。2>如果没有指定 minimum extent 大小,数据库将评估 initial ,next 是否相等,以及 pctincrease  0 如果是创建一个uniform的本地管理表空间。
创建一个autoallocate 本地管理的表空间: create tablespace lmtbsb datafile /u01/oradata/lmtbsb01.dbf size 50M extent management local autoallocate;
autoallocate 表空间的默认minimum extent 是 64K
创建一个uniform. 的表空间:  create tablespace lmtbsb datafile /u01/oradata/lmtbsb01.dbf size 50M extent management local uniform;
默认的uniform. extent size 是1M.
本地表空间的segment的管理
在本地表空间中有两种segment 空间管理一种是手动另一种是自动。手动segment 空间的管理使用的freelists 列表管理segment的空闲空间,自动segment空间管理使用的是bitmap。自动segment 空间管理比手动管理高效,默认本地管理的表空间,除了临时表空都是使用自动segment空间 管理。
默认是使用自动segment 空间管理,有可以手动指定
create tablespace lmtbsb datafile /u01/oradata/lmtbsb02.dbf size 50 M extent management local  segment space management auto;
segment space management manual 子句禁用自动管理。
一旦在创建表空间的时候指定了segment space 的管理就不能更改了
阅读更多
文章标签: 数据库 存储
个人分类: 数据库
想对作者说点什么? 我来说一句

oracle 表空间管理

2011年06月09日 37KB 下载

Oracle 存储管理

2011年04月01日 66KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭