Data or date-time columns in oncfg_(servername).(servernum)
Posted in 2025
Jacob Salomon asked how to decode the time stamp and date/time columns in the oncfg log entries for his Perl script. Paul Watson suggested raising a PMR. Milan Rafaj explained columns 7 and 8 are chunk and offset and quoted the syslogfil definition. Art Kagel said timestamp is an internal page-modification counter, not a time, and the date/time column is likely an internal decimal-like binary format that is hard to decode.
Auto-generated by Claude from the posts below — may be imperfect; read the full thread.
Topics: Backup & Restore, Storage & Space Management
Hi Family.
Working toward my better knowledge of onbar, I'm writing a Perl script to sort the DBspaces and logs sections of the oncfg file in more sensible ways. (I have yet to determine if my new employer will permit me to post it where y'all can get it.) My source of information on the columns is the IBM site:
Facts about the ONCFG file
(There is a minor flaw in the section on the logs - skipping one column number.)
The columns are:
1 Object Name
2 Log file number
3 Log file flags
4 Time stamp
5 Date/Time file filled
6 Unique identifier
7 Is the beginning page of log file in chunk
8 Is the beginning page of log file in chunk offset
9 Log size
10 Number pages used
(Hmm.. Very few of these are in sysmaster:syslogs.)
The difference in meanings between lines 7 and 8 is a bit confusing but my main issue is column 4: the "time stamp". When I printf() a line using %u format for this column those numbers are 20 digits long. (%d in the printf() format yielded negative numbers.) Among the saner values, I have numbers like 2125340496 (32-bit); for the 20-digit value I have numbers like 18446744071566045023 (64 bit?). Either way they are not useful numbers to the human trying to make sense of them. If they are datetime values in some internal binary format, is there an Informix task that can decipher these into human-comprehensible date-times? Or am I completely misreading that document? And why would there be both sized numbers here? BTW, Excel messes up the big numbers, zeroing out the lowest 5 digits.
For that matter, column 5 - Date/Time file filled - makes no human sense if it is a data-time value.
Quite a while back, on the newsgroup comp.databases.informix (remember newsgroups?) red_valsen posted a question about a
sysutils query that could generate the columns in the ixbar file
. That was obviously trying to comprehend the ixbar columns. (I intend to revive that question in a separate thread.)
The ideal solution to my issue would be for someone to post a query, likely in the sysutils database, that could be used to produce the oncfg data. My utility must work on the oncfg directly because it should work even when the server is down. But it would make the information in oncfg more comprehensible.
Anyone out there willing to share such deep-down knowledge?
Thanks much!
------------------------------
Jacob Salomon
---
Nobody goes there anymore, it's too crowded. --Attr: Yogi Berra
------------------------------
For column 4 - raise a PMR and ask :)
It could be Epoch time in nseconds, it could be a Timeseries date time, it could be a dte structure, it could be the engine timestamp, it could be .....
On 3/21/2025 9:57 AM, Jacob Salomon via IBM TechXchange Community wrote:
01000195b935d582-2c6b9605-ff58-48d8-bb18-d70b84db2563-000000@email.amazonses.com">
Hi Family. Working toward my better knowledge of onbar, I'm writing a Perl script to sort the DBspaces and logs sections of the oncfg file in...
Hello Jacob,
Number 7 is chunks number where logical log lays and number 8 is offset of logical log in this chunks – see output of oncheck -pe
<logspace>
Number 4 can be also timestamp of a page (so no time item but rather sequential number. Dumping of first or last page of logical log in chunk could help.
Milan Rafaj
Senior Lead, Infrastructure/Cloud Architecture
Kyndryl Consult
+420 737 264 248
www.kyndryl.cz
Planned absence/Plánovaná nepřítomnost:
21-25.4.2025
Kyndryl Česká republika, spol. s r. o.
Sídlo: Praha 4, Chodov, V Parku 2308/8, PSČ: 148 00,
IČ: 14890992
Zapsaná v obchodním rejstříku, vedeném Městským soudem v Praze (oddíl C, vložka 339277)
Registered address: Prague 4, Chodov, V Parku, 2308/8, Zip code: 148 00
Company ID: 14890992
Entered in the Commercial Register maintained by the Municipal Court in Prague (Part C, Entry 339277)
One more info from sysmaster.sql:
create table informix.syslogfil { Internal Use Only }
(address int8, { address of logfile structure }
number smallint, { logfile number }
flags smallint, { logfile flags }
fillstamp integer, { stamp when last filled }
filltime integer, { time when last filled }
uniqid integer, { logfile uniqid }
chunk integer, { physical address of start - chunk }
offset integer, { physical address of start - offset}
size integer, { pages in logfile }
used integer { pages used in logfile }
);
Milan Rafaj
Jacob: Ok, anything in Informix named "timestamp" or "stamp" is the internal integer that is incremented everything a pagevis modified. So not any time at all. In this case it is used to identify which log files were written before an archive and which after as the archive records the "timestamp" extent when it started up. If the 5th column says "datetime" that isvtge corresponding actual date/time that corresponds to the 4th timestamp column. It is probably on the internal binary format. Not easy to decode. It is basically a DECIMAL type with the date and time encoded as a big string of base 100 digits plus scale and length fields. Art ------------------------------ Art S. Kagel, President and Principal Consultant ASK Database Management Corp. www.askdbmgt.com ------------------------------