SQL/MP Reference Manual
HP NonStop SQL/MP Reference Manual—523352-013
M-35
Considerations-MODIFY LABEL with REPLACE
VOLUME
CATALOG with REPLACE VOLUME command cannot be run first because it will
try to identify the CATALOG name from the file label to update the records in
catalog indexes.
However, if the volume name where the catalog exists has not been modified at the
time of running the MODIFY DICTIONARY command, consider executing MODIFY
CATALOG with REPLACE VOLUME command first followed by MODIFY LABEL
with REPLACE VOLUME command.
For example, if a catalog exists on $DATA00.CATVOL and the volume name has
been changed to $NEW00, the file labels of the catalog tables and indexes retain
the CATALOG name field as $DATA00. Running MODIFY CATALOG with
REPLACE VOLUME command on these catalog tables and indexes will fail as it
tries to identify the catalog $DATA00.CATVOL for updating certain records in
indexes on catalog tables, such as IXINDE01. Because $DATA00 has been
changed to $NEW00, the update fails. Hence, consider executing MODIFY LABEL
with REPLACE VOLUME command on these catalog objects such that the file
labels are updated with the new catalog name. This can be followed by MODIFY
CATALOG with REPLACE VOLUME command.
To minimize unnecessary searching, make your target-spec clause as specific as
possible. For example, if SQL objects reside only on subvolumes whose names
begin with SQL, specifying $VOL1.SQL*.* is more efficient than specifying
$VOL1.*.*. The MODIFY LABEL with REPLACE VOLUME command would not
have to search for SQL objects on other subvolumes.
The MODIFY LABEL with REPLACE VOLUME command locks one file label at a
time. The file itself is not locked. You must refrain from using the database,
including partitions and dependent objects on remote nodes, until the volume
names have been modified.
The MODIFY DICTIONARY utility does not handle:
Remote nodes. If you specify a remote file name, the MODIFY LABEL with
REPLACE VOLUME command reports a nonfatal error. Each node with
dependent objects or partitioned objects must have a version of NonStop
SQL/MP that supports MODIFY LABEL with REPLACE VOLUME commands.
User-defined SQL object files. For example, MODIFY LABEL with REPLACE
VOLUME does not modify a volume name stored in a column of a user-defined
table.
Volume names stored in SQL object program files.
Volume names in Enscribe file labels.
Dependent objects. Volume names in the file labels of dependent objects are
not modified unless the dependent object is specified in the MODIFY LABEL
with REPLACE VOLUME command.