Checking and configuring available space

Before you migrate to the new version of Informix®, you must make sure that you have enough available space for the new server, your data, and any other network and data tools that you use.

During migration, Informix drops and then recreates the sysmaster database. Depending on which version of Informix you migrate from, the sysmaster database in the current version can be significantly larger.

When you migrate to Version 14.10, you need the following space for building sysmaster, sysutils, and sysadmin databases:

  • 21892 KB of logical-log spaces (or 10946 pages) for 2 K page platforms
  • 26468 KB of logical-log spaces (or 6617 pages) for 4 K page platforms

During migration, a second database, the sysadmin database, is created in the root dbspace. As you work after migrating, the sysadmin database, could grow dramatically. You can move the sysadmin database to a different dbspace.

You might need to increase the physical log size to accommodate new features, and you might consider adding a new chunk.

If your migration fails because there is insufficient space in the partition header page, you must unload your data before you try to migrate again. Then you must manually load the data into the new version.

The root chunk should contain at least ten percent free space when converting to the new version of the server.

In some cases, even if the database server migration is successful, internal conversion of some databases might fail because of insufficient space for system catalog tables. For more information, see the release notes for this version of Informix.

Add any additional free space to the system prior to the migration. If the dbspaces are nearly full, add space before you start the migration procedure. When you start the new version of Informix on the same root dbspace of the earlier database server, Informix automatically converts the sysmaster database and then each database individually.

For a successful conversion of each database, ensure that 2000 KB of free space per database is available in each dbspace where a database resides.

To ensure enough free space is available:

  1. Calculate the amount of free space that each dbspace requires.

    In the following equation, n is the number of databases in the dbspace and X is the amount of free space they require:

    X kilobytes free space = 2000 kilobytes * n

    The minimum number of databases is 2 (for the sysmaster and sysadmin databases).

  2. Check the amount of free space in each dbspace to determine whether you need to add more space.

You can run SQL statements to determine the free space that each dbspace requires and the free space available. These statements return the free-space calculation in page-size units. The free_space_req column value is the free-space requirement, and the free_space_avail column value is the free space available.

The following SQL statement shows how to determine the free space that each dbspace requires:
DATABASE sysmaster;
SELECT partdbsnum(partnum) dbspace_num, 
       trunc(count(*) * 2000) free_space_req 
   FROM sysdatabases 
GROUP BY 1 
ORDER BY 1;
The following SQL statement queries the syschunks table and displays the free space available for each dbspace:
SELECT dbsnum dbspace_num, sum(nfree) free_space_avail
   FROM syschunks 
GROUP BY 1 
ORDER BY 1;
Important: If less free space is available than the dbspace requires, either move a table from the dbspace to another dbspace or add a chunk to the dbspace.

The dbspace estimates could be higher if you have an unusually large number of SPL routines or indexes in the database.