Urgent help needed - shared memory size growing and growing
Posted in 2000
Topics: General Discussion
Hello everybody! I have an urgent problem with executing a stored prosedure. The amount of shared memory for the connection is constantly increasing, as can be seen from this output. What could be the cause for this problem?? My environment is the following: Op.System: NT 4.0 Database : Informix Dynamic Server Version 7.30.TC7 Memory usage for pool name 5: size memid 120 overhead 96 scb 2024 ostcb 9224 sqscb 528 fragman 616 osenv 5992 opentable 1016 filetable 280 hashfiletab 13600 gentcb 4200 log 1888 sqtcb 424 rdahead 152 misc 320759512 ralloc <<<<<<<<<<<<<<<<<--------------------------------- 224 ru 4680 temprec 1416 buft_buffer -- ====================================================================== Lauri Pietarinen tel +358-9-2534 4632 AtBusiness Communications Oy fax +358-9-2534 4601 Itälahdenkatu 19 mob +358-50-594 2011 00210 HELSINKI mailto:lauri.pietarinen@atbusiness.com Finland http://www.atbusiness.com ======================================================================
The code of the "offending" procedure is provided here:
------------------------------------------------------------------------
----
---- procedure for daily update and insert of
---- new and changed rows of the DWFileDet-table
----
---- If row does not exist, it is inserted. Otherwise updated
----
------------------------------------------------------------------------
set debug file to 'DWFileDet.log';
drop procedure pr_upd_DW_FileDet;
create procedure pr_upd_DW_FileDet()
define p_RecCode char(1);
define p_Company char(3);
define p_FileNumber decimal;
define p_LineNumber int;
define p_SalesAmountExcl decimal;
define p_Description char(50);
define p_ProdCde char(10);
define p_Class char(2);
define p_SupplierCde char(8);
define p_DateFrom date;
define p_DateUntil date;
define p_NightCount int;
define p_PAX int;
define p_UserDocRecv char(10);
define p_UserDocDeliv char(10);
define p_CustomerCde char(8);
define p_UserCr char(10);
define p_DateCr date;
define p_UserMd char(10);
define p_DateMd date;
define p_VersionNum int;
define p_InfoNum int;
define p_Category char(10);
define p_TicketNumber char(15);
define p_Currency char(3);
define p_InvStatus char(1);
define p_SalesType char(2);
define p_IssueDate date;
define p_TicketType char(4);
define p_VoucherNumber char(8);
define p_LineType int;
define p_CCAmount decimal;
define p_BookYear int;
define p_CCType char(10);
define p_CCNumber char(30);
define p_CCApproval char(10);
define p_FileOwner char(10);
define p_RebateType char(2);
define p_CurrencyRate decimal;
define p_Factor int;
define p_EdCde int;
define p_RefNormalFare decimal;
define p_RefNormalFareT char(3);
define p_RefLowestFare decimal;
define p_RefLowestFareT char(3);
define p_AgencyCde char(10);
define p_ProdType char(3);
define p_InvNumber int;
define p_DepartPlace char(20);
define p_TimeFrom char(5);
define p_VATRate_Purchase char(5);
define p_ArrivalPlace char(20);
define p_TimeUntil char(5);
define p_DepartCde char(5);
define p_ArrivalCde char(5);
define p_InterventManual char(3);
define p_TeamCde char(10);
define p_UnitQuantity decimal;
define p_UnitPerc decimal;
define p_UnitPrice decimal;
define p_OffTotalManual char(3);
define p_InvoiceDate date;
define p_AirlineCde char(5);
define p_SalesJnl char(4);
define p_DWSupplSumExc decimal;
define p_search_count integer;
define insert_count integer;
define update_count integer;
define error_count integer;
define select_count integer;
define p_current_ts datetime year to second;
on exception in (-691)
let error_count = error_count + 1;
end exception with resume
let insert_count = 0;
let update_count = 0;
let error_count = 0;
let select_count = 0;
let p_current_ts = extend(current);
-- these values set to null until filemst-table is available...
let p_fileowner = null;
let p_teamcde = null;
let p_dwsupplsumexc = null;
-- trace on;
---
--- loop thru filedet-rows
---
foreach with hold
select
RecCode,
Company,
FileNumber,
LineNumber,
SalesAmountExcl,
Description,
ProdCde,
Class,
SupplierCde,
DateFrom,
DateUntil,
NightCount,
PAX ,
UserDocRecv,
UserDocDeliv,
CustomerCde,
UserCr ,
DateCr ,
UserMd ,
DateMd ,
VersionNum ,
InfoNum ,
Category ,
TicketNumber,
Currency ,
InvStatus ,
SalesType ,
IssueDate ,
TicketType ,
VoucherNumber,
LineType ,
CCAmount ,
BookYear ,
CCType ,
CCNumber ,
CCApproval ,
RebateType ,
CurrencyRate ,
Factor ,
EdCde ,
RefNormalFare ,
RefNormalFareType ,
RefLowestFare ,
RefLowestFareType ,
AgencyCde ,
ProdType ,
InvNumber ,
DepartPlace ,
TimeFrom ,
VATRate_Purchase ,
ArrivalPlace ,
TimeUntil ,
DepartCde ,
ArrivalCde ,
InterventManual ,
UnitQuantity ,
UnitPerc ,
UnitPrice ,
OffTotalManual ,
InvoiceDate ,
AirlineCde ,
SalesJnl
into
p_RecCode,
p_Company,
p_FileNumber,
p_LineNumber,
p_SalesAmountExcl,
p_Description,
p_ProdCde,
p_Class,
p_SupplierCde,
p_DateFrom,
p_DateUntil,
p_NightCount,
p_PAX ,
p_UserDocRecv,
p_UserDocDeliv,
p_CustomerCde,
p_UserCr ,
p_DateCr ,
p_UserMd ,
p_DateMd ,
p_VersionNum ,
p_InfoNum ,
p_Category ,
p_TicketNumber,
p_Currency ,
p_InvStatus ,
p_SalesType ,
p_IssueDate ,
p_TicketType ,
p_VoucherNumber,
p_LineType ,
p_CCAmount ,
p_BookYear ,
p_CCType ,
p_CCNumber ,
p_CCApproval ,
p_RebateType ,
p_CurrencyRate ,
p_Factor ,
p_EdCde ,
p_RefNormalFare ,
p_RefNormalFareT ,
p_RefLowestFare ,
p_RefLowestFareT ,
p_AgencyCde ,
p_ProdType ,
p_InvNumber ,
p_DepartPlace ,
p_TimeFrom ,
p_VATRate