SQL/MP Reference Manual
HP NonStop SQL/MP Reference Manual—523352-013
M-16
Considerations-MODIFY CATALOG with REPLACE
VOLUME
However, if the volume name where the catalog exists has not been modified at the 
time of executing MODIFY DICTIONARY command, then consider executing 
MODIFY CATALOG with REPLACE VOLUME command first followed by MODIFY 
LABEL with REPLACE VOLUME.
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 the MODIFY CATALOG 
with REPLACE VOLUME command on these catalog tables and indexes fails 
because it tries to identify the catalog $DATA00.CATVOL for updating certain 
records in indexes on catalog tables such as IXINDE01. Therefore, the update fails 
because the $DATA00 name field has changed to $NEW00. Hence consider 
running the 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 the MODIFY CATALOG with REPLACE VOLUME command.
The MODIFY CATALOG with REPLACE VOLUME command locks one catalog 
table at a time. The file labels of the catalog tables are not locked. Do not request 
DDL or update operations until the volume names are modified, including 
operations on partitions and on dependent objects on remote nodes.
The MODIFY DICTIONARY utility does not handle the following:
Remote nodes. If you specify a remote file name or catalog name, the MODIFY 
command reports a nonfatal error. Therefore, each node with dependent 
objects or partitioned objects must have a version of NonStop SQL/MP that 
supports MODIFY CATALOG commands.
User-defined SQL object files. For example, the MODIFY CATALOG with 
REPLACE VOLUME command does not modify a volume name stored in a 
column of a user-defined table.
Names stored in SQL object program files. SQL object programs can refer to a 
SQL object by using either a DEFINE or the Guardian name of the object. If 
DEFINEs are used, both the DEFINE name and the associated Guardian 
name of the SQL object are stored in the object program file-not in the file 
label. If Guardian names are used, the Guardian names are stored in the 
object program file in internal network form.
Dependent objects. The MODIFY CATALOG with REPLACE VOLUME 
command does not modify information about dependent objects that reside in 
other catalogs unless the other catalogs are specified. You must be aware of 
how the database is distributed. Document the MODIFY commands that need 
to be run, the nodes they need to be run on, before they are used. Prepare 
scripts that run the necessary MODIFY commands. When you add a new 
dependent object to the database, update the scripts. While the node is in a 
consistent state, you can use the DISPLAY USE OF command to locate 
dependent objects. After MODIFY commands are run, use the VERIFY utility to 
verify that the database is in a consistent state.










