After a BACKUP Image restore of a common system disk, VMS$COMMON.DIR becomes the synonym directory of SYSCOMMON.DIR. As a result, incorrect file specifications for files residing in the common root are returned from the following lexical functions and commands:
- F$ENVIRONMENT("PROCEDURE") lexical (when used from batch)
- F$GETQUI lexical
- 'SHOW DEVICE/FILES' DCL command
- 'SHOW QUEUE/FULL/ALL' DCL command
The incorrect file specification is of the form: ddcu:[SYSCOMMON.subdirectory]filename
The correct file specification should be: ddcu:[VMS$COMMON.subdirectory]filename
EXAMPLE:
$ SHOW DEVICE /FILES SYS$SYSDEVICE:
Files accessed on device DUA0: on 14-MAR-1990 10:19:25.23
Process name PID File name
00000000 [000000]INDEXF.SYS;1
00000000 [000000]QUOTA.SYS;1
00000000 [SYSCOMMON.SYSEXE]F11BXQP.EXE;1 ...
The file specification for F11BXQP.EXE should be [VMS$COMMON.SYSEXE]F11BXQP.EXE;1.
Lösung:
This problem is fixed in OpenVMS VAX V5.5-2 and in OpenVMS AXP V1.0.
WORKAROUND 1:
If you cannot install the patch described in WORKAROUND 2, then implement either one of the two procedures described below ONLY if your application is experiencing the problems described in this article.
a. Rename VMS$COMMON.DIR and SYSCOMMON.DIR using the commands listed below:
$ SET PROCESS/PRIVILEGE=SYSPRV
$ RENAME SYS$SYSDEVICE:[000000]VMS$COMMON.DIR SYS$SYSDEVICE:[000000]SYSCOMMON.DIR
$ RENAME SYS$SYSDEVICE:[000000]SYSCOMMON.DIR SYS$SYSDEVICE:[000000]VMS$COMMON.DIR
This will correct the file header backlink pointer making SYSCOMMON.DIR the synonym directory of VMS$COMMON.DIR versus VMS$COMMON.DIR the synonym of SYSCOMMON.DIR.
NOTE: This procedure must be performed after any BACKUP image restore.
b. Create the synonym directory entry [000000]SYSCOMMON.DIR using the command listed below:
$ SET PROCESS/PRIVILEGES=SYSPRV
$ SET DEFAULT SYS$SYSDEVICE:[000000]
$ SET FILE/ENTER=SYSCOMMON.DIR VMS$COMMON.DIR
$ SET FILE/REMOVE VMS$COMMON.DIR
$ RENAME SYSCOMMON.DIR VMS$COMMON.DIR
The file specification returned from F$ENVIRONMENT does not change, but is now valid.
NOTE: This workaround only has to be performed once. However, this directory is not normally present on a system disk and may lead to confusion.
************************* CAUTION *************************
DO NOT delete files under the [SYSCOMMON] directory.
The directory [SYSCOMMON] is a synonym of [VMS$COMMON].
Deleting files under [SYSCOMMON] is the same as deleting the system files in the SYS$COMMON root and results in a system disk that is unusable.
To remove the directory entry, use the following command:
$ SET FILE /REMOVE [000000]SYSCOMMON.DIR
*************************************************************