![]() |
![]() HP OpenVMS Systemsask the wizard |
![]() |
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.)
|