![]() |
![]() HP OpenVMS Systemsask the wizard |
![]() |
The Question is: For reasons too complex to go into, we have a directory which is over 21K blocks long. Trying to delete the contents with DEL *.*;* has made little progress in over 2 months. DECps says we have swamped our quota of ACP_DIRCACHE and we don't want to exte nd that parameter. A BACKUP with /EXCLUDE= of that directory requires too much downtime. We decided to try this approach: We want to do a QIO using ACP functions knowing the file's ID, SEQUENCE, RVN triplet, which we load to a File Info Block (FIB). W e intend to do the deletes by file ID, then use SET FILE/NODIR on the directory and delete it (all at once rather than one at a time). However, we seem to be unable to do the file access or delete without giving a directory FID. If we give a directory F ID, we will end up having to do a directory update on each delete, which is exactly why the DEL *.*;* got nowhere in two months. Can't we simply access a file by FID and then do a QIO IO$_DELETE + IO$M_DELETE with a null FIB$W_DID value? What parameters must I supply to the ACP function in order to make this work without touching the directory? The Answer is : Consider an upgrade to OpenVMS V7.2 or later, or consider the use of the Freeware DFU, or use one of the various available reverse-delete tools. Also please see topics 1234 and 3621.
|