Ibm Informix Placement Papers - Ibm Informix Interview Questions and Answers updated on 24.Jun.2024

Q1. What Is The Size Of Informix Page?

The most common page size used is 2KB, though some systems uses 4KB page.

Q2. What Is Extent In Informix?

If a table is designed without specifying extent sizes, Informix uses a default of 16 pages for the first and 8 pages for each subsequent extent. Extent sizing is done when the table is initially created.

Q3. What Are The Informix Isolation Levels And Can You Explain Each One ?

  • DIRTY READ: Reads the data without checking if it’s committed or not. No locks are held during the read
  • COMMITTED READ: Reads only the committed data. No locks held
  • REPEATABLE READ: Reads only the committed data. A shared lock is held on the rows. Other sessions can obtain shared locks on those rows, but no one can get an exclusive lock.

Q4. What Command Would You Use To Move The Physical Log?

  • onparams -p -s -d -y
  • onmonitor utility
  • in newer IDS versions, use the SQL API to alter the plog location

Q5. I Think I Screwed Up My Onconfig File, And I Do Not Have A Backup Of It. What Should I Do?

If Informix is still online, you can get a new onconfig with:

onstat -c >onconfig

If Informix is offline, you can retrieve the settings from the database with:

oncheck -pR
oncheck -pP 1 1

Q6. What Are The Sql Joins Available In Informix?


Q7. Explain The Purpose Of Optimizer Directives And How/why You Would Use Them

A DBA can use directives mostly to change / test / evaluate the execution plan (costs / benefits) for a query, by forcing an index / change join order / etc.

Q8. Mention The Database Server Operating Modes Available For Informix?

Informix IDS provide following modes:-

  1. Online mode: This is the normal operating mode of the database server.
  2. Offline mode?: The database server is not running. Shared memory is not allocated.
  3. Quiescent mode: This is the normal operating mode of the database server.

    Administrators use this mode to perform maintenance functions that do not require the execution of SQL and DDL statements. Only the administrator (user informix) can access the database server.

  4. Single-User mode: This mode is an intermediary mode between Quiescent mode and Online mode?

    Administrators use this mode to perform any maintenance task, including tasks requiring the execution of SQL and DDL statements. Administrators can also perform all other functions available in Online mode. You can see the current database server mode by executing the onstat - utility from the command.

Q9. What Is Informix Universal Server?

Informix Universal Server was the brand name given to the 9.X versions of the product; the upgrade from the Informix Dynamic Server (IDS) 7.X products, skipping the XPS 8.X release numbers. The 9.X server contained a number of functional advances (data type extensibility, DataBlades etc), as well as improvements to the storage manager and SQL processing. The most recent versions of the Informix line -- 10.X -- are an evolutionary progression over the 9.X engine.

Q10. How Would You Check That A Given Index Is Consistent And Has No Corruption? If Corruption Occurred On A Database What Would Your Process Be?

  • Index (along with database and table) consistency can be verified with oncheck -cDI database_name:table_name. Preferably with the instance put in quiescent mode.
  • If just the index is corrupted (and not fixable by oncheck), an option will be to recreate the index.

Q11. What Can Be Used To Capture An Isam Error From An Informix Odbc Program On Unix ?

If the DBA has a query inside a script / program that connects to an Informix instance through an ODBC connection, and running the query results in an error, then he can use the TRACE functionality, and return DBINFO(sqlca.sqlerrd[1,2]).

Q12. What Is The Option Or Command Used In Informix For Finding Which Dbspace A Database Resides?

from command line# onmonitor ->Logical-Logs->Databases.

Q13. What Are The Uses Of Key Value Locking In Informix?

The database server uses a concept called key-value locking to lock the deleted row. When the database server deletes a row, key values in the indexes for the table are not removed immediately. Instead, each key value is marked as deleted, and a lock is placed on the key value. One of the most important uses for key-value locking is to assure that a unique key remains unique through the end of the traction that deleted it.

Q14. What Are The Options/commands Used Which Dbspace A Database Resides?

  • The DBA can use:
  • The onmonitor utility
  • oncheck -pe | egrep “DBspace Usage Report|” | more
  • A query joining sysdbspaces and sysdatabases tables located in the sysmaster database

Q15. Why Is Update Statistics Important To A Database?

  • Running update statistics will update the system catalog information about the database.
  • This information is used by the Informix optimizer to calculate costs and execution pl for day to day queries. Lack of up-to-date information about data distributions may result in severely bad pl.

Q16. Can I Ask About Perl, Dbi And Dbd Informix? Other Products?

You may ask questions about Perl, DBI and DBD::Informix, but only if an IBM or Informix database is involved, somehow -- it is not a general forum for arbitrary questions about Perl. However, there are alternative forums that you should also use, described in the product. 

Q17. What Is The Informix-list

The mailing list is a bi-directional gateway to the comp.databases.informix (c.d.i) UseNet news group. Messages posted to the news group are forwarded by mail to subscribers of the mailing list; responses sent to the email address are also posted to the news group; and the gateway manages to keep track of things so that postings do not repeat themselves. The mailing list is 'closed' in that you cannot post directly to the list unless you also subscribe to the list. However, you can always post to the news group instead; that is fully open and unmoderated.

Q18. Can You Explain Pdq Priority?

By setting PDQ PRIORITY the DBA can change the query execution priority and increase the number of internal threads spawned by Informix to satisfy the query. Also, some memory allocation strategies differ upon setting PDQPRIORITY.

Q19. Explain The Concept Of Fragment Elimination In Informix ?

  • Fragment elimination appears when the following conditions are all satisfied:
  • A table is fragmented
  • The fragmentation formula doesn’t create overlapping ? asta oricum nu e permis (overlapping)
  • A query uses equality filter on a column used in the fragmentation formula
  • If the above conditions are met, the Informix engine can skip fragments (data is not searched there) that don’t comply with the query filter


Q20. Who Developed Informix?

IBM released Informix

Q21. What Is An Extent In Informix?

In Informix, the smallest unit containing data is the “page”. A continuous group of pages form an extent

Q22. What Is An Informix Instance?

A collection of informix processes in charge of:

  • Informix shared memory structures
  • Receive user session connection, and puts them in contact with the data
  • Gather data statistics
  • Allow backup / recovery actions
  • Interact with the user sessions
  • At the OS level, an instance can be “seen” as one ore more oninit processes + memory structures + disk / persistence structures

Q23. What Is Informix Instance?

An Informix instance is a single connection to shared memory. It is represented by one or more on init processes. When Informix is started or stopped, these processes appear and disappear. Informix used to use the term "server" when referring to an instance, hence the environment variable DBSERVERNAME.

Q24. What Can Be Used To Capture An Isam Error From An Informix Odbc Program On Unix?

We can use the SQLCA structure to get the ISAM Error.

sqlca.sqlerrd[1] holds the ISAM error return code.

We can also use the rgetlmsg() and rgetmsg() library functions to obtain ISAM error message text.

Q25. Somehow Informix Fails To Go Online. Is There A Way To View What Oninit Is Doing?

Yes, you can start Informix in verbose mode:

oninit -v (this works on NT as well)

Informix will print everything that happens.

To close the verbose mode: start a second terminal session (UNIX) or command prompt (NT) and execute:

onmode -ky

N.B. Don't close your terminal session (UNIX) or command prompt (NT) while in verbose mode. This will take Informix offline immediately.

Q26. What Is Chunk In Informix?

A chunk is a physical portion of disk on which Informix stores its data. A chunk can be either a raw partition or a file system file. Informix suggests that a chunk's name be a symbolic link to the actual chunk. For example, if you are using /dev/rdsk/c6t0d0s1 as a chunk, you could create a symbolic link named /dev/informix/chunk1 that points to /dev/rdsk/c6t0d0s@That way, if there are ever any problems with that disk, you could replace the disk with another one and just change the symbolic link.

Q27. What Are The Database Server Operating Modes Available For Informix? Explain Each.

  • ONLINE : instance is up & running, allowing connections from all the users (that have the necessary grants)
  • OFFLINE: instance is down. No connections to the database allowed
  • SINGLE USER: instance is up & running, but only user informix can access the database. Useful when DBA wants to close all the user sessions, perform some task and bring the instance in multi user mode
  • QUIESCENT: Similar with SINGLE USER mode, useful for maintenance task (recovery / recovery of a corrupt or offline dbspace chunk)


Q28. Explain About Light Sc In Informix?

Light sc occur under the following conditions: The optimizer chooses a sequential scan of the table. The number of pages in the table is greater than the number of buffers in the buffer pool. The isolation level obtains no lock or a shared lock on the table: Dirty Read (including non logging databases) isolation level Repeatable Read isolation level if the table has a shared or exclusive lock Committed Read isolation if the table has a shared lock

Q29. Why A Foreground Write In Informix Decrease Performance?state The Reason For The Same?

foreground writes (FG) should always be zero. A foreground write is caused when a session needs to have a page from disk placed into the buffer pool, but there are no clean/free buffers available. In this case, the sqlexec thread will pick a page off the least recently used side of an LRU queue, write it out, and mark the page as clean. This process is time consuming for a session and should be avoided.

Q30. Explain About Light Sc In Informix ?

A light scan may occur when Informix internal optimizer decides that the best execution plan will be a sequential scan (bad query selectivity, lack of indexes…). In this case, if the optimizer further decides that the data set resulting from the query will not fit in the buffer pool, it will bypass it. The result is a light scan.

Q31. What Is A Chunk In Informix ?

The “chunk” is a file containing informix database data (or a subset of that data). In can be a file on a internal disk (cooked file) or a raw device (from a SAN platform or internal disks/arrays).

Q32. How Could You Increase The Speed Of Ontape/onbar Backups ?

  • On a platform with fast cpus, write low performance and compresable data, the ontape output may be piped and compressed before getting on disk (less IO write operations).
  • With onbar, greater backup speeds can be achived by:
  • Increase the number of onbar threads -> BAR_MAX_BACKUP
  • Increase the buffers used by onbar (if memory is available) ? BAR_NB_XPORT_COUNT
  • Use a fast storage for the storage pool (We use onbar + IBM Tivolli Storage Manager)
  • Consider taking incremental backups

Q33. Explain Checkpoints And Why In 9.4 They Were Better Than In Previous Versions Of The Engine?

  • You are still using 9.4 ? It’s out of support for 3 years … . We upgraded from 10.00FC6 to 11.50FC7 last year.
  • The first Informix database I started to administrate was IDS 10.00FC@So my best guess is that 9.4 introduced partially non blocking checkpoints (fuzzy checkpoints ?), these being superseded in the latter versions.
  • The checkpoint is the moment when Informix will flush the contents from the bufferpool to disks.

Q34. Why Do Foreground Writes Decrease Performance ?

Whenever Informix sqlexec process searches for a free / clear buffer in order to read a page from the disk into that buffer is called foreground write operation. The performance penalty appears when there are no free / clean buffers left, and sqlexec has to search for a less used buffer, write its content to disk, clean the buffer and reuse the buffer for a foreground write operation – having the disadvantage of NOT being asynchronous (as chunk writes/lru writes)

Q35. What Rules Exist Regarding Format, Content, Flame Wars, Etc

None; this is a news group! That is, there are no rules enforced by the software. There are periodically discussions on c.d.i about what should and should not be said. This is my FAQ, so it gets my spin on the rules that should be followed.

* Format: HTML postings are strongly discouraged; so are MIME postings. Both cause problems with many frequently used news readers. That me that attachments aren't encouraged either. Also, sending the same information twice, once in HTML and once in plain text, is downright wasteful.

Q36. An Index Is Reaching A Limitation On The Number Of Pages It Has, Can You Explain Why This Limitation Exists And What Work You Would Do To Get Around It?

  • A dbspace can have one or more partitions. Each partition has a special “header” info in the first extent.
  • The partition header keeps a list of the partition’s extents. If the object holding the space in the partition (table / index) has a great number of extents, the header may not be able to keep the full list.
  • Workarounds:
  • increase first / next extent size and recreate the object
  • change the page size -> will result in a lower number of extents
  • recreate the index in a dbspace having a larger page size

Q37. Can I Install Informix On A Non-english Version Of Windows Nt?

Yes, but you need to install version 7.30 TC 6 or higher.

Q38. What Is A Binary Large Object ?

  • Any object for whom its binary data file can be stored and restored with success into a database can be considered a BLOB.
  • As an example, an ecommerce site can store the product photos and videos inside a database. But that’s not a best practice.


Q39. What Is Informix Binary Large Object?

A binary large object, also known as a blob, is a collection of binary data stored as a single entity in a database management system. Informix invented an alternative backronym, Binary Large Object. Blobs are typically images, audio or other multimedia objects, though sometimes binary executable code is stored as a blob.

Q40. And Why Are These Important ?

  • Monitor impact on system’s CPU:
  • Instance sys vcpu + Instance user vcpu
  • Locks requests / waits
  • Active locks
  • Monitor impact on system’s storage (IO) / memory:
  • Buffer reads / writes / waits
  • Page reads / writes /
  • Disk reads / writes
  • Logical contention:
  • lock requests / waits
  • deadlocks
  • eventually rollbacks
  • Monitor instance health & status
  • Dbspaces total / used / free space
  • Checkpoint intervals & duration
  • Sequential sc number
  • Number of not yet backup-ed logical logs
  • Number of active sessions
  • And of course the instance online log.


Q41. Who Conceived And Designed The Informix Database Management System?

The Informix database management system was conceived and designed by Roger Sippl in the late 1970s. Informix was founded in 1980, went public in 1986, and for a period during the 1990s Informix was the second most popular database system, after Oracle.

Q42. How Would You Convert A Secondary Server Into A Primary Server ?

  • EXECUTE FUNCTION task(“ha sds primary”,”srv_slave”);
  • If it is HDR and the secondary becomes the new standalone server: onmode -d standard