Informix

 View Only

 Follow the progress of archecker: What IS archecker doing?

Jacob Salomon's profile image
Jacob Salomon posted Tue April 01, 2025 06:10 PM

Bottom line:
How can I check on what archecker is doing, if anything?

Hi Family.

It's been 8 years since the only time I have ever used archecker (to restore a table before the guy's boss found out! :-) so I am unfamiliar with what to expect.

A couple of hours ago I kicked off an archecker session to restore two tables.  It exited almost immediately and I thought I had done something wrong, though there was NO error message.  I started it up again and, again, it exited very quickly.  But this time I had the (rare) presence of mind to check $? - the exit code.  Zero, so it appears it went OK.  But obviously it could not have done that restore so quickly.  This leads me to a bunch of questions:

  1. What did archecker do in that short interval? Did it kick off a couple of daemons or background processes that are searching the tape libraries for pages of those tables to restore (to the new name)?
  2. How can I check the progress of the restore, if it is running at all?  Referring to the above item: How do I know that anything at all is running on behalf of the archecker session?
  3. The MSGPATH log file showed no indication that anything new was underway. But a separate issue drowned the log file in irrelevant messages so I might have missed it.
  4. If I had access to NetBackup logs, would that show anything?
  5. If such processes are running, how can I identify them in, say, onstat -g ses or onstat -u?  Or some other means?  If I wanted to abort the process, how would I stop it?
  6. Will the second, premature run of archecker mess up the first one or damage the tables involved?  Or will it merely recreate the same substitute tables?

The replacement table names are the original table names with a chad_ prefix but there is no sign of those new names in a query on systabnames. This means nothing yet; after all it might need to do a lot of searching before it locates the original TBLspaces in the backup.

For the curious here is an edited SQL to get that table (and index) information:

select hex(tn.partnum) partition,
       tn.dbsname[1,14],
     --tn.owner[1,14],
       tn.tabname[1,14],
       ti.ti_nptotal,
       ti.ti_npused,
       ti.ti_nrows
  from systabnames tn, systabinfo ti
where tn.partnum = ti.ti_partnum
--and (any other conditions related to table names)
 order by tabname
;

Mike Walker's profile image
Mike Walker IBM Champion

Do you have a file /tmp/ac_msg.log ?

Unless you are setting the environment variable AC_CONFIG then archecker setting will default to $INFORMIXDIR/etc/ac_config.std.

The default value for the archecker log in ac_config.std is /tmp/ac_msg.log

Are you using a TCP connection?  That is required if you are attempting a table level restore.

Doug Lawry's profile image
Doug Lawry
Jacob Salomon's profile image
Jacob Salomon

(For some strange reason I see no reply button on the thread.  I will guess that's because posted this as a question; I usually post as an open-ended discussion.  That aside:)

Hi Mike.

Yes, I did configure the AC_CONFIG file for verbose output.  And indeed, the log file is /tmp/ac_msg.log so at least I know of some place to look.

$ archecker -D -b -s -v -X -f restore-158223 -l phys

However, here is the output of the second run I mentioned yesterday; pretty identical to that of the first run:

2025-04-01 12:13:33
-----------------------------------------
STATUS: IBM Informix Dynamic Server Version 12.10.FC9W1X4
Program Name:   archecker
Version:        8.0
Released:       2021-01-12 12:00:17
CSDK:           IBM Informix CSDK Version 4.10
ESQL:           IBM Informix-ESQL Version 4.10.FC11
Compiled:       01/12/21 12:01  on SunOS 5.10 Generic_141444-09

STATUS: Arguments [-D -b -s -v -X -f restore-158223 -l phys]
STATUS: AC_STORAGE               /tmp
STATUS: AC_MSGPATH               /tmp/ac_msg.log
STATUS: AC_VERBOSE               on
STATUS: AC_TAPEBLOCK             62 KB
STATUS: AC_IXBAR                 /usr/informix/etc/ixbar.0
STATUS: AC_SCHEMA                restore-158223
TIME: [2025-04-01 12:13:33] All old validation files removed.
STATUS: Dropping old log control tables


STATUS: archecker completed Setup pid = 27842 exit code: 0

That's it??!!
To paraphrase a Vaudeville song from the 1920's: How useless can you get?  And if this is VERBOSE, I'd hate to see TERSE!  And no, the new tables did not get created. (Sad-face emoji)

So now, Mike, I know where to look for my exit status.  But what went wrong?  I'll be chasing down the Oninit article Doug is referring to me.

Thanks!

Mike Walker's profile image
Mike Walker IBM Champion

I don't know for sure what is happening but it looks like it may have just run the "cleanup".

Try running only:  archecker -DX

followed by: archecker -bvsXf restore.158223 -l phys

David Williams's profile image
David Williams IBM Champion

Hi,

pstack the pid!

As you would be using the XBSA Library BAR_ACT_LOG/BAR_DEBUG and check storage manager logs as well.


Regards,
David.