|Informix Application Development - Getting Started|
|IBM Informix Developer's Handbook|
|Embedding IBM Informix|
Here is a short calculation of Informix Backup costs with and without compression.
Informix backup can be compressed in different ways:
- ontape to disk (with ONCONFIG Parameters BACKUP_FILTER and RESTORE_FILTER)
- onbar to tape (with ONCONFIG Parameters BACKUP_FILTER and RESTORE_FILTER)
- onbar to tape (with TSM compression)
To enable the "Expandable Chunk" Feature we must set the following ONCONFIG Parameters:
$ onmode -wf SP_AUTOEXPAND=1 # 1 = The automatic creation or extension of chunks is enabled.
$ onmode -wf SP_THRESHOLD=131072 # set the minimum amount of free kilobytes that can exist in a storage space
# before Informix automatically runs a task to expand the space, either by
1. logical logfile backup times (onbar)
SELECT a.obj_name::VARCHAR(10) AS logfile,
(b.act_end - b.act_start)::INTERVAL SECOND(9) TO SECOND AS time_sec
FROM bar_object a, bar_action b
WHERE a.obj_oid = b.act_oid
AND a.obj_type = 'L'
ORDER BY 1 ASC;
logfile act_start act_end time_sec
40852 2010-12-22 21:34:10 2010-12-22 21:34:15 5
From the Informix Administrators Guide / Chapter 15:
You perform the following tasks routinely:
- Backing up a logical-log file
- Switching to the next logical-log file
- Freeing a logical-log file
- Monitoring logging activity and log-backup status <== discussed here
You perform these tasks occasionally, if necessary:
IDS CLR (Continous Log Restore) is one of the best choises.
Normaly IDS onspaces command creates existing (0 Byte) chunks/cooked files with
2k/4k blocksize (touch chunkname; onspaces -c/-a ....).
This can take a long time when creating large chunks (100 GByte or greater for example).
To speedup this task it can be helpful to create a litte script on AIX/Linux/Solaris which
creates a empty file with larger blocksizes:
printf "usage: $0 -f FILE -s SIZE_GB\n"
printf "SIZE should be a multiple of 2 GByte !\n"
Every unfragmented/unpartitioned IDS Table can have a maximum of 16 Mio. pages.
To exceed this limit the table can be fragmented / partitioned.
Here is a example function/task for the IDS 11.X sysadmin database to check this limit.
The function triggers a Serverity RED Warning event if page fillfactor >= 98%, a Severity YELLOW
Warning event if page fillfactor >= 90% and a YELLOW Info event if page fillfactor >= 70%.
DROP FUNCTION check_table_pages1;
Since IDS Version 10.00 dbspaces can be created with other than the default 2k/4k pagesize.
This feature has multiple benefits:
- less disk I/O with larger pagesizes (8k ... 16k)
- more rows per data/index page (max. 255 Rows / data page)
- higher upper limit of rows per table (max. 16777216 pages / table fragment)
- higher upper limit of table/index extents
- reduce "-136 ISAM error: no more extents." Errors
Example (stores_demo database):
It could be a problem for the application (or the admin) when database tables next extent size
is larger than the dbspace free size. Here is a example function/task for the IDS 11.X sysadmin database to
check these events:
Welcome to the Informix Administrators Blog !
My Name is Markus Holzbauer and I am working with Informix since Version 4.0
(which was EOS long time before Y2K) as Support Engineer, Consultant, DBA, ...
The Focus of this blog is to make IDS more "Administration free" and show how to
automatize and optimize DBA/Admin tasks..