Presentation is loading. Please wait.

Presentation is loading. Please wait.

© 2010 Eaton Corporation. All rights reserved. Database-Request Statement Cache Ben Holmes – July 2014.

Similar presentations


Presentation on theme: "© 2010 Eaton Corporation. All rights reserved. Database-Request Statement Cache Ben Holmes – July 2014."— Presentation transcript:

1 © 2010 Eaton Corporation. All rights reserved. Database-Request Statement Cache Ben Holmes – July 2014

2 2 2 © 2009 Eaton Corporation. All rights reserved. Client Database-Request Statement Caching  What is it? Client execution stack trace dump Includes: Line #, procedure name, file name Introduced in 10.1C - Not a new feature  When should you use it? Diagnosing deployed application problems Local and remote access  What’s in a name? Don’t confuse with other “statement caches”  Documentation OpenEdge Data Management: Database Administration ©

3 3 3 © 2009 Eaton Corporation. All rights reserved. Enablement - Multi-level activation promon  R&D  1. Status Displays... 18. Client Database-Request Statement Cache... Activate 1. Activate For Selected Users 2. Activate For All Users 3. Activate For All Future Users 4. Deactivate For Selected Users 5. Deactivate For All Users 6. Deactivate For All Future Users 7. View Database-Request Statement Cache 8. Specify Directory for Statement Cache Files ©

4 4 4 © 2009 Eaton Corporation. All rights reserved. Activation Types  1. Single Report top of the stack Last procedure call only Better performance Continual update  2. Stack Reports entire stack (31 deep, sometimes more) 32,000 byte maximum stack size Most information - How did I get there? Continual update ©

5 5 5 © 2009 Eaton Corporation. All rights reserved. Activation Types - It’s not a trace; It’s a current stack dump.  3. One time stack Full stack snapshot Reports stack one time (on next DB operation) Not continuous update - Remembered until deactivated or reactivated - Re-activate for update Diagnose quickly changing stack  Summary Select, current, future users One time vs continuous Top of stack or full stack SQL exception - statement level only ©

6 6 6 © 2009 Eaton Corporation. All rights reserved. Viewing the Statement Cache Let’s have a look at… promon  R&D  1. Status Displays... 18. Client Database-Request Statement Cache... 1. Activate For Selected Users 2. Activate For All Users 3. Activate For All Future Users 4. Deactivate For Selected Users 5. Deactivate For All Users 6. Deactivate For All Future Users View 7. View Database-Request Statement Cache 8. Specify Directory for Statement Cache Files ©

7 7 7 © 2009 Eaton Corporation. All rights reserved. Caching Types 12/07/10OpenEdge Release 11 Monitor (R&D) 11:20:50View Database-Request Statement Cache Usr Name TypeLogin time 5 userb SELF/ABL12/07/10 09:38 23 userb REMC/ABL 12/07/10 09:40 24 userb REMC/ABL 12/07/10 09:40  “L1”: Level 1 Serv Type Cache Update 0L112/07/10 09:50 1L212/07/10 09:50 1RQ12/07/10 09:50 Continuous procedure at top of stack only “SQL Statement or Single ABL Program Name”  “L2”: Level 2 Continuous full stack 32,000 byte maximum “SQL Statement or Partial ABL Program Stack”  “RQ”: Client Trace Request (level 3) One time stack “SQL Statement or Partial ABL Program Stack” 18 ©2013 Progress Software Corporation. All rights reserved.

8 8 8 © 2009 Eaton Corporation. All rights reserved. Procedure Call Stack It’s just a LIFO…  Top is last procedure executed  Bottom is first procedure executed  Top down, newest to oldest Top Newest Oldest Bottom # Procedure NameFile Name 19 : reallyLongNamedInternalProcedure3 proctestb.r 12 : reallyLongNamedInternalProcedure2 proctestb.r 5 : reallyLongNamedInternalProcedure1 proctesta.r 445 : reallyLongNamedInternalProcedure0 proctesta.r 1 : /usr1/stmtest/p72340_Untitled1.ped  More on data format later… ©

9 9 9 © 2009 Eaton Corporation. All rights reserved. Statement Caching and -1 12/07/10OpenEdge Release 11 Monitor (R&D) 11:25:34View Database-Request Statement Cache … Statement cache information: -1 : reallyLongNamedProcedure1 proctest2.p 445 : proctest2.p 16 : methodB test13d 3 : runner.p 1 : /usr1/userb/11/stmtest/p49070_Untitled1.ped  Line # of -1 Database action at end of procedure Not a specific line # in a.p Often the result of buffer flushing ©

10 10 © 2009 Eaton Corporation. All rights reserved. File Overflow Directory Let’s have a look at… promon  R&D  1. Status Displays... 18. Client Database-Request Statement Cache... 1. Activate For Selected Users 2. Activate For All Users 3. Activate For All Future Users 4. Deactivate For Selected Users 5. Deactivate For All Users 6. Deactivate For All Future Users 7. View Database-Request Statement Cache Other 8. Specify Directory for Statement Cache Files ©

11 11 © 2009 Eaton Corporation. All rights reserved. VST Monitoring _Connect…  _Connect-CachingType Caching level: 01, 02, 03 Value “requested” in promon (top, stack, one-time)  _Connect-CacheInfoType "ABL Program", "SQL Statement", "ABL Stack“ Value of current stack type displayed “?”: stack requested and no stack yet  "ABL Program“ (01) Procedure and.p name displayed  "ABL Stack“ (02 & 03)  “SQL Statement” (01, 02 & 03) ©

12 12 © 2009 Eaton Corporation. All rights reserved. VST Monitoring © FOR EACH _Connect WHERE _Connect-CacheInfoType <> ?: CacheInfoType set when data exists, not pending. DISPLAY _Connect-id _Connect-Usr _Connect-CachingType _Connect-CacheInfoType format "x(12)“ _Connect-CacheLineNumber[1] label "Line“ _Connect-CacheInfo[1]label "Entry“ _Connect-CacheLineNumber[2] no-label _Connect-CacheInfo[2]no-label END.

13 13 © 2009 Eaton Corporation. All rights reserved. VST Monitoring _Connect…  _Connect-CacheLastUpdate Date/time of cache update One time stack - age of information Continual stack - time of last DB request  _Connect-CacheInfo[32] Up to “last“ 32 stack entries Procedure & executing image name -.p or.r executed (run) – Pathname specified (not fully qualified)  _Connect-CacheLineNumber[32] Up to “last” 32 stack entries Line number of code ©

14 14 © 2009 Eaton Corporation. All rights reserved. VST Monitoring FOR EACH _Connect WHERE _Connect-CacheInfoType <> ?: CacheInfoType set when data exists, not pending. DISPLAY _Connect-id _Connect-Usr _Connect-CachingType _Connect-CacheInfoType format "x(12)“ _Connect-CacheLineNumber[1] label "Line“ _Connect-CacheInfo[1]label "Entry“ _Connect-CacheLineNumber[2] no-label _Connect-CacheInfo[2]no-label END. ©

15 15 © 2009 Eaton Corporation. All rights reserved. Manually Generate Stack Trace  Stack also available via “prostack” Useful for “non-responsive” connections Available with 10.1c Must have access to client’s machine “progetstack on Windows  kill-SIGUSR1 (Don’t forget the dash) protrace. - Startup parameters - Execution stack (Statement cache) - ** ABL Stack Trace ** - ** Persistent procedures/Classes ** - ** PROPATH ** - ** Databases (logical/type/physical) ** ©

16 16 © 2009 Eaton Corporation. All rights reserved. © 07/29/14 OpenEdge Release 10 Monitor (R&D) 12:25:23 View Database-Request Statement Cache User number : 181 User name : B1311 User type : SELF/ABL Login date/time : 07/29/14 12:23 Statement caching type : SQL Statement or Partial ABL Program Stack Statement caching last updated : 07/29/14 12:25 Statement cache information : 15832 : create-sod-line-details us/ed/edomack.p 10618 : us/ed/edomack.p 4445 : us/mg/mgbcs2_e.p 2599 : us/mg/mgbcs1_e.r 2186 : us/gp/gpwinrun.p 5764 : us/mf/mfmenu.p 10937 : us/mf/mf1a.p 1800 : mf1.p 122 : mf.p 3 : /nhb/log/qad/B1311/XXHEMT_1311.p Enter user number, P, T, or X (? for help):

17 17 © 2009 Eaton Corporation. All rights reserved. © 961 cognos1 REMC/ 961 cognos1 REMC/SQLC 07/29/14 14:17 1 L2 07/29/14 14:17 IPV4 172.23.201.235 SQLC 07/29/14 14:17 1 L2 07/29/14 14:17 IPV4 172. 23.201.235 07/29/14 OpenEdge Release 10 Monitor (R&D) 14:20:17 View Database-Request Statement Cache User number : 956 User name : cognos1 User type : REMC/SQLC Login date/time : 07/29/14 14:10 Statement caching type : SQL Statement or Partial ABL Program Stack Statement caching last updated : 07/29/14 14:10 Find out what is SQL doing…

18 18 © 2009 Eaton Corporation. All rights reserved. © Statement cache information : select ( "Work_Order_Route__Wr_Route_"."wr_start" + -(MOD(DAYOFWEEK("Work_Order_Route__Wr_Route_"."wr_start")+7-1,7)+1) + 7), {fn CURDATE() }, YEAR(( "Work_Order_Route__Wr_Route_"."wr_start" + -(MOD(DAYOFWEEK("Work_Order_Route__Wr_Route_"."wr_start")+7-1,7)+1) + 7)), YEAR({fn CURDATE() }), upper ("Work_Order_Route__Wr_Route_"."wr_wkctr"), "Work_Order_Route__Wr_Route_"."wr_op", "Work_Order_Route__Wr_Route_"."wr_status", "Work_Order_Route__Wr_Route_"."wr_tool", "Work_Order_Route__Wr_Route_"."wr_start", "Work_Order_Route__Wr_Route_"."wr_due", "Work_Order_Master__Wo_Mstr_"."wo_status", "Work_Order_Master__Wo_Mstr_"."wo_lot", Work_Order_Route__Wr_Route_"."wr_part", "Work_Master__Wc_Mstr_"."wc_desc", (MOD(DAYOFWEEK("Work_Order_Route__Wr_Route_"."wr_start")+7- 1,7)+1), "Work_Order_Master__Wo_Mstr_"."wo_rel_date", "Work_Order_Route__Wr_Route_"."wr_qty_ord", "Work_Order_Route__Wr_Route_"."wr_qty_comp", "Work_Order_Master__Wo_Mstr_"."wo_qty_rjct", "Work_Order_Route__Wr_Route_"."wr_setup", "Work_Order_Route__Wr_Route_"."wr_run", "Work_Order_Route__Wr_Route_"."wr_act_setup", "Work_Order_Route__Wr_Route_"."wr_act_run" from "PUB"."wr_route" "Work_Order_Route__Wr_Route_", "PUB"."wo_mstr" "Work_Order_Master__Wo_Mstr_", "PUB"."wc_mstr" "Work_Master__Wc_Mstr_" where "Work_Master__Wc_Mstr_"."wc_mch" = "Work_Order_Route__Wr_Route_"."wr_mch" and "Work_Master__Wc_Mstr_"."wc_wkctr" = "Work_Order_Route__Wr_Route_"."wr_wkctr" and "Work_Order_Master__Wo_Mstr_"."wo_nbr" = "Work_Order_Route__Wr_Route_"."wr_nbr" and "Work_Order_Master__Wo_Mstr_"."wo_lot" = "Work_Orde r_Route__Wr_Route_"."wr_lot" and instr('''Adaptive Analytics Users'', ''Aerospace MFGPro US National'', ''All Authenticated Users'', ''CRN Query Studio'', ''CRN Query Studio Production'', ''CRN Report Studio'', ''CRN Report Studio Production'', ''Cognos 8 Analysis Studio Production and QA'', ''Cognos 8 Query Studio Pro duction and QA'', ''Cognos Series 7'', ''Consumers'', ''Deitrick David E0053337'', ''Everyone'', ''FPG ALL USERS A_K'', ''FPG Aerospace User Group'', ''FPG_Aero Space_Users'', ''PowerPlay Users''', 'Aerospace MFGPro UK Citizen') > 0 and "Work_Order_Route__Wr_Route_"."wr_status" <> 'C' and Work_Order_Master__Wo_Mstr_".“ wo_status" = 'R' and ("Work_Order_Route__Wr_Route_"."wr_qty_ord" - "Work_Order_Master__Wo_Mstr_"."wo_qty_rjct") - "Work_Order_Route__Wr_Route_"."wr_qty_comp" > 0 and (1 <> 1 or upper ("Work_Order_Route__Wr_Route_"."wr_wkctr") like '35S%' or upper ("Work_Order_Route__Wr_Route_"."wr_wkctr") like '35RS%') and "Work_Order_Master__Wo_Mstr_"."wo_site" = '35' and "Work_Order_Route__Wr_Route_"."wr_wkctr"<> '35SM398' and "Work_Order_Route__Wr_Route_"."wr_wkctr" <> '35SM0' Enter user number, P, T, or X (? for help): SQL String

19 19 © 2009 Eaton Corporation. All rights reserved. © QUESTIONS

20 20 © 2009 Eaton Corporation. All rights reserved.


Download ppt "© 2010 Eaton Corporation. All rights reserved. Database-Request Statement Cache Ben Holmes – July 2014."

Similar presentations


Ads by Google