Informix Error -167
-167 ISAM error: Storage-space size is not multiple of PAGESIZE.
The database server administrator sees this error. When you define a storage space, you must specify a page size that is an integral multiple of the system page size. The system page size is set in the Parameters screen when the database server is first initialized.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-167 is a straightforward configuration validation failure: a storage space (a dbspace, blobspace, or chunk) must be defined with a size that's an integral multiple of the system page size — set once, at server initialization — and the size specified wasn't.
- A manual chunk-size calculation error when adding a new chunk — a size specified in a provisioning command that doesn't align to the configured page size.
- Copying or reusing chunk-size configuration from a different server instance with a different page size, without adjusting for the difference.
- Automation or scripts computing chunk sizes based on a hardcoded page-size assumption that doesn't match the actual instance's configured page size.
- Confusion about which page size applies — the system page size (set once at initialization) versus, on versions/features supporting multiple page sizes, a specific per-dbspace page size — miscalculating relative to the wrong one.
Solutions / Resolution
- Confirm the actual system page size before specifying any storage space size — don't assume it matches a different instance or a remembered default.
- Recalculate the intended storage space size as an integral multiple of that page size.
- For automation or scripts, parameterize page-size assumptions rather than hardcoding a value — derive chunk-size calculations from the actual configured page size at runtime.
- When provisioning storage on a new instance, don't assume the same page size as a previous instance — confirm it explicitly for each deployment, since it's set independently at each instance's initialization.
- For versions supporting multiple page sizes per dbspace, confirm which page size applies to the specific storage space being defined before calculating its size.
Examples
Confirming the system page size before provisioning
onstat -d
-- confirm the actual configured page size for this instance
The fix: round to a valid multiple
-- If the system page size is 2048 bytes and a chunk was specified as
-- 100000 bytes (not a multiple of 2048):
onspaces -c -d dbspace1 -p /dev/chunk1 -o 0 -s 100352
-- 100352 = 2048 x 49, a valid multiple
Automation carrying a stale assumption
A provisioning script hardcodes a page-size assumption from an earlier deployment and computes chunk sizes accordingly; run against a newer instance configured with a different page size, its calculated sizes are no longer valid multiples — the fix is deriving the page size from the target instance at runtime, not from a constant baked into the script.
Diagnostic Checks
- Check the configured system page size:
onstat -d - Review the exact size specified in the failing storage-space-definition command.
- Confirm which page size applies to the specific storage space being defined, if the version in use supports multiple page sizes per dbspace.
Related Errors / Related Topics
- -100 — "ISAM error: duplicate value for a record with unique key." The other foundational ISAM-level error in this family.
- -137 — "ISAM error: chunk table overflow." A different administrator-facing configuration ceiling in the same general category of storage-provisioning conditions.
Confirm the instance's actual configured page size first — this is a pure arithmetic validation, and the fix is always recalculating the size to match it.