Creating an Sbspace with the -Df option

When you create an sbspace with the optional -Df option, you can specify several default specifications that affect the behavior of the smart large objects stored in the sbspace. The default specifications must be expressed as a list separated by commas. The list need not contain all of the tags. The list of tags must be enclosed in double quotation marks (“). The table in Table 1 describes the tags and their default values.

The four levels of inheritance for sbspace characteristics are system, sbspace, column, and smart large objects. For more information, see smart large objects in the chapter on where data is stored in the HCL Informix Administrator's Guide.

Table 1. -Df Default Specifications
Tag Values Default Description
ACCESSTIME ON or OFF OFF When set to ON, the database server tracks the time of access to all smart large objects stored in the sbspace.

For information about altering storage characteristics of smart large objects, see the HCL Informix DataBlade API Programmer's Guide.

AVG_LO_SIZE Windows: 4 to 2**31

UNIX: 2 to 2**31

8 Specifies the average size, in kilobytes, of the smart large object stored in the sbspace

The database server uses this value to calculate the size of the metadata area. Do not specify AVG_LO_SIZE and -Ms together. You can specify AVG_LO_SIZE and the metadata offset (-Mo) together.

If the size of the smart large object exceeds 2**31, specify 2**31. If the size of the smart large object is less than 2 on UNIX or less than 4 in Windows, specify 2 or 4.

Error 131 is returned if you run out of space in the metadata and reserved areas in the sbspace. To allocate additional chunks to the sbspace that consist of metadata area only, use the -Ms option instead.

For more information, see creating smart large objects, in the chapter on managing data on disk in the HCL Informix Administrator's Guide.

BUFFERING ON or OFF ON Specifies the buffering mode of smart large objects stored in the sbspace

If set to ON, the database server uses the buffer pool in the resident portion of shared memory for smart-large-object I/O operations. If set to OFF, the database server uses light I/O buffers in the virtual portion of shared memory (lightweight I/O operations).

BUFFERING = OFF is incompatible with LOCK_MODE = RANGE and creates a conflict

For more information, see lightweight I/O, in the chapter on configuration effects on memory in the HCL Informix Performance Guide.

LOCK_MODE RANGE or BLOB BLOB Specifies the locking mode of smart large objects stored in the sbspace

If set to RANGE, only a range of bytes in the smart large object is locked. If set to BLOB, the entire smart large object is locked.

LOCK_MODE = RANGE is incompatible with BUFFERING = OFF and creates a conflict.

For more information, see smart large objects, in the chapter on locking in the HCL Informix Performance Guide.

LOGGING ON or OFF OFF Specifies the logging status of smart large objects stored in the sbspace

If set to ON, the database server logs changes to the user data area of the sbspace. When you turn on logging for an sbspace, take a level-0 backup of the sbspace.

When you turn off logging, the following message displays: You are turning off smart large object logging.

For more information, see smart large objects, in the chapters on data storage and logging in the HCL Informix Administrator's Guide. For information about onspaces -ch messages, see Messages in the database server log.

EXTENT_SIZE 4 to 2**31 None Specifies the size, in kilobytes, of the first allocation of disk space for smart large objects stored in the sbspace when you create the table

Let the system select the EXTENT_SIZE value. To reduce the number of extents in a smart large object, use mi_lo_specset_estbytes (DataBlade API) or ifx_lo_specset_estbytes (Informix® ESQL/C) to hint to the system the total size of the smart large object. The system attempts to allocate a single extent for the smart large object.

For more information, see smart large objects, in the chapter on where data is stored in the HCL Informix Administrator's Guide. For information about altering storage characteristics of smart large objects, see the HCL Informix DataBlade API Programmer's Guide or the HCL Informix Enterprise Replication Guide.

MIN_EXT_SIZE 2 to 2**31 Windows: 4UNIX: 2 Specifies the minimum amount of space, in kilobytes, to allocate for each smart large object

The following message displays: Changing the sbspace minimum extent size: old value value1 new value value2.

For information about tuning this value, see smart large objects, in the chapter on configuration effects on I/O utilization in the HCL Informix Performance Guide. For information about onspaces -ch messages, see Messages in the database server log.

NEXT_SIZE 4 to 2**31 None Specifies the extent size, in kilobytes, of the next allocation of disk space for smart large objects when the initial extent in the sbspace becomes full. Let the system select the NEXT_SIZE value. To reduce the number of extents in a smart large object, use mi_lo_specset_estbytes or ifx_lo_specset_estbytes to hint to the system the total size of the smart large object. The system attempts to allocate a single extent for the smart large object.

For more information, see smart large objects, in the chapter on where data is stored in the HCL Informix Administrator's Guide. For information about obtaining the size of smart large objects, see the HCL Informix DataBlade API Programmer's Guide or the HCL Informix Enterprise Replication Guide.

This example creates a 20-megabyte mirrored sbspace, eg_sbsp, with the following specifications:
  • An offset of 500 kilobytes for the primary and mirror chunks
  • An offset of 200 kilobytes for the metadata area
  • An average expected smart-large-object size of 32 kilobytes
  • Log changes to the smart large objects in the user-data area of the sbspace
UNIX Only:
% onspaces -c -S eg_sbsp -p /dev/raw_dev1 -o 500 -s 20000 
   -m /dev/raw_dev2 500 -Mo 200 -Df "AVG_LO_SIZE=32,LOGGING=ON"

Copyright© 2019 HCL Technologies Limited