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:
- The minimum size of a DMS table space is five
extents: three are reserved for overhead; the other extents are to
store user data.
- The extent size is defined as the number of continuous pages. An extent is the unit of space allocation within a table space.
- Page size affects the space available; the number of pages also affects the space available.
- In a partitioned database environment, the system
catalog table space is only created on the database partition on which
the CREATE DATABASE command is issued.
|
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:
- Increase
the number of pages specified for the DMS table space by using the
ALTER TABLESPACE statement. This will result in a larger allocated disk
space the next time the database is started. Since the space is
pre-allocated for the database, some space may be wasted for the system
catalogs.
- Use a smaller extent size (of 2 or 4 pages),
in order to allocate fewer pages for the system catalog. Since the
extent size is specified only when the table space is created, however,
you will need to recreate the database. Moving data from the current
database to the new database must also be considered.
- Recreate
the database using SMS table spaces for the catalog table space. The
space needed by the system catalog table space is only allocated as
needed. (The space to be allocated must be available on the container.)
Moving data from the current database to the new database must also be
considered.
|