DB2 - Problem description
Problem IC77911 | Status: Closed |
SET STATEMENT EXECUTED FROM WITHIN A STORED PROCEDURE MAY CAUSE DB2 ABEND | |
product: | |
DB2 FOR LUW / DB2FORLUW / 950 - DB2 | |
Problem description: | |
On DB2 version 950, Executing environment variable directly from within a stored procedure may cause instance trap. Stack trace (v950 FixPack 7) ======================= 0x00002AAAABBC6EFA sqlnq_pid 0x00002AAAACE346DC sqlnq_set_register 0x00002AAAABE0B1A4 sqlnp_parser Ox00002AAAABE08ADD sqlnp_mainP12sqlnq_strings 0x00002AAAABDCFA30 sqlnn_cmplP8sqeAgent 0x00002AAAABDCF1B5 sqlnn_cmplP8sqeAgent 0x00002AAAAC04F3ED sqlra_compile_var 0x00002AAAAC05705C sqlra_find_var 0x00002AAAAD5BF203 sqlri_ddl_get_section 0x00002AAAAD5BE90F sqlri_ddl_common 0x00002AAAAD5BE3D2 sqlriddl 0x00002AAAADE8C0AC sqlriSectInvoke 0x00002AAAAD45C0E6 sqlrr_execute_immediate 0x00002AAAAD44DC88 sqlrr_execimmd 0x00002AAAAC81CE73 sqljs_ddm_excsqlimm db2diag.log ============ PID : 10296 TID : 46912895969600PROC : db2sysc 0 INSTANCE: db2inst1 NODE : 000 DB : SAMPLE APPHDL : 0-46896 APPID: 10.66.27.3.36280.110801122044 AUTHID : db2inst1 EDUID : 44778 EDUNAME: db2agent (SAMPLE) 0 FUNCTION: DB2 UDB, trace services, sqlt_logerr_data (secondary logging func, probe:0 MESSAGE : RDS UCINTFC: pStatementText = DATA #1 : Hexdump, 647 bytes 0x00002AAB327B18A0 : 6372 6561 7465 2070 726F 6365 6475 7265 create procedure 0x00002AAB327B18B0 : 206F 706D 2E4F 504D 5F40 5938 4658 5954 opm.OPM_@Y8FXYT 0x00002AAB327B18C0 : 5F44 4C43 4B5F 4556 4D4F 4E5F 5741 5443 _DLCK_EVMON_WATC 0x00002AAB327B18D0 : 4844 4F47 2829 2062 6567 696E 2064 6563 HDOG() begin dec 0x00002AAB327B18E0 : 6C61 7265 2073 716C 7374 6D74 2076 6172 lare sqlstmt var 0x00002AAB327B18F0 : 6368 6172 2833 3030 293B 6465 636C 6172 char(300);declar 0x00002AAB327B1900 : 6520 6576 6D6F 6E30 5F65 7869 7374 7320 e evmon0_exists 0x00002AAB327B1910 : 696E 7465 6765 723B 6465 636C 6172 6520 integer;declare 0x00002AAB327B1920 : 7674 6162 7363 6865 6D61 3020 7661 7263 vtabschema0 varc 0x00002AAB327B1930 : 6861 7228 3130 3029 3B20 6465 636C 6172 har(100); declar 0x00002AAB327B1940 : 6520 7674 6162 6E61 6D65 3020 7661 7263 e vtabname0 varc 0x00002AAB327B1950 : 6861 7228 3130 3029 3B53 454C 4543 5420 har(100);SELECT 0x00002AAB327B1960 : 636F 756E 7428 3129 2069 6E74 6F20 6576 count(1) into ev 0x00002AAB327B1970 : 6D6F 6E30 5F65 7869 7374 7320 4652 4F4D mon0_exists FROM 0x00002AAB327B1980 : 2053 5953 4341 542E 4556 454E 544D 4F4E SYSCAT.EVENTMON 0x00002AAB327B1990 : 4954 4F52 5320 5748 4552 4520 5550 5045 ITORS WHERE UPPE 0x00002AAB327B19A0 : 5228 4556 4D4F 4E4E 414D 4529 203D 2027 R(EVMONNAME) = ' 0x00002AAB327B19B0 : 4F50 4D44 4059 3846 5859 5427 203B 5345 OPMD@Y8FXYT' ;SE 0x00002AAB327B19C0 : 4C45 4354 2054 4142 5343 4845 4D41 2C20 LECT TABSCHEMA, 0x00002AAB327B19D0 : 5441 424E 414D 4520 696E 746F 2076 7461 TABNAME into vta 0x00002AAB327B19E0 : 6273 6368 656D 6130 2C20 7674 6162 6E61 bschema0, vtabna 0x00002AAB327B19F0 : 6D65 3020 4652 4F4D 2053 5953 4341 542E me0 FROM SYSCAT. 0x00002AAB327B1A00 : 4556 454E 5454 4142 4C45 5320 5748 4552 EVENTTABLES WHER 0x00002AAB327B1A10 : 4520 4556 4D4F 4E4E 414D 4520 3D20 274F E EVMONNAME = 'O 0x00002AAB327B1A20 : 504D 4440 5938 4658 5954 2720 3B69 6620 PMD@Y8FXYT' ;if 0x00002AAB327B1A30 : 6576 6D6F 6E30 5F65 7869 7374 7320 3E20 evmon0_exists > 0x00002AAB327B1A40 : 3020 7468 656E 2073 6574 2065 7665 6E74 0 then set event 0x00002AAB327B1A50 : 206D 6F6E 6974 6F72 204F 504D 4440 5938 monitor OPMD@Y8 0x00002AAB327B1A60 : 4658 5954 2053 5441 5445 203D 2030 3B73 FXYT STATE = 0;s 0x00002AAB327B1A70 : 6574 2073 716C 7374 6D74 203D 2027 6472 et sqlstmt = 'dr 0x00002AAB327B1A80 : 6F70 2074 6162 6C65 2027 2063 6F6E 6361 op table ' conca 0x00002AAB327B1A90 : 7420 7674 6162 7363 6865 6D61 3020 636F t vtabschema0 co 0x00002AAB327B1AA0 : 6E63 6174 2027 2E27 2063 6F6E 6361 7420 ncat '.' concat 0x00002AAB327B1AB0 : 7674 6162 6E61 6D65 303B 6578 6563 7574 vtabname0;execut 0x00002AAB327B1AC0 : 6520 696D 6D65 6469 6174 6520 7371 6C73 e immediate sqls 0x00002AAB327B1AD0 : 746D 743B 7365 7420 7371 6C73 746D 7420 tmt;set sqlstmt 0x00002AAB327B1AE0 : 3D20 2744 524F 5020 4556 454E 5420 4D4F = 'DROP EVENT MO 0x00002AAB327B1AF0 : 4E49 544F 5220 4F50 4D44 4059 3846 5859 NITOR OPMD@Y8FXY 0x00002AAB327B1B00 : 5427 3B65 7865 6375 7465 2069 6D6D 6564 T';execute immed 0x00002AAB327B1B10 : 6961 7465 2073 716C 7374 6D74 3B65 6E64 iate sqlstmt;end 0x00002AAB327B1B20 : 2069 663B 656E 64 if;end | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * All Platforms * **************************************************************** * PROBLEM DESCRIPTION: * * SET STATEMENT EXECUTED FROM WITHIN A STORED PROCEDURE MAY * * CAUSE * * DB2 ABEND * **************************************************************** * RECOMMENDATION: * * Upgrade to v9.5 Fixpack 9 * **************************************************************** | |
Local Fix: | |
Set the variable indirectly by first assigning it to a string and then executing the string. | |
available fix packs: | |
DB2 Version 9.5 Fix Pack 9 for Linux, UNIX, and Windows | |
Solution | |
First Fixed in v9.5 Fixpack 9 or higher | |
Workaround | |
not known / see Local fix | |
BUG-Tracking | |
forerunner : APAR is sysrouted TO one or more of the following: IC78003 follow-up : | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 04.08.2011 08.03.2012 08.03.2012 |
Problem solved at the following versions (IBM BugInfos) | |
9.5.FP9 | |
Problem solved according to the fixlist(s) of the following version(s) | |
9.5.0.9 |