如果CATALOG TABLESPACE使用SMS的话就不会出现这个问题,使用DMS就有可能出现
原因很可能是设置的CATALOG TABLESPACE 的大小不足
贴上原文:
| ||
Cause | ||
As described in the Messages Reference, SQL1043C indicates that the CREATE DATABASE command failed while initializing the system catalogs. Error "-289" maps to SQL0289N, which in turn means "Unable to allocate new pages in table space...". You may also see in the db2diag.log the following error messages when you create a database with the catalog tablespace in DMS and the size specified for the containers is not enough: 2007-04-11-09.50.23.928002+180 E23114C1031 LEVEL: Error PID : 20522 TID : 1 PROC : db2agent (instance) 0 INSTANCE: db2inst1 NODE : 000 APPHDL : 0-235 APPID: *LOCAL.db2inst1.070411064735 FUNCTION: DB2 UDB, buffer pool services, sqlbAllocateExtent, probe:830 MESSAGE : ADM6044E The DMS table space "SYSCATSPACE" (ID "0") is full. If this is an autoresize or automatic storage DMS tablespace, the maximum table space size may have been reached or the existing containers or storage paths cannot grow any more. Additional space can be added to the table space by either adding new containers or extending existing ones using the ALTER TABLESPACE SQL statement. If this is an autoresize or automatic storage DMS table space, additional space can be added by adding containers to an autoresize table space or by adding new storage paths to an automatic storage database. 2007-04-11-09.50.23.929462+180 I24146C879 LEVEL: Warning PID : 20522 TID : 1 PROC : db2agent (instance) 0 INSTANCE: db2inst1 NODE : 000 APPHDL : 0-235 APPID: *LOCAL.db2inst1.070411064735 FUNCTION: DB2 UDB, buffer pool services, sqlbObtainDataExtent, probe:800 MESSAGE : ZRC=0x85020021=-2063466463=SQLB_END_OF_CONTAINER "DMS Container space full" DATA #1 : Object descriptor, PD_TYPE_SQLB_OBJECT_DESC, 68 bytes Obj: {pool:0;obj:14;type:3} Parent={0;14} lifeLSN: 000000026069 tid: 0 0 1 extentAnchor: 1920 initEmpPages: 0 poolPage0: 0 poolflags: 0x00000102 objectState: 0x00030025 lastSMP: 32 pageSize: 4096 extentSize: 32 bufferPoolID: 1 partialHash: 51249152 bufferPool: 0x14355650 This error message (SQL0289N) is most often received when you issue the CREATE DATABASE command and specify a database managed space (DMS) for the system catalog table space. In most cases, you should use system managed space (SMS) table spaces for the system catalog table space, as well as for temporary table spaces. When using SMS table spaces, space is not allocated by the system until it is required. Space for the system catalog tables is only allocated as the space is needed. Refer to "System managed space" in the Related Information for more details. When using DMS table spaces, the space is pre-allocated which means that the space must be available on the containers before the table space can be created. If you choose to create the system catalog table space as a DMS table space, be aware that:
| ||
Answer | ||
If you plan to use a DMS for the system catalog table space, ensure that your containers have sufficient space available to be pre-allocated. To correct the error, choose one of the following alternatives:
|