0

我是 db2 的新手,整个数据库请帮助我。

我正在现有数据库中创建一个表,但在执行 create 语句后,我得到以下错误消息,

SQL0286N 找不到页面大小至少为“8192”且授权标识“DB2ADMIN”被授权使用的缺省表空间。
SQLSTATE=42727

SQL0286N 找不到页面大小至少为“8192”且授权标识“DB2ADMIN”被授权使用的缺省表空间。

解释:

CREATE TABLE、CREATE GLOBAL TEMPORARY TABLE 或 DECLARE GLOBAL TEMPORARY TABLE 语句未指定表空间,以及具有足够页大小(至少“ "),无法找到授权 ID "" 具有 USE 权限。

表的足够页面大小取决于行的字节数或列数。

因此我创建了一个表空间

CREATE LARGE TABLESPACE LARGEDATA MAXSIZE 512 M

并用这个空间来创建我的桌子,比如

在 LARGEDATA 中创建表 table_name( * );

我认为 512M 应该足以容纳大约 15 列的表,但我得到以下例外:

SQL0670N 表的行长度超过了“4005”字节的限制。(表空间“LARGEDATA

请帮忙...

提前感谢您的帮助和时间。:)

4

1 回答 1

4

您正在创建的表的行超出了现有表空间的页面大小。

可能,您有一个默认页面大小为 4KB 的数据库,并且 userspace1 表空间具有相同的页面大小。

创建大表空间时,您只需将行 ID 大小从 1 字节(常规)更改为 2 字节(大)。但是页面大小仍然相同。

您应该创建一个至少 8KB 页大小的缓冲池,然后创建一个使用该缓冲池的表空间。

db2 create bufferpool bp8k pagesize 8K
db2 create tablespace data pagesize 8K bufferpool bp8K
于 2013-07-02T11:47:29.617 回答