 |
The Question is:
How do I determine which process is blocking access to a given file, resulting
in $ COPY command failing, without using trial-and-error STOP/ID to narrow it
down?.
There are several processes listed in the output of SHOW DEVICE/FILES
SYS$SYSDEVICE: command as having a link to the RIGHTSLIST.DAT file......but
when I try to $ COPY it, the command fails with "%COPY-E-OPENIN, error opening
SYS$COMMON:[SYSEXE]RIGHTSLIST.
DAT;254 as input
-RMS-E-FLK, file currently locked by another user".
The six processes are as follows:
SECURITY_SERVER 00000211
AUDIT_SERVER 0000020B
QUEUE_MANAGER 0000020E
FRTLSERVICER 0000022C
SLC_MAIN 0000022F
Intruder Alert 00000234
The hardware and software configururation is exactly-mirrored on another Alpha,
but the COPY command works ok on that system!.
The Answer is :
Please use AMDS or Availability Manager to determine processes that are
holding open files -- AMDS and Availability Manager are quite good at
this task. Newer versions of SDA can also be useful, as can certain
SDA commands such as SHOW PROCESS/CHANNEL.
OpenVMS itself tends to hold RIGHTSLIST and other core files open, and
this is one of the central reasons why the OpenVMS system management
documentation around the BACKUP of the system disk is written as it is.
Commands useful for overriding locks and copying open RMS files include
CONVERT/SHARE and BACKUP/IGNORE=INTERLOCK, though the resulting contents
of the copied files may or may not be consistent; these commands can
potentially produce output files that are corrupted, as the interlocks
that are being ignored here were implemented to ensure data consistency.
(For a related discussion of the perils of BACKUP/IGNORE=INTERLOCK usage,
please see the OpenVMS FAQ.)
|