DB2 Z/OS - 重命名表空间

问题描述

我使用 DB2 Z/OS 11.01。 是否可以重命名已在 DB2 z/OS 上定义的表空间? 从文档中我没有看到任何限制,但我看不到。

下面我向您展示我的测试用例:

  1. 我创建了一个 TS、一个表和一个索引。
--
  CREATE TABLESPACE TSFOOT
    IN DBTEST01
    USING STOGROUP SGTEST01
    PRIQTY 48 SECQTY 48
    ERASE  NO
    FREEPAGE 0 PCTFREE 5
    GBPCACHE CHANGED
    TRACKMOD YES
    MAXPARTITIONS 1
    LOGGED
    DSSIZE 4 G
    SEGSIZE 32
    BUFFERPOOL BP1
    LOCKSIZE ANY
    LOCKMAX SYstem
    CLOSE YES
    COMPRESS NO
    CCSID      EBCDIC
    DEFINE YES
    MAXROWS 255;
--  
  COMMIT;
--
  CREATE TABLE TEST01.TBFOOT
     (FIELD1   CHAR(2) FOR SBCS DATA NOT NULL,FIELD2   DATE NOT NULL,FIELD3   DECIMAL(7,0) NOT NULL,FIELD4   DECIMAL(7,FIELD5   DECIMAL(3,CONSTRAINT PK_TBFOOT
      PRIMARY KEY (FIELD1,FIELD2))
    IN DBTEST01.TSFOOT
    PARTITION BY SIZE
    AUDIT NONE
    DATA CAPTURE NONE
    CCSID      EBCDIC
    NOT VOLATILE
    APPEND NO  ;
--
  COMMIT;
--
  CREATE UNIQUE INDEX TEST01.IXFOOTP
    ON TEST01.TBFOOT
     (FIELD1    ASC,FIELD2    ASC)
    USING STOGROUP SGTEST01
    PRIQTY 48 SECQTY 48
    ERASE  NO
    FREEPAGE 0 PCTFREE 10
    GBPCACHE CHANGED
    CLUSTER
    COMPRESS NO
    INCLUDE NULL KEYS
    BUFFERPOOL BP2
    CLOSE NO
    copY NO
    DEFER NO
    DEFINE YES
    PIECESIZE 2 G;
--
  COMMIT;
--
  CREATE SYNONYM TBFOOT FOR TEST01.TBFOOT;
--
  COMMIT;
-- 
  1. 我运行语句来重命名表空间。

RENAME TABLESPACE TSFOOT TO TSFOOT_NEW;

  1. 我收到以下错误

ILLEgal SYMBOL "TSFOOT". SOME SYMBOLS THAT MIGHT BE LEgal ARE: . TO. sqlCODE=-104,sqlSTATE=42601,DRIVER=4.19.56

我可以在这里寻求帮助吗? 非常感谢。

解决方法

使用 Db2 时,您在查找文档时必须谨慎。 有 2 个不同的平台:

  • Db2(以前称为 Db2 for Linux UNIX 和 Windows)
  • Db2 for z/OS

基本上它们具有相同的语法。但是在深入挖掘时会略有不同。经验法则:z/OS 支持的命令少于 Unix/Windows。

就您而言,请查看正确的文档(并创建书签):https://www.ibm.com/support/knowledgecenter/SSEPEK_11.0.0/sqlref/src/tpc/db2z_sql_rename.html

并且您看到在 z/OS 上重命名表空间是不可能的。