DB2 Z/OS - 重命名表空间
DB2 Z/OS - Rename Tablespace
我使用 DB2 Z/OS 11.01。
可以重命名已在 DB2 z/OS 上定义的 table 空间吗?
从文档中我没有看到任何限制,但我看不到。
下面我给大家展示一下我的测试用例:
- 我创建了一个 TS,一个 table 和一个索引。
--
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, 0) NOT NULL,
FIELD5 DECIMAL(3, 0) NOT NULL,
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;
--
- 我运行语句重命名table空间。
RENAME TABLESPACE TSFOOT TO TSFOOT_NEW;
- 我收到以下错误:
ILLEGAL SYMBOL "TSFOOT". SOME SYMBOLS THAT MIGHT BE LEGAL ARE: . TO. SQLCODE=-104, SQLSTATE=42601, DRIVER=4.19.56
我可以在这里得到一些帮助吗?
非常感谢。
使用 Db2,您在查找文档时必须谨慎。
有 2 个不同的平台:
- Db2(以前是 Linux UNIX 和 Windows 的 Db2)
- Db2 用于 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 上的 table 个空格。
我使用 DB2 Z/OS 11.01。 可以重命名已在 DB2 z/OS 上定义的 table 空间吗? 从文档中我没有看到任何限制,但我看不到。
下面我给大家展示一下我的测试用例:
- 我创建了一个 TS,一个 table 和一个索引。
--
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, 0) NOT NULL,
FIELD5 DECIMAL(3, 0) NOT NULL,
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;
--
- 我运行语句重命名table空间。
RENAME TABLESPACE TSFOOT TO TSFOOT_NEW;
- 我收到以下错误:
ILLEGAL SYMBOL "TSFOOT". SOME SYMBOLS THAT MIGHT BE LEGAL ARE: . TO. SQLCODE=-104, SQLSTATE=42601, DRIVER=4.19.56
我可以在这里得到一些帮助吗? 非常感谢。
使用 Db2,您在查找文档时必须谨慎。 有 2 个不同的平台:
- Db2(以前是 Linux UNIX 和 Windows 的 Db2)
- Db2 用于 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 上的 table 个空格。