DB2 - Problem description
| Problem IC63598 | Status: Closed |
SQL901 ERROR WHEN ALTERING PACKAGE FROM A NON-CATALOG PARTITION AND THE PACKAGE'S PLAN DOES NOT MATCH THE CURRENT ENVIRONEMENT | |
| product: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
| Problem description: | |
When altering a package, an SQL901 error can be returned and a
diagnostic log message mentioning that there is a plan or
environment mismatch can be logged in certain situations.
In order for this to happen, the ALTER PACKAGE or
ALTER_ROUTINE_PACKAGE SQL function call needs to be initiated
from a non catalog node. Furthermore, there needs to be a
mismatch between the current environment and the package's
environment. Such mismatch can be caused by a change in
INTRA_PARALLEL database manager configuration setting where
thissetting is currently NO. A mismatch can also be caused if
the package was previously compiled in a single-node system
and the system is currently DPF or vice-versa.
In this situation, a log message like the following will
be logged to the diagnostic log.
----------------------------------------------------------------
----------------------------------------------------------------
419616 2009-10-05-06.42.12.655090-240 I22863755E853
LEVEL:Severe
419617 PID : 3432 TID : 1891
PROC :db2sysc 2
419618 INSTANCE: svtdbm3 NODE : 002
DB :DMFRC1
419619 APPHDL : 0-536 APPID:
9.26.49.16.51871.091005102751
419620 AUTHID : SVTDBM3
419621 EDUID : 1891 EDUNAME: db2agntp
(DMFRC1) 2
419622 FUNCTION: DB2 UDB, relation data serv, sqlrr_dump_ffdc,
probe:300
419623 DATA #1 : SQLCA, PD_DB2_TYPE_SQLCA, 136 bytes
419624 sqlcaid : SQLCA sqlcabc: 136 sqlcode: -901
sqlerrml: 26
419625 sqlerrmc: Plan/Environment mismatch!
419626 sqlerrp : SQLRA145
419627 sqlerrd : (1) 0x00000000 (2) 0x00000000 (3)
0x00000000
419628 (4) 0x00000000 (5) 0xFFFFFE0C (6)
0x00000002
419629 sqlwarn : (1) (2) (3) (4) (5)
(6)
419630 (7) (8) (9) (10) (11)
419631 sqlstate:
419632
The stack at the point of failure will contain the function
sqlra_alter_pkg which will in turn call the sqlra_load_pkg
function. An example of such a stack follows.
sqloDumpEDU
sqldDumpContext
sqlrr_dump_ffdc
sqlzeSqlCode
sqlrrSqlCode
sqlra_load_pkg
sqlra_alter_pkg
sqlnq_alter_pkg_stmt
sqlnp_smactn
sqlnp_parser
sqlnp_main
sqlnn_cmpl
sqlnn_cmpl
sqlra_compile_var
sqlra_find_var
sqlra_get_var
sqlri_ddl_common
sqlriddl
sqlriSectInvoke
sqlrr_dss_router
sqlrr_subagent_router
sqlrr_subagent_router
sqleSubRequestRouter
sqleProcessSubRequest
sqeAgentGRunEDU
sqlzRunEDU
sqloEDUEntry | |
| Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * ALL * **************************************************************** * PROBLEM DESCRIPTION: * * When altering a package, an SQL901 error can be returned and * * a diagnostic log message mentioning that there is a plan or * * environment mismatch can be logged in certain situations. * * * * In order for this to happen, the ALTER PACKAGE or * * ALTER_ROUTINE_PACKAGE SQL function call needs to be * * initiated from a non catalog node. Furthermore, there needs * * to be a mismatch between the current environment and the * * package's environment. Such mismatch can be caused by a * * change in INTRA_PARALLEL database manager configuration * * setting where this setting is currently NO. A mismatch can * * also be caused if the package was previously compiled in a * * single-node system and the system is currently DPF or * * vice-versa. * * * * In this situation, a log message like the following will be * * logged to the diagnostic log. * * * * -------------------------------------------------------------- * 419616 2009-10-05-06.42.12.655090-240 I22863755E853 * * LEVEL: Severe * * 419617 PID : 3432 TID : 1891 * * PROC : db2sysc 2 * * 419618 INSTANCE: svtdbm3 NODE : 002 DB * * : DMFRC1 * * 419619 APPHDL : 0-536 APPID: * * 9.26.49.16.51871.091005102751 * * 419620 AUTHID : SVTDBM3 * * 419621 EDUID : 1891 EDUNAME: db2agntp * * (DMFRC1) 2 * * 419622 FUNCTION: DB2 UDB, relation data serv, * * sqlrr_dump_ffdc, probe:300 * * 419623 DATA #1 : SQLCA, PD_DB2_TYPE_SQLCA, 136 bytes * * 419624 sqlcaid : SQLCA sqlcabc: 136 sqlcode: -901 * * sqlerrml: 26 * * 419625 sqlerrmc: Plan/Environment mismatch! * * 419626 sqlerrp : SQLRA145 * * 419627 sqlerrd : (1) 0x00000000 (2) 0x00000000 * * (3) 0x00000000 * * 419628 (4) 0x00000000 (5) 0xFFFFFE0C * * (6) 0x00000002 * * 419629 sqlwarn : (1) (2) (3) (4) (5) * * (6) * * 419630 (7) (8) (9) (10) * * (11) * * 419631 sqlstate: * * 419632 * * * * The stack at the point of failure will contain the function * * sqlra_alter_pkg which will in turn call the sqlra_load_pkg * * function. An example of such a stack follows. * * * * sqloDumpEDU * * sqldDumpContext * * sqlrr_dump_ffdc * * sqlzeSqlCode * * sqlrrSqlCode * * sqlra_load_pkg * * sqlra_alter_pkg * * sqlnq_alter_pkg_stmt * * sqlnp_smactn * * sqlnp_parser * * sqlnp_main * * sqlnn_cmpl * * sqlnn_cmpl * * sqlra_compile_var * * sqlra_find_var * * sqlra_get_var * * sqlri_ddl_common * * sqlriddl * * sqlriSectInvoke * * sqlrr_dss_router * * sqlrr_subagent_router * * sqlrr_subagent_router * * sqleSubRequestRouter * * sqleProcessSubRequest * * sqeAgentGRunEDU * * sqlzRunEDU * * sqloEDUEntry * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2UDB version 9.7 Fix Pack 1 * **************************************************************** | |
| Local Fix: | |
| available fix packs: | |
DB2 Version 9.7 Fix Pack 1 for Linux, UNIX, and Windows | |
| Solution | |
Problem was first fixed in Version 9.7 Fix Pack 1 | |
| Workaround | |
A workaround is to use the REBIND PACKAGE command to modify the parameter to be altered. Note that this will rebind the package and apply the new value right away as well. | |
| Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 06.10.2009 18.01.2010 18.01.2010 |
| Problem solved at the following versions (IBM BugInfos) | |
9.7.FP1 | |
| Problem solved according to the fixlist(s) of the following version(s) | |
| 9.7.0.1 |
|