G
George Potemkin
Guest
> there are counters in all the buffer header structures for the blocks that are currently in memory. I guess only the countdown access counters used for lruskips mechanism: DEFINE VARIABLE i AS INTEGER NO-UNDO. DEFINE VARIABLE vRecid AS INT64 NO-UNDO. DISABLE TRIGGERS FOR DUMP OF customer. FIND FIRST customer NO-LOCK. ASSIGN vRecid = RECID(customer). MESSAGE "Dbkey:" vRecid - (vRecid MOD 32) SKIP "Zero" VIEW-AS ALERT-BOX INFORMATION BUTTONS OK. DO i = 1 TO 1000: FIND FIRST customer NO-LOCK WHERE RECID(customer) EQ vRecid. END. MESSAGE "Update" VIEW-AS ALERT-BOX INFORMATION BUTTONS OK. Result: 06/06/19 Status: Lru Chains Num DBKEY Area Hash T S Usect Flags Updctr Lsn Chkpnt Lru Skips 1 384 8 221 D 0 L 36 0 0 0 0 10:39:05 Adjust Latch Options 8. Adjust LRU force skips: 2147483647 06/06/19 Activity: Buffer Cache Primary Buffer Pool Logical reads 1000 06/06/19 Status: Lru Chains 10:35:38 Num DBKEY Area Hash T S Usect Flags Updctr Lsn Chkpnt Lru Skips 1 384 8 221 D 0 L 36 0 0 0 2147482648 2147483647 - 2147482648 = 999 In other words, "Skips" are decreasing from -lruskips - 1 down to 0 and then they are re-set back, So setting the -lruskips to 2147483647 will give us the block access counters but only for a limited time interval. Tested on V12.0.
Continue reading...
Continue reading...