IDMS Quiesce with wait.
We are making changes to our backup and recovery processes and want to use quiesce to establish points to recover to. I have a few questions:
1) DCMT Q AREA areaname* WAIT 60 FORCE NOHOLD ID quname
Does this command execute in the background and return control to the user right away or does it actually wait and return control once the quiesce is completed? I am going to run this in UCFBTCH and want to know if I have to code additional steps to ensure the quiesce is complete (or for my Wait 60 seconds) prior to proceeding.
2) I want to Quiesce/backup files and areas that are used together. I have several copies of my database files for any one system (in my testing environments). Some are used online in my CV and others are copies that can be used in local mode batch. How can I tell which groups of files are used together? I assume this is what my DBNAMEs are used for but I am having trouble making sense of the DBNAME-DBTABLE-Subschema-Area/File mappings. Do my offline copies used in local mode still need definitions in the catalog in order to be used? The batch still has to tell IDMS where to look for the Subschema and record definitions, right?
3) Are quiesce points stored in IDMS somwhere? It doesn't look like they are marked in the Journal. Is there another area where they get put? Right now we are looking in our CV started task sysout to get our quiesce point time stamps.
I'll try and give you an answer to your questions, I hope this makes sense.
1) Control is returned to the user immediately. You need to check the status of the ID (DCMT D ID) to see if it has completed. If the ID is not found, it has completed. If it is found, that would indicate that the something is preventing the quiesce and IDMS is waiting. In your case, it will wait 60 seconds before forcing the quiesce by terminating the tasks or sessions preventing the quiesce.
2) It's hard to tell you which areas are "used together" . It might be all areas that fall in all SEGMENTs listed in a DBNAME, or it might be individual SEGMENTs, or maybe it's subsets of areas defined in a SEGMENT. It all depends on how your application uses the database and how everything is setup.
It would make sense to quiesce all areas that are in your backup.
Usually different DBNAMES point to different databases or different copies of the same database, but not always. Sometimes different DBNAMES end up pointing to the same database copy. It all depends on that mapping. Note that database names don't have to be in the DBTABLE as every SEGMENT is a database name in its own right.
Usually every copy of a database would need to be defined in a DMCL, unless it is a backup copy. That being said it is possible to use DD NAME overrides in local mode JCL to point to different copies of the database files, so it is possible to use a copy that isn't specifically defined in the DMCL.
There is no single way to do things in IDMS which makes questions like this difficult to answer.
3) Quiesce points aren't stored anywhere, though as you noted they are written to the job log, as well as the IDMS log. Exit 38 is invoked, so it is possible to use that to record them somewhere else or trigger some action.
Hope this helps.