APAR status
INTRAN
Error description
This informational apar provides step by step procedures for moving catalogs from one volume to another. This apar further expands on the examples provided in the DFSMS manual "Managing Catalogs" including considerations for shared catalogs. These are also the same steps that should be used when reorging a catalog. The only difference between a reorg and a move is the volume the catalog is on at the end of the process. . When moving a catalog there are slightly different processes depending on whether the catalog is on a single system, or is shared across systems. This will cover three common system configurations. The first configuration is a single system, the second is multiple systems with each system having it's own master catalog and the third is multiple systems with a single shared master catalog. . Before moving any catalog always: 1. Ensure you have a good backup of a valid catalog. Use of IDCAMS DIAGNOSE and EXAMINE on the catalog and correcting any errors before taking the backup will ensure you can fall back to a valid backup if there are problems. Having more than one copy is always a good idea in case one copy becomes damaged or lost. This backup can be a full volume dump of the volume the catalog is on, a DFDSS backup or IDCAMS EXPORT. Having all three gives you more options if you need to back out of the catalog move. 2. Ensure through the use of IDCAMS DIAGNOSE and EXAMINE that the catalog does not have errors. 3. An IDCAMS LISTCAT ALL of the catalog to be moved is always a good idea in case there are problems. Since this may produce a large volume of output you may wish to consider redirecting the output to a dataset either by pointing the SYSPRINT DD statement to a dataset, or by use of the OFILE keyword on the LISTCAT command. 4. If you are moving a catalog that is shared across systems, a LISTCAT of the master catalog with ALL keyword is needed to enable a redefine of any aliases that point to the user catalog that is being moved, unless you already have a job setup to define the aliases. If you already have a job verify that it is current by comparing the LISTCAT output to the job. Note: EXPORT DISCONNECT is recommended in several of the examples but it does delete the alias entries in the ucat connector record making a redefine of them necessary. Instead, you can use IMPORT CONNECT w/ALIAS on the systems other than the one you are working with the catalog on. 5. Quiesce all activity against the catalog that is to be moved. . The scenarios here assume that the following four steps are are run as the FIRST part of the move process and if there are errors, these are corrected before proceeding with moving the catalog. //DIAGNOSE EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //DIAGDD DD DISP=SHR,DSN=your.user.catalog //SYSIN DD * DIAGNOSE ICFCATALOG INFILE(DIAGDD) //EXAMINE1 EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * EXAMINE NAME(your.user.catalog) - INDEXTEST NODATATEST ERRORLIMIT(1000) //EXAMINE2 EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * EXAMINE NAME(your.user.catalog) - NOINDEXTEST DATATEST ERRORLIMIT(1000) //LISTCAT EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * LISTCAT CAT(your.user.catalog) ALL . The scenarios here assume that the following four steps are are run as the LAST part of the move process and if there are errors, these are corrected before unlocking the catalog. //DIAGNOSE EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //DIAGDD DD DISP=SHR,DSN=your.user.catalog //SYSIN DD * DIAGNOSE ICFCATALOG INFILE(DIAGDD) //EXAMINE1 EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * EXAMINE NAME(your.user.catalog) - INDEXTEST NODATATEST ERRORLIMIT(1000) //EXAMINE2 EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * EXAMINE NAME(your.user.catalog) - NOINDEXTEST DATATEST ERRORLIMIT(1000) //LISTCAT EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * LISTCAT CAT(your.user.catalog) ALL . Single system move of catalog OR move of catalog shared across systems with single shared master catalog. . 1. Lock the catalog (must have IGG.CATLOCK authority) //LOCKCAT EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * ALTER your.user.catalog LOCK 2. Issue the following command on each system that uses the catalog that you are moving if you use VLF for catalogs: F CATALOG,NOVLF(your.user.catalog) NOTE: The next command is optional and only relevant if you using ECS (Enhanced Catalog Sharing) F CATALOG,ECSHR(REMOVE,your.user.catalog) 3. Export the catalog (considering doing this twice to have a second copy). See info apar II10752 item 16 for alternative JCL for EXPORT that improves the performance of EXPORT. //EXPRTTMP EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //EXPDD DD DSN=CATBACK.your.user.catalog,UNIT=SYSDA, // DISP=(NEW,CATLG,DELETE) ... other JCL parameters as needed //SYSIN DD * EXPORT your.user.catalog - OUTFILE(EXPDD) TEMPORARY 4. If you are happy with current catalog attributes such as cisize, then you can use the following else skip to step 5 //NEWVOL EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * IMPORT INDATASET(CATBACK.your.user.catalog) - OUTDATASET(your.user.catalog) - OBJECTS((your.user.catalog - VOLUMES(NEWVOL))) - ALIAS - /* Include the aliases */ LOCK /* Be sure to include this */ . If you ran the above step, then skip to step 8 5. If you are taking advantage of the move to update catalog attributes then delete the catalog with the recovery option //DELCAT EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * DELETE your.user.catalog - RECOVERY - /* Be sure this is specified */ USERCATALOG 6. Now define the catalog with the updated attributes on the new volume. //DEFCAT EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * DEFINE USERCATALOG - (NAME(your.user.catalog) - VOLUME(newvol) - /* New volume */ CYL(20,5) - /* Allow catalog to extend */ ICFCATALOG - SHAREOPTIONS(3,4) - /* Required if sharing catalog */ STRNO(7) - /* Minimum is 3 */ NOIMBED - /* Only if OS/390 2.9 or below */ NOREPLICATE - /* Only if OS/390 2.9 or below */ LOCK - /* Be sure and define as locked */ ) - DATA(CONTROLINTERVALSIZE(4096)) - INDEX(CONTROLINTERVALSIZE(4096)) /* recommended size */ . 7. Now import the export copy into the newly defined catalog //NEWVOL2 EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * IMPORT INDATASET(CATBACK.your.user.catalog) - OUTDATASET(your.user.catalog) - INTOEMPTY - ALIAS - /* Include the aliases */ LOCK /* Leave catalog locked */ . 8. At this point run the four steps listed above to ensure there are not problems with the moved catalog. After those four have run and the output verified, unlock the catalog //UNLOCK EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * ALTER your.user.catalog UNLOCK . Move of catalog shared across systems with unique master catalogs for each system. . A. Lock the catalog //LOCKCAT EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * ALTER your.user.catalog LOCK(must have IGG.CATLOCK authority) . B. Issue the following command on each system that uses the catalog that you are moving: F CATALOG,NOVLF(your.catalog.name) NOTE: The next command is optional and only relevant if you using ECS (Enhanced Catalog Sharing) F CATALOG,ECSHR(REMOVE,your.user.catalog) C. Export disconnect the catalog from all systems OTHER than the one you are running the catalog move on. The syntax used here assumes that this will be run as a job on each system sharing the catalog OTHER than the one you are running the catalog move on. //EXPDISC EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * EXPORT your.user.catalog DISCONNECT . Note: you can skip this step if you are using IMPORT CONNECT w/ the ALIAS parameter on the other sharing LPARs in step J. . D. Export the catalog (considering doing this twice to have a second copy). See info apar II10752 item 16 for alternative JCL for EXPORT that improves the performance of EXPORT. //EXPRTTMP EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //EXPDD DD DSN=CATBACK.your.user.catalog,UNIT=SYSDA, // DISP=(NEW,CATLG,DELETE) ... other JCL parameters as needed //SYSIN DD * EXPORT your.user.catalog - OUTFILE(EXPDD) TEMPORARY . E. If you are happy with current catalog attributes such as cisize, then you can use the following else skip to step F //NEWVOL EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * IMPORT INDATASET(CATBACK.your.user.catalog) - OUTDATASET(your.user.catalog) - OBJECTS((your.user.catalog - VOLUMES(newvol))) - ALIAS - /* Include the aliases */ LOCK /* Be sure to include this */ . If you ran the above step, then skip to step I F. If you are taking advantage of the move to update catalog attributes then delete the catalog with the recovery option //DELCAT EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * DELETE your.user.catalog - RECOVERY - /* Be sure this is specified */ USERCATALOG . G. Now define the catalog with the updated attributes on the new volume. //DEFCAT EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * DEFINE USERCATALOG - (NAME(your.user.catalog) - VOLUME(newvol) - /* New volume */ CYL(20,5) - /* Allow catalog to extend */ ICFCATALOG - SHAREOPTIONS(3,4) - /* Required if sharing catalog */ STRNO(7) - /* Minimum is 3 */ NOIMBED - /* Only if OS/390 2.9 or below */ NOREPLICATE - /* Only if OS/390 2.9 or below */ LOCK - /* Be sure and define as locked */ ) - DATA(CONTROLINTERVALSIZE(4096)) - INDEX(CONTROLINTERVALSIZE(4096)) /* recommended size */ . H. Now import the export copy into the newly defined catalog //NEWVOL2 EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * IMPORT INDATASET(CATBACK.your.user.catalog) - OUTDATASET(your.user.catalog) - INTOEMPTY - ALIAS - /* Include the aliases */ LOCK /* Leave catalog locked */ . I. At this point the catalog on the system you have run this on is ready to be used (other than still being locked), but the aliases that point to this catalog on the other systems have been deleted and need to be redefined. Before doing that on the other systems, this is a good time to run the four steps listed above to ensure that there are not problems with the moved catalog. After doing you will need to IMPORT CONNECT on the OTHER systems. //IMPRTCON EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * IMPORT CONNECT - OBJECTS((your.user.catalog) - DEVICETYPE(3390) - VOLUMES(newvol))) . J. Define the aliases for the catalog on the other systems or use IDCAMS IMPORT CONNECT w/ALIAS to update the volser in the ucat connector record on all other sharing systems. K. Now you can unlock the catalog //UNLOCK EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * ALTER your.user.catalog UNLOCK
Local fix
Problem summary
Problem conclusion
Temporary fix
Comments
APAR Information
APAR number
II13354
Reported component name
V2 LIB INFO ITE
Reported component ID
INFOV2LIB
Reported release
001
Status
INTRAN
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2002-07-16
Closed date
Last modified date
2010-07-06
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Applicable component levels
[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19N","label":"APARs - OS\/390 environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"001","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"001","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":null,"label":null},"Product":{"code":"SG19O","label":"APARs - MVS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"001","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSSN3L","label":"z\/OS Communications Server"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"001","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]
Document Information
Modified date:
06 July 2010