PROUTIL CHANALYS qualifier

Displays information about the index delete change, and the free and record manager (RM) chains. It calculates the number of blocks found both in the free chain and in the RM chain.

Syntax

proutil db-name -C chanalys [ area area-name ]
     [ tenant tenant-name| group group-name| shared ]
     [ -scan ][-csoutput [ -fieldsep sep-value]
     [ -csfilePrefix pref-name ][ -verbose ] [ -RO ] ]

Parameters

db-name
Specifies the database you are using.
area area-name
Specifies that CHANALYS is to be performed on the area-name area only.
tenant tenant-name
Specifies that CHANALYS is to be filtered to only provide information related to objects that are owned by tenant-name. If tenant-name is not valid, CHANALYS exits with an error. Specifying tenant is only allowed on databases enabled for multi-tenancy.
group group-name
Specifies that CHANALYS is to be filtered to only provide information related to objects that are owned by group-name. If group-name is not valid, CHANALYS exits with an error. Specifying group is only allowed on databases enabled for multi-tenancy.
shared
Specifies that CHANALYS is to be filtered to only provide information related to shared objects. Specifying shared is only allowed on databases enabled for multi-tenancy.
-scan

Specifies that CHANALYS is to perform RM-chain analysis with minimal locking (does not turn on table locks). This option should be used when you are concerned that the locking required for a full analysis will be a significant performance impact. The information displayed may be incomplete because the chain can be changing while the analysis is being performed.

The following aspects of chain analysis are omitted with this option:
  • Verification that each block is below the high-water mark.
  • Verification that each block appears on the chain only once.
  • Verification that the object block's reported count matches the chain length (values may not agree because of the reduced locking).
  • Verification that the block is the correct type (RM block for RM chain, index block for index chain).
  • Verification of cluster pointers.
-csoutput

Specifies that CHANALYS output the analysis data to text files in addition to the screen. The result is that the following files are created:

  • db-name .ch.txt — For chain analysis output
  • db-name .block.txt — For block analysis output

For more information about the contents of the files, see the Database analysis output.

-fieldsep sep-value
When -csoutput is specified, sep-value indicates the value to separate the columns of output. A space is used by default. Accepted values for sep-value are:
  • Any ASCII character between 0x21 and 0x7E
  • sp — to denote a space (the default)
  • tab — to denote a the TAB character (<\t> or ASCII character 0x09)
-csfilePrefix pref-name
When -csoutput is specified, pref-name indicates a file name prefix. The database name is used by default. All remaining elements of the file name are not customizable.
-verbose
When -csoutput is specified, the first row of the output files contains header names for each column of output.
-RO
Runs the utility in read-only mode. Use read-only mode to connect to databases on read-only media or to diagnose and repair issues on a stopped database before starting it. Read-only mode allows any number of connections at once, up to the maximum number of connections. You may run multiple diagnostic utilities concurrently, while the database broker is down, if they all support read-only connection and you run them in read-only mode. This reduces bottlenecks and expedites disaster recovery on large databases.
Note: Use -RO with caution because it is designed to work only with a read-only connection. Unexpected errors may result if you specify -RO when using a single-user or multi-user connection.

Output format

The chain analysis report appears in internal storage order (as stored in the object block for the area) with a column to identify Partition/Tenant/Group. The format of this column is as follows: type:name:id where type is P for Partition, T for Tenant, or G for Group; name is the partition name, tenant name, or group name; and id is the partition-id, tenant-id, or group-id. The column is blank if there is no partition, tenant, or group.

Example

The following is a sample of PROUTIL CHANALYS output.


CHAIN ANALYSIS FOR AREA "tpArea2": 11
----------------------------------------------------------

FREE CLUSTER CHAIN ANALYSIS
---------------------------

0 cluster(s) found in the free cluster chain.


FREE CHAIN ANALYSIS
-------------------

          LIST OF FREE CHAIN BLOCKS
                next
        dbkey   free
        448     0

Number of       Object     Object                                      Partition/Tenant/Group
Blocks           Type
---------------------------------------------------------------------------------------------
1                Master    --:0    
0                Table     PUB.tpOrder-Line:1    
          LIST OF FREE CHAIN BLOCKS
                next
        dbkey   free
        1472    0
1                Index     PUB.tpOrder-Line.tpOrder-Line:8    
          LIST OF FREE CHAIN BLOCKS
                next
        dbkey   free
        1856    1920
        1920    1984
        1984    0
3                Index     PUB.tpInvoice.tpCustNum:15                                   
0                Table     PUB.tpOrder:5    
          LIST OF FREE CHAIN BLOCKS
                next
        dbkey   free
        2880    2944
        2944    3008
        3008    0
3                Index     PUB.tpItem.tpItem-Num:23   
          LIST OF FREE CHAIN BLOCKS
                next
        dbkey   free
        3392    3456
        3456    3520
        3520    0
3                Index     PUB.tpItem.tpCat-Description:24   
          LIST OF FREE CHAIN BLOCKS
                next
        dbkey   free
        3904    3968
        3968    4032
        4032    0
3                Index     PUB.tpItem.tpItem-Name:25   
          LIST OF FREE CHAIN BLOCKS
                next
        dbkey   free
        4416    4480
        4480    4544
        4544    0
3                Index     PUB._Partition-Policy-Detail._Partition-Internal-Value:-1558 
                                                                            P:PUB.tpInvoice:3

          LIST OF FREE CHAIN BLOCKS
                next
        dbkey   free
        4928    4992
        4992    5056
        5056    0
3                Index     PUB._Partition-Policy-Detail._Partition-Internal-Value:-1558 
                                                                         P:PUB.tpLargeField:4
0                Table     PUB.tpCustomer:2                              P:CustomerQtr1:1
0                Blob      PUB.tpCustomer.CustBlob1:5                    P:CustomerQtr1:1
0                Blob      PUB.tpCustomer.CustBlob2:6                    P:CustomerQtr1:1
0                Blob      PUB.tpCustomer.CustClob1:7                    P:CustomerQtr1:1
          LIST OF FREE CHAIN BLOCKS
                next
        dbkey   free
        7488    7552
        7552    7616
        7616    0
3                Index     PUB.tpInvoice.tpInvoiceNum:14                 P:InvoiceQtr1:1
0                Table     PUB.tpLargeField:4                            P:LrgFldQtr1:1

RM CHAIN ANALYSIS
---------------------------

          LIST OF RM CHAIN BLOCKS
                free    # free
        dbkey   space   slots   hold
        89152   6519    22      0
        89216   8124    64      0
        89280   8124    64      0
        89344   8124    64      0
        89408   8124    64      0
        89472   8124    64      0
        89536   8108    64      0

Number of       Object     Object                                      Partition/Tenant/Group
Blocks           Type
---------------------------------------------------------------------------------------------
7                Table     PUB.tpOrder-Line:1    
          LIST OF RM CHAIN BLOCKS
                free    # free
        dbkey   space   slots   hold
        88128   5097    14      0
        88192   8124    64      0
        88256   8124    64      0
        88320   8124    64      0
        88384   8124    64      0
        88448   8124    64      0
        88512   8108    64      0
7                Table     PUB.tpOrder:5    
          LIST OF RM CHAIN BLOCKS
                free    # free
        dbkey   space   slots   hold
        92736   7027    62      0
        92800   8124    64      0
        92864   8124    64      0
        92928   8124    64      0
        92992   8124    64      0
        93056   8124    64      0
        93120   8108    64      0
        5568    228     44      1
        5440    242     40      1
        5504    226     40      1
        92672   699     51      0
11               Table     PUB.tpCustomer:2                                  P:CustomerQtr1:1
          LIST OF RM CHAIN BLOCKS
                free    # free
        dbkey   space   slots   hold
        65920   8124    64      0
        65856   8124    64      0
        65792   8112    63      1
        65664   8124    64      0
        65600   8124    64      0
        65536   8096    63      1
        42880   8124    64      0
         .
         .
         .
        76672   456     63      0
        37120   328     49      1
        31872   3697    20      1
        71296   316     51      1
133              Blob      PUB.tpCustomer.CustBlob1:5                        P:CustomerQtr1:1
          LIST OF RM CHAIN BLOCKS
                free    # free
        dbkey   space   slots   hold
        84352   8112    63      1
        84224   8124    64      0
         .
         .
         .
        56768   319     55      1
        11200   332     56      1
        12992   319     55      1
311              Blob      PUB.tpCustomer.CustBlob2:6                        P:CustomerQtr1:1
          LIST OF RM CHAIN BLOCKS
                free    # free
        dbkey   space   slots   hold
        31040   8112    63      1
        30784   8112    63      1
         .
         .
         .
        59264   337     61      1
        62016   305     61      1
        62272   337     61      1
159              Blob      PUB.tpCustomer.CustClob1:7                        P:CustomerQtr1:1
          LIST OF RM CHAIN BLOCKS
                free    # free
        dbkey   space   slots   hold
        92544   8112    63      1
        91776   1418    63      0
         .
         .
         .
        93184   1418    63      0
        90240   1418    63      0
42               Table     PUB.tpLargeField:4                                  P:LrgFldQtr1:1

INDEX DELETE CHAIN ANALYSIS
---------------------------


Number of       Object     Object                                      Partition/Tenant/Group
Blocks           Type
---------------------------------------------------------------------------------------------
0                Index     PUB.tpOrder-Line.tpOrder-Line:8    
0                Index     PUB.tpInvoice.tpCustNum:15                                   
0                Index     PUB.tpItem.tpItem-Num:23   
0                Index     PUB.tpItem.tpCat-Description:24   
0                Index     PUB.tpItem.tpItem-Name:25   
0                Index     PUB._Partition-Policy-Detail._Partition-Internal-Value:-1558 
                                                                         P:PUB.tpInvoice:3
0                Index     PUB._Partition-Policy-Detail._Partition-Internal-Value:-1558 
                                                                         P:PUB.tpLargeField:4
0                Index     PUB.tpInvoice.tpInvoiceNum:14                 P:InvoiceQtr1:1