DB2- 找不到页面大小至少为“8192”且授权 ID“***”有权使用的默认表空间

0 db2

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

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

SQL0286N 找不到授权标识“DB2ADMIN”有权使用的页大小至少为“8192”的缺省表空间。
SQL状态=42727

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

解释:

CREATE TABLE、CREATE GLOBAL TEMPORARY TABLE 或 DECLARE GLOBAL TEMPORARY TABLE 语句未指定表空间,且表空间类型正确(对于创建的临时表或声明的临时表为 USER TEMPORARY)且具有足够的页大小(至少为“ ”),其授权 ID“”具有 USE 权限,无法找到。

表的足够页大小由行的字节数或列数决定。

因此我创建了一个表空间

创建大型表空间 LARGEDATA MAXSIZE 512 M

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

在 LARGEDATA 中创建表 table_name( * );

我认为 512M 对于大约 15 列的表来说应该足够了,但我得到以下例外:

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

请帮忙...

预先感谢您的帮助和时间。:)

Ang*_*ocA 5

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

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

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

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

db2 create bufferpool bp8k pagesize 8K
db2 create tablespace data pagesize 8K bufferpool bp8K
Run Code Online (Sandbox Code Playgroud)