如何在DB2中创建表空间?

时间:2012-12-04 13:21:21

标签: db2 tablespace

我想在DB2中创建表空间,我的平台是AIX。

我希望将该表空间放在我操作系统的目录中。我还创建了一个缓冲池,它具有相同的表空间页面大小。但是得到SQLCODE = -104。

CREATE BUFFERPOOL BPOOL  SIZE 2000 PAGESIZE 16K;

CREATE TABLESPACE TS01 

MANAGED BY DATABASE 
USING ( '/dbdata/UMPSYS01' )  
PAGESIZE 16K
BUFFERPOOL BPOOL 

我尝试使用DEVICEFILE令牌来提供尺寸。但无法运行它。

我得到以下错误:

18:13:38  [CREATE - 0 row(s), 0.000 secs]  [Error Code: -104, SQL State: 42601]  DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=USING ( '/dbdata/UMPSYS01' );ESPACE TS01 
;<space>, DRIVER=3.61.75

1 个答案:

答案 0 :(得分:1)

非常重要(不幸的是)您可以使用正确的顺序获得正确的语法。 CREATE TABLESPACE语句的语法图可用here

您已将PAGESIZE子句放在 MANAGED BY ...之后,这是不正确的。它应该在之前:

CREATE TABLESPACE TS01 
    PAGESIZE 16K
    MANAGED BY DATABASE 
    USING (FILE '/dbdata/UMPSYS01.dms' 100M)  
    BUFFERPOOL BPOOL