BTW, if a process rolls back the long transaction then the changes of _UserLock, _UserTableStat and _Trans are the only useful information we can get. proGetStack will not report a call stack.
How often the client statement cache is updated? Once per db request? How many db requests per second does an active client generate? The hundred times? The thousands? Each update of the statement cache creates an extra USR latch lock. Each cache update /may/ create an extra disk io - if a call...
I don't have a ready-to-run code example but the idea is simple:
/* ipConnectUsr is a user number */
FOR FIRST DICTDB._Connect NO-LOCK
WHERE DICTDB._Connect._Connect-Id EQ ipConnectUsr + 1
TRANSACTION:
FIND CURRENT DICTDB._Connect EXCLUSIVE-LOCK.
ASSIGN...
BTW, you can't get the program names while a transaction is in an undo phase.
Neither with _Connect-Cache* nor with kill -SIGUSR1.
I guess the same is true for a subtransaction undo but I did not check it.
You can use:
_Connect._Connect-Cache* to get the program name run by the user.
_UserLock._UserLock-Table - inte[512] -> Table #
_UserTableStat with the increments of _UserTableStat-update or _UserTableStat-create -> _UserTableStat-Num = Table #
Since 11.7:
_Trans: no increments of...
_Area._Area-attrib is a bitmap and only a few of its 32 bits seemed to be currently used by Progress. Development could dedicate another 3 bits to set the prohibitions for the object types per area level. And Data Dictionary could check these bits. Dreams...
We agree - each area should store...
Holy war started! ;-)
Arguments to use RPB 1 for the index areas:
1) It's the only way to mark an area to be used for indexes only. We can write a program that will issue a warning if it finds the objects of the other types than the indexes;
2) If someone puts a table in area with RPB 1 and the...
What is the maximum size that can be expected from a field named “ship-city”? For example, the alternate name of Bangkok is 168 character long and it’s mentioned in Guinness Book of Records.
Field size statistics from a database somewhere in America ;-)
Size Cnt
2332 7
1058 1
1053 1
1051 1...
Or a presentation for then next Progress Conference! I’m glad that now there is a modern guidance about object assignment that we can refer to.
> LOBs are inherently large, so it doesn't make sense to me to have an area for miscellaneous LOBs
1. LOBs are the records whose minimal size is ten...
The bkLastBiNote field is not used, but is there any rumor as to what it was intended for?
Block (the bunch of records) vs an address of some recovery note?
May I ask? If we would be able to change the space management algorithms... When new fragment is added to a first block on RM chain and now the free space of the block is less than the toss limit, would you remove the block from the chain immediately or let the next record create to do that? I...
You are correct: free space in data block is decreased by RECORD-LENGTH(new record fragment) + 4 bytes: 2 bytes in a record offset directory and another 2 bytes store the size of record fragment. I'm tempting to call these 2 bytes of fragment's size plus the fragment's body itself as a "record"...
Grumbling about Create Limit is continued...
I know for sure that Progress technical support has an internal utility that scans AI files and reports the sizes of the recovery notes. The variable part of the sizes of RL_RMCHG notes is directly related to the change the record’s sizes. Progress...
@Rob Fitzpatrick
Hi Rob,
I agree that 65 is more accurate estimation than 64.
Cluster size:
Richard Banville suggested to use a cluster size of 64 for index areas. However, I don’t understand the explanation.
https://community-archive.progress.com/forums/00018/14487.html
Should we always set...
Hi Tom,
> it works reasonably well in many cases.
Sure, the mean size works, for example, for the “eco” table:
Table Records Min Max Mean
PUB.eco 10 215 234 216
But Min/Max record sizes would work equally well in this case as well.
Mean size does not work for the LOB...
For record sizes I used to check the "deviation ratio":
Dev = (Max - Mean) / (Mean - Min)
Table Records Min Max Mean Dev
PUB.notes 276431 43 13795 248 66.08
PUB._File 361 284 3201 416 21.10
PUB.eco 10 215 234 216 18.00
PUB._Field 7097 250 1782 338...
> I purposely don't have a precise definition for very large tables, i.e. tables that warrant their own areas. This is a trade-off between manageability and complexity, and different DBAs may decide this differently based on their needs. A very large table, in the mind of a DBA with a 50 GB...
Since 11.4 you can use the -csoutput -verbose parameters with proutil -C dbanalys. No needs to parse dbanalys output anymore.
Unfortunately dbanalys was and is still a poor tool to analysis data storage. You can improve it a bit by adding data from other sources. I'm combining data from...
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.