Article 170696 of comp.os.vms:



In article <338b17ab.2786729@news.sonnet.co.uk>, mac@muse.sonnet.co.uk (Mac) writes...
>Folks
         wr x.x7
>|>   Use of BACKUP/IGNORE=INTERLOCK is a dangerous practice in general,
 :
>Yea - I been slapped on the wrist by one of your (Dutch ?) colleagues
>for that one.

Hope it didn't hurt... It was just a hint :-).
(Dutch by origin, living in Nashua NH, USA)

>After I copy SYSUAF - when I can catch it when the queue manager
>doesn't have it - it sez no errors.

Hmmm.. any clever caching products running? (Perfect cache, IO express,
Supercache or whatever they are all called.) Not implying any particular
one of them would be broken, but from a Digital perspective they are suspect.
If you can run without such caching help for a while (or move SYSUAF to
a disk that is expluded from their help) then please do so.
I seem to recall a word of warning fron Glenn E a while ago about specific
(correct) Scsi driver operations under 6.2 not anticipated by some caches.
Speaking of version... As this gets more serious, The exact version numbers
of the main software used will be needed by the support centers.

Actually... even our VIOC is somewhat suspect. Be sure all patch for
the appropriate VMS versions are installed. While VIOC does not cache
write shared files (such as SYSUAF) there may be time windows where only
one system has it open. Upon detecting the next corruption (hopefully never)
to find out whether you are reading stale cached data, you may want to run
the included small program to tell VMS to walk away from the cache for the
disk and try again. To avoid VIOC helping at all, you could either convert
UAF to have a bucket size > 35 (not recommended) or have a program in each
node open SYSUAF access write allowing write all the time.

#include RMS
#include IODEF
#include <stdio>
struct FAB  fab;
struct XABFHC xab;
main()
    {
/*  This program will invalidate all cached vbns for all files on a selected
**  volume. The VMS VBN cache (VIOC) has no mechanisme to associate an LBN
**  back to a VBN and thus plays it safe by invalidating all cached files 
**  for that disk. To get a valid LBN on a disk, the program creates or
**  opens a contigeous file for which RMS will return the LBN for VBN 1 in
**  a provided XABFHC.
**
**   Needs LOG_IO priv and must point TEST_DEVICE to device to be nuked
**   Have fun, Hein van den Heuvel 1993
*/
        int i, stat;
        short iosb[4];
        char buf[512] = "No more cache";
        char name[] = "TEST_DEVICE:NOCACHE.TMP";

        fab = cc$rms_fab;
        xab = cc$rms_xabfhc;
        fab.fab$l_fop = FAB$M_CTG|FAB$M_CIF; /* need contigeous file */
        fab.fab$b_fns = strlen(name);
        fab.fab$l_fna = &name;
        fab.fab$l_alq = 1;
        fab.fab$l_xab = &xab;

        stat = sys$create( &fab);
        stat = sys$close (&fab);
        fab.fab$l_fop = FAB$M_UFO;
        stat = sys$open( &fab);
        if (!(stat&1)) return stat;
        stat = sys$qiow ( 0, fab.fab$l_stv, IO$_WRITELBLK, iosb, 0, 0,
                          buf, 512, xab.xab$l_sbn, 0, 0, 0);
        if (!(stat&1)) return stat;
        return iosb[0];
    }


Hope this helps,                +--------------------------------------+
Hein van den Heuvel, Digital.   | All opinions expressed are mine, and |
  "Makers of VMS and other      | may not reflect those of my employer |
   fine Operating Systems."     +--------------------------------------+



Hope this helps,                +--------------------------------------+
Hein van den Heuvel, Digital.   | All opinions expressed are mine, and |
  "Makers of VMS and other      | may not reflect those of my employer |
   fine Operating Systems."     +--------------------------------------+


