问题描述:
DB2在创建一个200多列的大数据表时,报错:
SQL 错误 [42727]: A default table space could not be found with a page size of at least “16384” that authorization ID “PAS” is authorized to use… SQLCODE=-286, SQLSTATE=42727, DRIVER=4.16.53
问题分析
经过各处查询,发现是由于页空间不够影响的。
使用不同的页大小,相应表每行的最大长度也有所不同。
DB2的缓冲池或表空间的页大小可有4K、8K、16K和32K四种选择,相对应的字段数、行长和表大小见下表:
4K | 8K | 16K | 32K | |
---|---|---|---|---|
表的最多字段数(列) | 500 | 1012 | 1012 | 1012 |
表每行最大长度(字节) | 4005 | 8101 | 16293 | 32677 |
表的最大大小( GB) | 64 | 128 | 256 | 512 |
根据报错中16384数字可以知道,需要使用32K的缓冲池表空间大小。
解决方法:
第一步:先