DB2 PLAN is little confusion for almost all developer both experienced and freshers. Big confusion to tell answers during interviews.
PLAN – Is an executable DB2 object. A DBRM you can bind directly to a PLAN or a PACKAGE you can bind it to a plan. In the BIND cards, you need to give PLAN name and PACKAGE name.
You can check PLAN details in SYSPLAN catalog table.
PACKAGE – It is basically a DB2 object. All the similar DBRMs, we can keep in a PACKAGE. It is itself is not executable.
You can check PACKAGE details in SYSPACKAGE catalog table.
COLLECTION – It is again DB2 object, during BIND, you need to give PACKAGE and COLLECTION id details.
You can check all the details in SYSCOLLECTIONS catalog table.
DBRM – This is load of DB2 code. This will be generated during pre-compilation. There will be one DBRM for each program.
VERSIONS – It is a concept for PACKAGE versions. You may keep different versions of a packages. Since, each update in PACKAGE will put different version and keep old version of PACKAGE. In the production, it is always useful keeping old version as backup.
Also read: 32 complex SQL interview questions