Oninit Logo
The Down System Specialists
Partnerships Contact
Onstat -a -b/-B -C -c -d/-D -F -f -G -h -i -j -k/-K -L -l -m -o -P -p -R -r -s -t/-T -u -X -x -z

onstat -g dic Data dictionary cache

The onstat -g dic command displays the tables whose data dictionary information is currently stored within the dictionary cache in memory.

Dictionary Cache:  Number of lists: 31, Maximum list size: 10                  
list#  size  refcnt  dirty?  heapptr        table name                         
   1     3      1      no     14b5d890   wbe@oninit_shm:informix.t0010url      
                1      no     14cbb820   wbe@oninit_shm:informix.t9051themeval 
                0      no     14b63c20   wbe@oninit_shm:informix.t0060hits     
   2     2      0      no     14b97420   wbe@oninit_shm:informix.t0120import   
                1      no     14b6c820   wbe@oninit_shm:informix.t9110domain   
   3     3      0      no     14bce020   wbe@oninit_shm:informix.t0150url      
                0      no     14d3d820   contact@oninit_shm:informix.wbtags    
                0      no     14c87420   wbe@oninit_shm:informix.wbtags        
   4     1      0      no     14b7a420   drug@oninit_shm:viagra.product        
Total number of dictionary entries: 36      

Output Description

Heading Description Format
list# The data dictionary hash chain ID Dec
size The number of entries in this hash Dec
refcnt The number of SQL statements currently referencing one of the entries in this cache. Dec
dirty? Whether this entry has been modified relative to its entry on disk. Str
heapptr The in-memory address for the heap used to store this entry. Hex
table name The name of the table in the cache. Str

Note: the table can have multiple entries, typically 1 clean and multiple dirty.

There are other operations beyond DDL that will cause a data dictionary entry to be marked as dirty. An example is any update statistics operation. A dirty entry will remain visible in the cache until all references to the cache entry have been removed. Any active SQL statement against a table will generate a reference to that table's data dictionary cache entry, as will declared cursors and stored procedures. Since ER has to know about the structure of a table in order to know how to interpret logical log records then it's likely it will also hold a reference to the dictionary cache.

To discuss how Oninit ® can assist please call on +1-913-674-0360 or alternatively just send an email specifying your requirements.