IBM Information Management System (IMS) - Group home

FAQs on IMS Catalog and Managed ACBs

  
We will continue to update this document as more questions arise. If you have a question that should be added, enter a comment at the end of the document.
For more resources, such as the managed ACBs white paper and instructional videos, see the IMS database page on IMS CentralTo sign up for future live, interactive webinars, register here
Click a category to see questions and answers. 

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

> Batch

Q: How can we use IMS manged ACBs in a DBCTL environment with DLI batch jobs?

A: Your IMS batch jobs (DLI or DBB) can continue to use DBD, PSB, or ACB libraries. In the future, when DDL becomes mandatory, batch jobs must be enabled to access the directory. This can be done in one of two ways:

  • Change your batch job JCL to refer to the DFSDFxxx PROCLIB member
  • Use the Catalog Definition Exit routine. (DFS3CDX0). The advantage of using DFS3CDX0 is that you don’t need to modify the batch JCL. See the documentation on DFS3CDX0 for more information.


> Catalog database

Q: What type of database is the IMS catalog and what is it used for?

A: The IMS catalog is a HALDB PHIDAM database. This database contains trusted metadata and definitions of the IMS databases and application program views that are defined to IMS.

If the IMS management of ACBs is enabled, the IMS catalog also determines the active databases and program views (PSBs) in the IMS system, because ACB libraries are not used. When IMS uses ACB libraries, the ACB library determines which databases and program views are active, and you must ensure that the IMS catalog is always in synch with the ACB library.

For more information, see Overview of the IMS catalog.

Q: Is there documentation that describes how to go from one partition to two or more partitions?

A: See Adding partitions to an existing HALDB.

Q: What is the recommendation for how many partitions to define in the HALDB?

A: You should have at least one partition for DBDs and one partition for PSBs. If you have a large number of PSBs, you might want to create more partitions for the PSBs. Be sure to have a lots of extra space in each partition for future growth.

Q: Is there a staging catalog?

A: No

Q: How can you query the IMS catalog?

A: Remember, the catalog is an IMS database, so you can issue DL/I calls against the catalog. Here are some ways you can issue calls:

  • Issue the DL/I calls via DFSDDLT0 or from an IMS application program.
  • Write Java programs and issue JDBC calls or DL/I calls by using our Java drivers.
  • Issue SQL calls from IMS Explorer for Development (E4D).
  • Vendors also provide tools to view the IMS catalog.
    • IBM IMS Tools have a web UI that you can use called IMS Administration Foundation.
    • They also have an ISPF interface provided by their IMS Administration Tool. Other vendors also have tools.

Q: Does the catalog have a secondary index?

A: Yes

Q: What do you do if you have multiple IMSs, each with its own catalog? (The catalog is always called DFSCD000.)

A: Use an alias for the catalog name. Use the Catalog Alias Names utility (DFS3ALI0). Then, register the catalog database with DBRC.

Q: Can you list all instances in the catalog with all their time stamps?

A: Yes, there are a variety of ways to do this.

Q: Do you always need to specify CATALOG=Y?

A: Yes. In a catalog only environment and in a catalog and managed ACB environment, you must specify CATALOG=Y in the PROCLIB member. You specify managed ACBs in a separate parameter. For more information, see Enabling IMS management of ACBs.

Q: When you migrate from non-IMS managed ACBs to IMS managed ACBs, do you need to rebuild the IMS catalog?

A: No, you don’t have to rebuild the catalog. Be sure to run the IMS Catalog Populate utility with PSB DFSCP001 (and NOT PSB DFSCPL000).

With IMS catalog PSB DFSCP001 specified in the utility JCL, the utility inserts any new or modified DBDs or PSBs into the IMS catalog. Whereas with IMS catalog PSB DFSCPL00 specified in the utility JCL, the utility deletes all existing catalog records and reloads the IMS catalog. And, of course, you will also specify MANAGEDACBS=SETUP in the SYSINP DD statement.

Q: Even if the catalog is not in sync when you want to switch to IMS managed ACBs, can you do an initial load just before?

A: Yes, you can reload the IMS catalog if you want to. To do that, make sure to use the catalog PSB DFSCPL00 in the Catalog Populate utility JCL.

Q: Each IMS keeps separate ACBLIBs on an IMsplex. When you move to managed ACBs, what is the recommendation? Should you use one catalog database or use a catalog for each IMS?

A: Its always easier to manage one shared IMS catalog vs each IMS having its own catalog. So if the ACBLIBs are cloned, then you can get away with one shared catalog.

Back to Top


> Copybooks

Q: Is it optional to store the copybooks inside the catalog, or can they still reside in data sets?

A: Storing COBOL copybooks in the IMS catalog is optional. You probably want to store COBOL copybooks in the IMS catalog only if you will issue either SQL calls or JDBC calls against IMS databases. But if you don’t plan on doing that, then you don’t need to store COBOL copybooks in the IMS catalog. Even if you store COBOL copybooks in the IMS catalog, your COBOL application folks will still keep COBOL copybooks in data sets as they have always done.

Q: How do we add COBOL copybooks to the catalog?

A: COBOL copybooks can be added to the IMS catalog by using IMS Explorer. Vendors also provide tools to do this. The IBM IMS tool is called the Admin Tool.


> Data dictionary

Q: How might the OS/VS Data Dictionary fit it?

A: The Data Dictionary is a separate product. It was first released somewhere in the 1970s and withdrawn from marketing in 2002 (roughly). The Data Dictionary is not used in any way with the IMS catalog or IMS managed ACBs. Nor do we provide any sort of migration utility to go from Data Dictionary to IMS catalog.

Q: Is it possible implement the IMS catalog and IMS Directory for customers who use the Data Dictionary?

A: Yes, its possible. There is no intersection between IMS catalog, IMS Directory, and the Data Dictionary. The can all co-exist. But note that we don’t provide any sort of interface with the Data Dictionary. For example, if you update the Data Dictionary with information for one of your databases, you also need to update the IMS catalog on your own.


> DD statements, JCL, and CATPSBATTACH and other parameters

Q: Is the CATPSBATTACH parameter available in IMS 15.2?

A: The CATPSBATTACH parm became available with APAR PH14717 in IMS 15.4.

Q: Are we expected to update our programs affected by CATPSBATTACH? Is there a deadline?

A: There is no deadline. If you can, it would be good to update your programs so that they can tolerate additional IMS catalog PCBs that are being attached to your PSB.

Q: When we asked for CATPSBATTACH, we did not ask for this to be a temporary solution but a permanent one. We have no plans to modify our programs to support the catalog PSBs. In the future, must we change our programs to support the catalog PSBs?

A: No, this is not a temporary solution. If you don’t update your programs, they can’t access the IMS catalog. That’s all.

Q: When I specified CATPSBATTACH=NO in our sandbox, the workloads that need to read the IMS catalog (for example, ODBM and JDBC) did not work. Do you have a plan to restrict CATPSBATTACH=NO to just the legacy workloads such as MPP, IFP, and BMP applications?

A: IBM is aware of this issue and investigating.

Q: Can we use PSB DFSCP001 and have MANAGEDACBS=SETUP in the SYSINP DD statement?

A: Yes, you can do that.

Q: Can we use DFS3UACB with MANAGEDACBS=SETUP mode?

A: No. With DFS3UACB, use either MANAGEDACBS=STAGE or MANGEDACBs=UPDATE.

Q: What's the purpose of this statement:

//SYSINP DD * MANAGEDACBS=(STAGE,LATEST)

A:

  • STAGE saves the ACBs from the input ACB libraries to a staging directory data set. ACBs saved in the staging directory data set are not activated until you add them to the IMS system by issuing the IMPORT DEFN SOURCE(CATALOG) command.
  • LATEST indicates that If an ACB already exists in the IMS system, do not save an instance of the ACB in an ACB library to the staging data set unless the instance in the ACB library has a later time stamp than the ACB in the IMS system. LATEST is the default.

Back to Top


> DDL

Q: When DDL is mandated, can we still use copybooks?

A: Copybooks in the IMS catalog are required only if you want to do SQL or JDBC access to IMS databases. If you are not doing SQL or JDBC access to IMS databases, you don’t need to import COBOL copybooks in to the IMS catalog even when DDL is mandated.


> Deadline for implementing managed ACBs?

Q: When do we need to convert to using managed ACBs?

A: June 2025. Managed ACBs and therefore catalog implementation will be required by the IMS version that is released in June 2025. If you do not upgrade to that new version, you aren’t required to implement the catalog and managed ACBs.

Q: When will this available on a IMS DC?

A: Our TM only (DCCTL) clients have no IMS DB. Therefore, they can’t implement the IMS catalog (because the catalog is an IMS database). So for our TM only (DCCTL) clients, we are working on a design to have IMS managed ACBs without the IMS catalog. When that becomes available, we will announce a date for when IMS managed ACBs will be required for DCCTL clients.

Q: Can we set up the catalog but not move to managed ACBs, or is it best to wait until we are ready to move to manged ACBs?

A: Yes, you can set up the catalog first and not move to IMS Managed ACBs. But keep in mind that you need to keep the Catalog & the ACBLIBs in sync by doing ACBGENs using the DFS3UACB utility.

Back to Top


> GENs

Q: If a PSB needs to be changed, the developer is responsible to update the PSB. After the IMS catalog is in place, who should make that happen?

A: Today, when a PSB is changed, you do a PSBGEN followed by an ACBGEN even when the IMS catalog is in place. To change a PSB, you need to do a PSBGEN and an ACBGEN.

The only difference is that when the ACBGEN is done, both the ACBLIB and the IMS catalog needs to be updated with the new ACB block. To do that, you use the DFS3UACB utility. That is how the process changes after the IMS catalog is in place.

Q: Does the Catalog Populate utility (DFS3PU00) add only those members being ACBGENed?

A: Yes, if you have the ACBCATWK data set in both the DFSUACB0 job and the DFS3PU00 job.


> IMplex

Q:  Can some members of an IMSplex have ACBMGMT=ACBLIB and others have ACBMGMT=CATALOG?

A: Yes


> Java applications

Q: Does Java need ODBM working with IMS catalog for it to use SQL to access an IMS database?

A: If you are issuing SQL calls from IMS Explorer for Development (E4D), then, yes, you need IMS Connect and ODBM running because when you come in from E4D, you are coming over TCP/IP (because E4D runs on your laptop). If you issue SQL calls from Java programs (which are called JDBC calls), then it depends on where your Java programs are running. If they are running on distributed platforms, then you need IMS Connect and ODBM running. However, if you run Java applications in a JBP or a JMP in IMS, then you do not need IMS Connect and ODBM.

Back to Top


> Performance

Q: Are there any performance penalties introduced by going through IMS catalog first, before accessing the IMS DB?

A: When you issue SQL or JDBC calls against IMS databases using our IMS Universal drivers, we use the metadata in the IMS Catalog and convert the SQL or JDBC call to IMS DL/I call under the covers. With E4D you can view what the underline DL/I call is and make sure its not a call that would be expensive in terms of performance.

Q: What size should the catalog be?

A: You can use the cat pop utility to give you a recommendation. Then, add 500% to that recommendation.


> PSBs, ACBs, and PCBs

Q: What are the three PCBs that are dynamically attached to every user PSB when the catalog is enabled?

A: When IMS catalog is enabled, IMS dynamically adds three catalog PCBs to every user PSB. The first PCB is for the catalog database (DFSCD000), the second PCB is for accessing the catalog database (DFSCD000) by using the secondary index (DFSCX000), and the third PCB is for processing the catalog index database (DFSCX000).

Q: Is there a requirement that ACBs cannot reside in a PDSE?

A: ACB blocks reside in a partitioned data set extended (PDSE) when you implement IMS managed ACBs. The PDSE is the IMS directory. But in a non-IMS managed ACB environment, ACB blocks reside in the ACBLIB, which is a partitioned data set (PDS).

Q: Can an ACBLIB be PDSE?

A: No

Q: What’s the purpose of the ACBLIB after you move to managed ACBs?

A: It won’t be used by the IMS online system. It is used as input to the ACBGEN utility for the purpose of doing the ACBGEN. It is your trusted source of ACBs.

Back to Top


> Troubleshooting

Q: What happens if the catalog is full? Does IMS go down?

A: IMS does not go down. But Java programs will not be able to access the catalog metadata, which they must have. ACBs are loaded in the dependent region, but you still need the metadata (which is in memory) for Java programs.

If you convert to managed ACBs and the catalog is inaccessible, nothing changes about the way IMS handles a database being down, offline, or inaccessible. It does not impact the IMS system overall. It only impacts Java programs that need the metadata in the catalog.

Q: If you use only one catalog database (HALDB), how should you configure your environment for a single point of failure? Do you clone the HALDB?

A: With one shared catalog between IMS systems, yes you can view that as a single point of failure. And there are no clones for the HALDB. But when we say single point of failure, what failure are we talking about? If for any reason the IMS catalog is not available, IMS does not crash. It’s just that the Java programs may not be able to get to IMS databases if they can’t get the metadata from the catalog. Or IMS DDL will not be processed because the IMS catalog is not available.

Q: How do you back out the catalog if you don’t want that new version after an ACBGEN? How do you undo that change? Can you find the old ACBGEN by version and delete that version?

A: If you want to back out an ACBGEN that you’ve done, undo the change in the DBD or PSB, do a DBDGEN or PSBGEN, followed by another ACBGEN. The older instances in the catalog can be purged via the Catalog Record Purge utility.

Back to Top


> Utilities

Q: Should you run the Catalog Record Purge utility regularly? How often?

A: Yes. You should delete old and inactive instances; otherwise, the catalog can fill up. How often you run it depends on your environment. You should do it more often on test/dev environments and less often on production. It also depends on how much space you have in your catalog. Make sure your catalog has lots of space to grow over time. 

See IMS Catalog Record Purge utility for more information or the webinar

Q: Do we need to be aware of how the directories are sized, or does the utility do it automatically for managed ACBs?

A: You can either let the utility determine the size or if you can pre-allocate the data sets. To pre-allocate the data sets using the DD cards IMSDBSDS for the bootstrap data set , use IMSDSTAG for the staging Directory data set and IMSD0001, IMSD0002, etc. for the active Directory data sets when running the Catalog Populate utility.

Q: Is there a utility to determine size for the directory?

A: No, but note that the directory contains ACBs. You can use the size of the ACB blocks in the ACBLIB to get a rough idea for the directory size. The directory will also house GSAMs and GSAMs reside in DBDLIB. So if you have GSAMs in your installation, then you need to factor them in your size calculation.

Q: DASD space is cheap these years, does it hurt to oversize these things?

A: Not at all. So yes, go ahead and oversize. Its better to oversize than undersize.

Back to Top

Comments

4 days ago

Thanks for providing useful FAQs.
I was surprised to know that we cannot use DFS3UACB with MANAGEDACBS=SETUP. The manual says that the utility supports SETUP mode, is this misinformation?