How to reduce the time taken for oncheck -pr to complete when the database instance is off-line

Technote (FAQ)


Question

The command oncheck -pr can be run when an Informix instance is off-line but may take a while until the output from this command is displayed. How can you can reduce the waiting time to a minimum?

Cause

Upon starting, the oncheck command attempts to connect to the database instance. If the database is not running, a delay may be experienced before it attempts to read directly from the disk structures.

Answer

IBM® Informix® Dynamic Server (IDS) includes a utility called oncheck that can be used to check and print information about the database disk configuration and usage.

One of its options "-pr" allows you to print the contents of the reserved pages of a database instance.

Example

$ oncheck -pr
shared memory not initialized for INFORMIXSERVER 'fan1000fctcp'

Validating IBM Informix Dynamic Server reserved pages

    Validating PAGE_PZERO...

    Identity                       IBM Informix Dynamic Ser
                                   ver Copyright(C) 1986-20
                                   04  IBM Informix Softwar
    Database system state          0
    Database system flags          0x3
    Page Size                      2048 (b)
    Date/Time created              03/14/2007 13:46:26
    Version number of creator      14
    Last modified time stamp       0

    Validating PAGE_CONFIG...

    ROOTNAME                       rootdbs
    ROOTPATH                       /dbspaces/10.00.FC/rootdbs
    ROOTOFFSET                     0 (k)
    ROOTSIZE                       30000 (k)
...

The command oncheck -pr can be run when the instance is off-line and in critical situations it may be useful to do this in order to obtain information about the instances disk structures. However running this command when the database is off-line can result in a delay before the output is displayed.


SOLUTION

If you are using the TCP/IP protocol to connect the client to the database, there is a configuration that can be used to reduce the waiting time to a minimum .

Set the environment variable INFORMIXSERVER to a instance name which is using a TCP/IP connection (if not already configured this way).

Set the environment variables INFORMIXCONTIME and INFORMIXCONRETRY in the environment from where you are starting oncheck. For example (using sh, ksh or other shells of the Bourne Shell family):

$ INFORMIXSERVER=fan1000fctcp
$ INFORMIXCONTIME=1
$ INFORMIXCONRETRY=0
$ export INFORMIXCONTIME
$ export INFORMIXCONRETRY
$ oncheck -pr

For a detailed description of these parameters please refer to the IDS documentation.

Example
Sample output from an installation of IDS 10.00 on Linux.

(INFORMIXCONTIME and INFORMIXCONRETRY not set)

$ time oncheck -pr > /dev/null

real    1m0.049s
user    0m0.024s
sys     0m0.012s

(INFORMIXCONTIME and INFORMIXCONRETRY set)

$ time oncheck -pr > /dev/null

real    0m1.023s
user    0m0.012s
sys     0m0.004s

Note: Your timings will vary to those shown in the above example.


Rate this page:

(0 users)Average rating

Document information


More support for:

Informix Servers

Software version:

7.3, 9.4, 10.0, 11.1

Operating system(s):

AIX, DYNIX/ptx, Digital Unix (OSF1)(TRU64), HP-UX, IRIX, Linux, Reliant UNIX, Sinix, Solaris, Windows

Software edition:

Enterprise, Express, Workgroup

Reference #:

1260244

Modified date:

2007-09-26

Translate my page

Machine Translation

Content navigation