Invalid and inoperative packages

In DB2®, when a privilege that is required by a package is revoked, the package is invalidated. DB2 can automatically rebind an invalidated package if proper privileges are granted.

Begin program-specific programming interface information.
If the revoked privilege is the EXECUTE privilege on a user-defined function, DB2 marks the package inoperative, instead of invalid; you will need to manually rebind the inoperative package.

Start of changeIf a privilege that the package depends on is revoked, and if you want to invalidate the package or make it inoperative, you must use the SQL GRANT statement to grant the revoked privilege and then use the SQL REVOKE statement to revoke it. If you remove any object privilege from a user that is used to bind a package, you also need to revoke the EXECUTE privilege that the user has on the associated package. This prevents the user from accessing the package.End of change

If you use an authorization access control routine, the exit routine does not have the ability to tell DB2 that a privilege is revoked. In this case, DB2 does not know that it needs to invalidate the package.

End program-specific programming interface information.