What is the "index table block"?

Posted by George Potemkin on 17-Jun-2015 02:50

At the end of dbanalys you can see the message (# 3931, it exists at least since V7.3):

0 index table block(s) found in the database.

Message # 7010 (introduced in V8.3) also uses the same term:
mvCompareBlock: Error - found index table block. (7010)
This message seems to be from the vocabulary of cmpdb utility.

Only one dbanalys (V10.1B03) reported non-zero number of index table blocks:

1111 free block(s) found in the database.
1 index table block(s) found in the database.
1 sequence block(s) found in the database.
60 empty block(s) found in the database.
24057480 total blocks found in the database.
[Warning] database in use - reported statistics are approximations. (2486)

No other errors/warnings.

What are the "index table blocks"? Are they the same as "index anchor blocks" that are not used since V9? Just curious.

TIA,
George

All Replies

Posted by Richard Banville on 17-Jun-2015 10:01

Yes, these are the old index anchor blocks.  They are marked as obsolete.
There is a comment suggesting that they may exist in a database “converted from V8 or earlier” but I don’t believe it.
However, I have not debugged it to be sure.  In any event, if one exists it certainly is not being used after V9.
 
It would be interesting to see if a dump of the block associated with the db analysis report actually is an old index anchor block still sitting out there.
I thought that conv89 should have removed all of them.
 
 
[collapse]
From: George Potemkin [mailto:bounce-GeorgeP12@community.progress.com]
Sent: Wednesday, June 17, 2015 3:52 AM
To: TU.OE.RDBMS@community.progress.com
Subject: [Technical Users - OE RDBMS] What is the "index table block"?
 
Thread created by George Potemkin

At the end of dbanalys you can see the message (# 3931, it exists at least since V7.3):

0 index table block(s) found in the database.

Message # 7010 (introduced in V8.3) also uses the same term:
mvCompareBlock: Error - found index table block. (7010)
This message seems to be from the vocabulary of cmpdb utility.

Only one dbanalys (V10.1B03) reported non-zero number of index table blocks:

1111 free block(s) found in the database.
1 index table block(s) found in the database.
1 sequence block(s) found in the database.
60 empty block(s) found in the database.
24057480 total blocks found in the database.
[Warning] database in use - reported statistics are approximations. (2486)

No other errors/warnings.

What are the "index table blocks"? Are they the same as "index anchor blocks" that are not used since V9? Just curious.

TIA,
George

Stop receiving emails on this subject.

Flag this post as spam/abuse.

[/collapse]

Posted by George Potemkin on 17-Jun-2015 11:07

Thanks, Richard!

It was a rather old dbanalys (Date: Mon Sep  1 20:14:26 2008) and I'm afraid that this database does not exist anymore (but not due to the forgotten index anchor block ;-). Really I just tried to understand what the current dbanalys is saying by message:

0 index table block(s) found in the database.

Now I see. Thanks again.

George

Posted by George Potemkin on 18-Jun-2015 06:15

Just for the record: the following names are also used for Index Table Block a.k.a. Index Anchor block:

Index dbkey List Block
IDX DBKEY
ITBLBLK

But I need a bit more help with "Who is who in dbanalys".

There are not very well-known block types (including the ones that are not implemented):

bk_type _Block-Type Nickname        dbrpr                    Comments
  12     OBJECT     OBJECTBLK       Object Block             One per area (Master Object) and one per any object in SAT2
  13     CONTROL    CONTROLBLK      Control Block            One per database (in Control Area): areaRoot, areaExtentRoot, d1PathName. 
  14     OBJLISTBLK OBJECT_LIST_BLK Object List Block        nextBlock, prevBlock, numObjects, objListEntry (24 bypes per object)
  15     CLISTBLK   CLUSTER_MAP_BLK Cluster Allocation Block nextBlock, prevBlock, numClusters, clusterStart, lastDbkey, clist
  16                OBJ_CLIST_BLK   Cluster List Block       Not implemented
  17     MAPBLK     BLOCK_MAP_BLK   Object allocation Block  nextBlock, prevBlock
  18                ROW_SPACE_BLK   Row Allocation Block     Not implemented

There are the messages used as a part of the db analysis report ("+" means that a message does exist in the report, "-" otherwise):

   Msg#  Text                                                         Block type (my guesses)
+  6710: <num> object block(s) found in the database.                 (bk_type 12 for Master Objects, objectId eq 0)
+ 14186: <num> object block(s) found in the area                      (bk_type 12 for objectId ne 0)
+ 14187: <num> cluster list block(s) found in the area                (bk_type 15, CLISTBLK / CLUSTER_MAP_BLK / Cluster Allocation Block)
+ 14189: <num> cluster map block(s) found in the area                 (bk_type 17, MAPBLK / BLOCK_MAP_BLK / cluster map blocks)
- 14191: <num> cluster list block(s) found in the storage area.       (bk_type ??)
- 14192: <num> cluster allocation block(s) found in the storage area. (bk_type 15, CLISTBLK / CLUSTER_MAP_BLK / Cluster Allocation Block)
- 14193: <num> object block(s) found in the storage area.
+ 14194: <num> object list block(s) found in the storage area.        (bk_type 14, OBJLISTBLK / OBJECT_LIST_BLK)
- 14195: <num> object allocation block(s) found in the storage area.  (bk_type 17, MAPBLK / BLOCK_MAP_BLK / cluster map blocks)
- 14196: <num> row allocation block(s) found in the storage area.     (bk_type 18, ROW_SPACE_BLK)
- 14197: <num> cluster list block(s) found in the database.           (bk_type ??, )
+ 14198: <num> cluster allocation block(s) found in the database.     (bk_type 15, CLISTBLK / CLUSTER_MAP_BLK)
+ 14199: <num> object block(s) found in the database.                 (bk_type 12 for objectId ne 0)
+ 14200: <num> object list block(s) found in the database.            (bk_type 14, OBJLISTBLK / OBJECT_LIST_BLK)
+ 14201: <num> object allocation block(s) found in the database.      (bk_type 17, MAPBLK / BLOCK_MAP_BLK / cluster map blocks)
- 14202: <num> row allocation block(s) found in the storage area.     (bk_type 18, ROW_SPACE_BLK)

In the comments (in brackets) I put my guesses about the block types the messages are talking about.

Am I correct at least for the messages with "+"?

Thank you in advance,
George

Posted by Richard Banville on 18-Jun-2015 09:38

The space allocation “map blocks” were in the original design for TII areas but were not implemented due to performance considerations I had to make at the time.   They were allocated however just in case we ever decided to use them in the future.
 
BLOCK_MAP_BLK is not implemented
CLUSTER_MAP_BLK These exist in each area but are not used/implemented
 
CLISTBLK is 16, not 15
Cluster map blocks are 15
You seemed to group these together.
 
[collapse]
From: George Potemkin [mailto:bounce-GeorgeP12@community.progress.com]
Sent: Thursday, June 18, 2015 7:17 AM
To: TU.OE.RDBMS@community.progress.com
Subject: RE: [Technical Users - OE RDBMS] What is the "index table block"?
 
Reply by George Potemkin

Just for the record: the following names are also used for Index Table Block a.k.a. Index Anchor block:

Index dbkey List Block
IDX DBKEY
ITBLBLK

But I need a bit more help with "Who is who in dbanalys".

There are not very well-known block types (including the ones that are not implemented):

bk_type _Block-Type Nickname        dbrpr                    Comments
  12     OBJECT     OBJECTBLK       Object Block             One per area (Master Object) and one per any object in SAT2
  13     CONTROL    CONTROLBLK      Control Block            One per database (in Control Area): areaRoot, areaExtentRoot, d1PathName. 
  14     OBJLISTBLK OBJECT_LIST_BLK Object List Block        nextBlock, prevBlock, numObjects, objListEntry (24 bypes per object)
  15     CLISTBLK   CLUSTER_MAP_BLK Cluster Allocation Block nextBlock, prevBlock, numClusters, clusterStart, lastDbkey, clist
  16                OBJ_CLIST_BLK   Cluster List Block       Not implemented
  17     MAPBLK     BLOCK_MAP_BLK   Object allocation Block  nextBlock, prevBlock
  18                ROW_SPACE_BLK   Row Allocation Block     Not implemented

There are the messages used as a part of the db analysis report ("+" means that a message does exist in the report, "-" otherwise):

   Msg#  Text                                                         Block type (my guesses)
+  6710: <num> object block(s) found in the database.                 (bk_type 12 for Master Objects, objectId eq 0)
+ 14186: <num> object block(s) found in the area                      (bk_type 12 for objectId ne 0)
+ 14187: <num> cluster list block(s) found in the area                (bk_type 15, CLISTBLK / CLUSTER_MAP_BLK / Cluster Allocation Block)
+ 14189: <num> / block(s) found in the area                 (bk_type 17, MAPBLK / BLOCK_MAP_BLK / cluster map blocks)
- 14191: <num> cluster list block(s) found in the storage area.       (bk_type ??)
- 14192: <num> cluster allocation block(s) found in the storage area. (bk_type 15, CLISTBLK / CLUSTER_MAP_BLK / Cluster Allocation Block)
- 14193: <num> object block(s) found in the storage area.
+ 14194: <num> object list block(s) found in the storage area.        (bk_type 14, OBJLISTBLK / OBJECT_LIST_BLK)
- 14195: <num> object allocation block(s) found in the storage area.  (bk_type 17, MAPBLK / BLOCK_MAP_BLK / cluster map blocks)
- 14196: <num> row allocation block(s) found in the storage area.     (bk_type 18, ROW_SPACE_BLK)
- 14197: <num> cluster list block(s) found in the database.           (bk_type ??, )
+ 14198: <num> cluster allocation block(s) found in the database.     (bk_type 15, CLISTBLK / CLUSTER_MAP_BLK)
+ 14199: <num> object block(s) found in the database.                 (bk_type 12 for objectId ne 0)
+ 14200: <num> object list block(s) found in the database.            (bk_type 14, OBJLISTBLK / OBJECT_LIST_BLK)
+ 14201: <num> object allocation block(s) found in the database.      (bk_type 17, MAPBLK / BLOCK_MAP_BLK / cluster map blocks)
- 14202: <num> row allocation block(s) found in the storage area.     (bk_type 18, ROW_SPACE_BLK)

In the comments (in brackets) I put my guesses about the block types the messages are talking about.

Am I correct at least for the messages with "+"?

Thank you in advance,
George

Stop receiving emails on this subject.

Flag this post as spam/abuse.

[/collapse]

Posted by George Potemkin on 18-Jun-2015 10:34

The example:
Database has 1 table and 4 indexes in SAT2:

AREA "Table Area" : 7  BLOCK ANALYSIS
-------------------------------------------------

    2 object block(s) found in the area
    2 cluster list block(s) found in the area
    1 object list block(s) found in the area
    2 cluster map block(s) found in the area

AREA "Index Area" : 8  BLOCK ANALYSIS
-------------------------------------------------

    5 object block(s) found in the area
    5 cluster list block(s) found in the area
    1 object list block(s) found in the area
    5 cluster map block(s) found in the area

BLOCK ANALYSIS
--------------

2 object block(s) found in the database.
7 cluster list block(s) found in the database.
7 cluster allocation block(s) found in the database.
7 object block(s) found in the database.
2 object list block(s) found in the database.
7 object allocation block(s) found in the database.

To dot the i:

14188: <num> object list block(s) found in the area.
14200: <num> object list block(s) found in the database.

It's bk_type 14, OBJLISTBLK / OBJECT_LIST_BLK ?

14187: <num> cluster list block(s) found in the area.
14197: <num> cluster list block(s) found in the database.

It's bk_type 16, CLISTBLK / CLUSTER_MAP_BLK ?

14189: <num> cluster map block(s) found in the area.
14201: <num> object allocation block(s) found in the database.

It's bk_type 15, MAPBLK / BLOCK_MAP_BLK ?

Is it correct?

Best regards,
George

Posted by Richard Banville on 18-Jun-2015 10:40

Yes, that is correct.
 
 
[collapse]
From: George Potemkin [mailto:bounce-GeorgeP12@community.progress.com]
Sent: Thursday, June 18, 2015 11:35 AM
To: TU.OE.RDBMS@community.progress.com
Subject: RE: [Technical Users - OE RDBMS] What is the "index table block"?
 
Reply by George Potemkin

The example:
Database has 1 table and 4 indexes in SAT2:

AREA "Table Area" : 7  BLOCK ANALYSIS
-------------------------------------------------
 
    2 object block(s) found in the area
    2 cluster list block(s) found in the area
    1 object list block(s) found in the area
    2 cluster map block(s) found in the area
 
AREA "Index Area" : 8  BLOCK ANALYSIS
-------------------------------------------------
 
    5 object block(s) found in the area
    5 cluster list block(s) found in the area
    1 object list block(s) found in the area
    5 cluster map block(s) found in the area
 
BLOCK ANALYSIS
[/collapse]

This thread is closed