【问题标题】:How to create tablespace in DB2?如何在 DB2 中创建表空间?
【发布时间】:2012-12-04 13:21:21
【问题描述】:

我想在 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

【问题讨论】:

    标签: db2 tablespace


    【解决方案1】:

    正确的语法非常重要(不幸的是),键的顺序正确。 CREATE TABLESPACE 语句的语法图可在 here 获得。

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

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

    【讨论】:

    • 完美。目录中的物理文件是否必须具有 .dms 扩展名?我没有给它。
    • 不,没必要,我只是按照惯例。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-04
    • 2023-03-20
    • 2014-06-25
    • 1970-01-01
    • 1970-01-01
    • 2016-09-24
    相关资源
    最近更新 更多