What's the difference between a CICS cold start and warm start?
Currently, our CICS region is a cold start. We're planning to change it to a
warm start? What difference will it make? Is there a benefit by doing so?
I cannot resist a pun on your email -- it's a question of unforgetableness (ho ho).
When CICS does a COLD start, the definitions are taken only from the CSD. This means that the state of CICS for each startup will be exactly the same. When you do a WARM start, then the state of the definitions should be the same as at the last (normal) shutdown. This state is placed in the global catalog and recovered from there on a warm restart.
In most cases, these states will be different. When you install a new resource via CEDA or when you change the state of something via CEMT, this acton is logged in the global catalog. So, if, for example, you disable a transaction and normally shutdown, when doing a warm restart that transaction should still be disabled (as this is what is in the global catalog) , but it will be enabled if you do a cold start (as this is what the CSD says).
The performance of the startup is of interest. A warm startup tends to be quicker than a cold, as things are recovered from the catalog which is faster than using the CSD route. The "Recovery & restart guide" goes into all of this.
As you are doing a cold start for your production regions, you will need to consider whether or not this recovery_of_state_at_shutdown function is what you want to occur. Most customers think it's nice, and so mostly do Warm restarts.
If you are always using a cold start for a production region, then I'd be very inclined to stick with what you are familiar with -- you get a consistent environment in CICS for each run.
If you are using CICS in a development environment, then cold is most
probably what you want -- a nice known state-of-play before all those
application programs start running and doing things!
This was first published in November 2002