Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1379925
  • 博文数量: 247
  • 博客积分: 10147
  • 博客等级: 上将
  • 技术积分: 2776
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-24 15:18
文章分类

全部博文(247)

文章存档

2013年(11)

2012年(3)

2011年(20)

2010年(35)

2009年(91)

2008年(87)

我的朋友

分类: Oracle

2008-03-13 18:40:39

创建用户表空间

  Oracle 9i对于表空间管理一个明显的变化是改数据字典管理(extent management dictionary)为表空间本地管理(extent management local),还可以根据建立的数据对象对空间的要求自动确定扩展块的大小(autoallocate),最小为64K,这两项都是创建表空间的缺省选项。

  create tablespace tbsdata datafile '…' [ extent management local ] [ autoallocate ];

  而对于指定每个扩展块大小的创建策略,设立了新选项:统一扩展块大小(uniform [size xxx[K|M]]),可覆盖autoallocate选项,如果不加上具体的size xxx[K|M],缺省为1M,这样就不必考虑Oracle 8i中的如initial,next,pctincrease,maxextents等default storage参数应如何组合,事实上Oracle 8i的这些设置原本就没有什么意义。

  不能够同时指定extent management local和default storage,换言之,default storage只能和extent management dictionary一起显式指定。

  如果未指定extent management的类型,Oracle 9i缺省使用local方式,如果又同时使用default storage选项,就有以下的判断:

  如果使用minimun extent,Oracle检查是否minumum extent=initial=next且pctincrease=0,如是,Oracle使用uniform选项,size=initial;如不是,Oracle忽略指定选项,使用autoallocate。

  如果未指定minimum extent,Oracle检查是否initial=next且pctincrease=0,如是Oracle使用uniform选项,size=initial;如不是Oracle忽略指定选项,使用autoallocate。

  为了避免与Oracle 8i的习惯做法混淆,建议只使用Oracle 9i较简洁的方法。

  对于存储少量静态数据的表空间来说,如配置信息等,可简单地写为:

  create tablespace tbsdata datafile '…';

  对于必须关心其扩展块大小的表空间,如大批量的记录或索引,可简单地写为:

  create tablespace tbsdata datafile '…' uniform size 10M;

阅读(2669) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~