+ -
当前位置:首页 → 问答吧 → db2 的表空间

db2 的表空间

时间:2010-06-18

来源:互联网

db2 的表空间按管理方式分为两种:系统管理空间(system management

space,sms)和数据库管理空间(database management space,dms)。
   
   按类型分为:规则表空间、长整数表空间、系统临时表空间、用户临时表空间

。其中长整数表空间只能是dms的。

   规则表空间中包含用户数据的表。默认用户表空间名为userspace1,索引也存

储在规则表空间中,另外系统目录表也放在规则表空间中。

   默认的系统目录表空间名为syscatspace。

   临时表空间分为系统临时表空间和用户临时表空间。系统临时表空间用来存储

各种数据操作(排序、重组表、创建索引、连接表)中所需的内部临时数据,虽

然可以创建任意多个系统临时表空间,但建议用户只使用大多数表所使用的页大

小创建一个,默认系统临时表空间名为tempspace1。用户临时表空间用来存储已

说明全局临时表(已说明全局临时表存储的是应用程序临时数据)。用户临时表

空间不是在数据库创建时默认创建的。

   sms每个容器是操作系统的文件空间中的一个目录;dms每个容器是一个固定的

、预分配的文件,或是物理设备。

   sms的管理比较简单,由操作系统自动管理,空间的大小随数据量的变化系统

自动调整。

   dms是由数据库管理的,空间大小在创建时确定,空间不够时要手工添加或删

除部分数据以释放空间。

   大多数情况下,dms的性能比sms好。

   用命令行方式创建sms表空间的简单语法:
create tablespace <name> managed by system using ('<path>')

   用命令行方式创建dms表空间的简单语法:
create tablespace <name> managed by database using (file '<path>'

<size>

例一:在os/2或windows nt上创建一个sms表空间:
create tablespace resource managed by system
  using ('d:\acc_tbsp','e:\acc_tbsp','f:\acc_tbsp')

例二:在os/2上创建一个dms表空间,使用各自有5000页的两个文件容器:
create tablespace resource managed by database
  using (file 'd:\db2data\acc_tbsp' 5000,
         file 'e:\db2data\acc_tbsp' 5000)

例三:在unix上创建一个dms表空间,使用各有10000页的3个逻辑卷:
create tablespace resource managed by database
  using (device '/dev/rdblv6' 10000,
         device '/dev/rdblv7' 10000,
         device '/dev/rdblv8' 10000)
  overhead 24.1
  transferrate 0.9
上面语句中提到的unix设备必须已经存在,且实例拥有者和sysadm组必须能够写

入它们。

例四:在unix分区数据库中称为oddnodegroup的节点组上创建一个dms表空间:
create tablespace plans managed by database
  using (device '/dev/hdisk0' 10000, device '/dev/n1hd01' 40000) on

node 1
        (device '/dev/hdisk0' 10000, device '/dev/n3hd03' 40000) on

作者: ken451016394   发布时间: 2010-06-18

顶一下If you are hungry jerseys wholesale, what do you do

作者: chenliqin123   发布时间: 2010-06-26

不错,顶下楼主,希望发布更多的学习交流技术信息

作者: marvelyu   发布时间: 2010-07-01