IBM Mainframe Forum Index
Log In
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register

Plan, Package and collections.

IBM Mainframe Forums -> DB2
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message

Active User

Joined: 17 May 2010
Posts: 175
Location: India

PostPosted: Fri Jan 23, 2015 1:50 pm
Reply with quote


Sorry for reopening a topic that had been discussed and closed many times but I am not getting a clearer picture of this.

Below is what I already know,

Plan - an optimized access path
DBRM - Generated during compilation (SQL's), Before DB2 2.3 DBRMs are bound to plan directly
Package - DBRM's are bound to package
Collection - logical grouping of package.
Packages are bound to plan to form an executable.

Below is what I don't understand:- (I hope one of you will answer)

DBRM - Generated during compilation (SQL's), Before DB2 2.3 DBRMs are bound to plan directly and requires rebind of plan every time when there is a change to an SQL statement. Why? IF Plan are just access paths of underlying VSAMs inside DB2, why would a change in an SQL statement requires a plan rebound? Even though SQL changes, there is no change in the underlying VSAM's correct? the underlying VSAM remain the same, the modules that are updating, reading the VSAMs remain the same.. This being said, why should we rebound the plan? what happens to the VSAMs if we rebound the plan?

How did packages resolve this issue?

I understand that the collection is a logical grouping of packages. why should they be logically grouped? what is the use? Everybody explains it is based on application but what is the use of grouping them logically? why cant I have one collection which has all the packages and only one plan and bind my only collection to my only plan?

Plan - We say it is an optimized access path. DB2 know the correct access path to all the underlying VSAMs/pages correct? then why should we define something which db2 already knows? is it like a set of tables are liked to a plan and another set to another plan to Improve performance? If yes, if I have only 5 tables in the DB, I can have only one plan defined and it will not affect the performance? and more the tables and more plans I should define?

I read the articles in the forum(s) and referred books.. I was not able to find a material which explains the relation between plan/package to internal DB2 pages.
Back to top
View user's profile Send private message

Active User

Joined: 12 Jan 2006
Posts: 110
Location: Germany

PostPosted: Fri Jan 23, 2015 5:17 pm
Reply with quote

Read the excellent article "Programs & Packages, Plans & Collections" by Robert Catterall and "DB2 Plans - DBRMS - Packages - Collections - Versions" by Bonnie Baker.

You might find more interesting mainframe-related stuff on my web page.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> DB2


Similar Topics
Topic Forum Replies
No new posts current batch plan DB2 3
No new posts Log an Plan name/id or Job Id using D... DB2 1
No new posts Usage/Utiliy of Plan in DB2 DB2 4
No new posts How do I define a DB2 plan for a web ... CICS 5
No new posts Finding the plan when code compiled u... DB2 2
Search our Forums:

Back to Top