packages and plans questions -805 error

Amit Agarwal

packages and plans questions -805 error
Db2 V5 OS/390
We have a situation here in test where multiple versions of packages exist.
About a week before we
went ahead and dropped all packages excepting the latest version.
The configuration is as follows:

A single collection identifier is bound to lot of packages.
50+ plans are bound with the same collection identifier (PKLIST ( coll.*))

we were under the impression that a package with the latest version is chosen in
the plan whenever called.
However we are getting -805 errors in CICS programs .

Anyone can explain the cause of these errors we will be grateful.

Thanks
Amit



Patrick Hignett

Re: packages and plans questions -805 error
(in response to Amit Agarwal)
You must not assume that the latest version of a package is used it is quite easy to get out of step. Say a developer makes a change to code and puts the new version live the package is
bound and the executable code is moved to the production library, then the realise that the code is wrong so back out the change BUT DO NOT FREE THE PACKAGE you then have a version of a
package that has no executable code to go with it. If you now free all other versions of that package you will get -805 don't forget the corralation ID is built into the the executable code
that's how DB2 checks the package exists.

Amit Agarwal wrote:

> Db2 V5 OS/390
> We have a situation here in test where multiple versions of packages exist.
> About a week before we
> went ahead and dropped all packages excepting the latest version.
> The configuration is as follows:
>
> A single collection identifier is bound to lot of packages.
> 50+ plans are bound with the same collection identifier (PKLIST ( coll.*))
>
> we were under the impression that a package with the latest version is chosen in
> the plan whenever called.
> However we are getting -805 errors in CICS programs .
>
> Anyone can explain the cause of these errors we will be grateful.
>
> Thanks
> Amit
>
>
>



Bill Gallagher

Re: packages and plans questions -805 error
(in response to Patrick Hignett)
Amit,

DB2 will always look for the version of the package that matches the
version (or consistency token) that is embedded within the load module, not
just the latest version of the package (where multiple versions exist).
Apparently, the CICS programs that are experiencing the -805 errors are
looking for specific versions of the packages which must have been freed.

The way around this would be to rebind the packages using the original
DBRM's that were created at the time of the precompile from which the CICS
program came from. If you don't have those DBRMs anymore, then you may
have to go through the entire precompile/compile/link/bind process to get
everything working again.

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


Bill Gallagher, DBA
Phoenix Life Insurance
Enfield, CT 06083

IBM Certified Solutions Expert - DB2 UDB v7.1 Database Administration for
OS/390
IBM Certified Solutions Expert - DB2 UDB v7.1 Database Administration for
UNIX, Windows, and OS/2




"Amit Agarwal"
<[login to unmask email] To: [login to unmask email]
POORS.COM> cc:
Sent by: "DB2 Data Base Subject: packages and plans questions -805 error
Discussion List"
<[login to unmask email]>


12/28/01 09:20 AM
Please respond to "DB2
Data Base Discussion
List"






Db2 V5 OS/390
We have a situation here in test where multiple versions of packages exist.
About a week before we
went ahead and dropped all packages excepting the latest version.
The configuration is as follows:

A single collection identifier is bound to lot of packages.
50+ plans are bound with the same collection identifier (PKLIST ( coll.*))

we were under the impression that a package with the latest version is
chosen in
the plan whenever called.
However we are getting -805 errors in CICS programs .

Anyone can explain the cause of these errors we will be grateful.

Thanks
Amit








Bill Brown

Re: packages and plans questions -805 error
(in response to Bill Gallagher)
The package that is chosen is dependent on the load module that is involing the package. The match is made based on the consistancy token. It must match. If there is not a match then the -805 results. In the case of a CICS program it could be a simple as doing a new copy. If a new copy is not done the old load module will be invoked and if packages have been freed then the consistency token will not match the current package. The CICS in question could also be using a different load lib than the program was linked into or the load module could exist in a load lib concatenated above the lib that you linked into. Hope this makes sense.
>
> From: Amit Agarwal <[login to unmask email]>
> Date: 2001/12/28 Fri AM 09:20:52 EST
> To: [login to unmask email]
> Subject: packages and plans questions -805 error
>
> Db2 V5 OS/390
> We have a situation here in test where multiple versions of packages exist.
> About a week before we
> went ahead and dropped all packages excepting the latest version.
> The configuration is as follows:
>
> A single collection identifier is bound to lot of packages.
> 50+ plans are bound with the same collection identifier (PKLIST ( coll.*))
>
> we were under the impression that a package with the latest version is chosen in
> the plan whenever called.
> However we are getting -805 errors in CICS programs .
>
> Anyone can explain the cause of these errors we will be grateful.
>
> Thanks
> Amit
>
>
>
>



Tim Lowe

Re: packages and plans questions -805 error
(in response to Bill Brown)
Amit,
I agree totally with Patrick. I have seen the situation he describes many
times, and many like it where someone compiles a program "just to get a
listing", creating a new package but not putting the resulting module into
the library that it is run from.
But, I also wanted to mention that statically called subroutines can also
be a major problem with package cleanup if different versions of a
subroutine are linkedited into different calling programs.

Thanks,
Tim



Patrick Hignett
<[login to unmask email] To: [login to unmask email]
anley.com> cc:
Sent by: DB2 Data Base Subject: Re: packages and plans questions -805
Discussion List error
<[login to unmask email]>


12/28/2001 09:00 AM
Please respond to
Patrick.Hignett






You must not assume that the latest version of a package is used it is
quite easy to get out of step. Say a developer makes a change to code and
puts the new version live the package is
bound and the executable code is moved to the production library, then the
realise that the code is wrong so back out the change BUT DO NOT FREE THE
PACKAGE you then have a version of a
package that has no executable code to go with it. If you now free all
other versions of that package you will get -805 don't forget the
corralation ID is built into the the executable code
that's how DB2 checks the package exists.

Amit Agarwal wrote:

> Db2 V5 OS/390
> We have a situation here in test where multiple versions of packages
exist.
> About a week before we
> went ahead and dropped all packages excepting the latest version.
> The configuration is as follows:
>
> A single collection identifier is bound to lot of packages.
> 50+ plans are bound with the same collection identifier (PKLIST ( coll.
*))
>
> we were under the impression that a package with the latest version is
chosen in
> the plan whenever called.
> However we are getting -805 errors in CICS programs .
>
> Anyone can explain the cause of these errors we will be grateful.
>
> Thanks
> Amit
>
>
>










Amit Agarwal

Re: packages and plans questions -805 error
(in response to Tim Lowe)
Thank you for your inputs.




[login to unmask email] on 12/28/2001 11:23:09 AM


Please respond to DB2 Data Base Discussion List <[login to unmask email]>



To: [login to unmask email]

cc: (bcc: Amit Agarwal/FIS)



Subject: Re: packages and plans questions -805 error






Amit,
I agree totally with Patrick. I have seen the situation he describes many
times, and many like it where someone compiles a program "just to get a
listing", creating a new package but not putting the resulting module into
the library that it is run from.
But, I also wanted to mention that statically called subroutines can also
be a major problem with package cleanup if different versions of a
subroutine are linkedited into different calling programs.

Thanks,
Tim



Patrick Hignett
<[login to unmask email] To: [login to unmask email]
anley.com> cc:
Sent by: DB2 Data Base Subject: Re: packages
and plans questions -805
Discussion List error
<[login to unmask email]>


12/28/2001 09:00 AM
Please respond to
Patrick.Hignett






You must not assume that the latest version of a package is used it is
quite easy to get out of step. Say a developer makes a change to code and
puts the new version live the package is
bound and the executable code is moved to the production library, then the
realise that the code is wrong so back out the change BUT DO NOT FREE THE
PACKAGE you then have a version of a
package that has no executable code to go with it. If you now free all
other versions of that package you will get -805 don't forget the
corralation ID is built into the the executable code
that's how DB2 checks the package exists.

Amit Agarwal wrote:

> Db2 V5 OS/390
> We have a situation here in test where multiple versions of packages
exist.
> About a week before we
> went ahead and dropped all packages excepting the latest version.
> The configuration is as follows:
>
> A single collection identifier is bound to lot of packages.
> 50+ plans are bound with the same collection identifier (PKLIST ( coll.
*))
>
> we were under the impression that a package with the latest version is
chosen in
> the plan whenever called.
> However we are getting -805 errors in CICS programs .
>
> Anyone can explain the cause of these errors we will be grateful.
>
> Thanks
> Amit
>
>
>