isutl -b

Manage ISAM file buckets

WSupported on Windows
USupported on Unix

 

NSupported in Synergy .NET
isutl -b[s][-f][-le][-mlevel#] filename[ ...] 

or

isutl -bx bucket[-le][-mlevel#] filename[ ...]

-s

(optional) Suppress freelist scan.

-x bucket

(optional) Display the number of free segments in the specified bucket, where bucket is either the number of the freelist bucket or 0 for the index freelist.

-f

(optional) Display the number of file fragments in both index (.ism) and data (.is1) files. (Windows only)

-le

(optional) Exclusive access. Lock out all other access to the file.

-mlevel#

(optional) Specify a message level that defines the amount of information displayed during an operation, where level is one of the following values:

0 = No output is generated. All errors generated are returned in the form of an exit value.

1 = Only errors and necessary output are displayed. (default)

2 = Process information is displayed, in addition to errors and necessary output.

filename

The name of the ISAM file(s) you want to manage. The default extension is .ism.

Isutl -b scans the data file, verifies the freelists, and reports the bucket information. The purpose of the -b option is to retrieve the bucket information as quickly as possible (in contrast with using -b with the -v command, where isutl must first complete all verification passes before displaying the bucket information, which on a large file with many keys can take a long time).

Isutl -bs scans just the data file (suppressing freelist verification) and reports the bucket information. The -s option tells isutl not to scan/verify the freelist, which displays the bucket list as quickly as possible without checking for errors. On files with large freelists, scanning may take some time, and unless you suspect a file problem, you can skip it.

Isutl -bx bucket is a complement to isutl -ex bucket:count and allows the quickest access to the size of a specified freelist without scanning data or verifying freelists. For example, isutl -bx 126 simply returns the number of free segments currently in bucket 126. It does not report in-use segments, however.

The -le option is rarely, if ever, necessary.

The following is sample output for isutl -b. It shows a typical example of a file where records are stored but rarely updated or deleted. Files like this that grow excessively large over time can benefit greatly from using the -ex command to extend the freelists. (See Examples for isutl -ex for the result of using -ex on this same file.)

isutl -bf conhist

Bucket Allocation:
      slen      #inuse        %free       #free       lhead
1:      16           0            0           0
2:      24           0            0           0
3:      32           0            0           0
4:      40           0            0           0
5:      48           0            0           0
6:      56           0            0           0
7:      64           0            0           0
8:      72           0            0           0
9:      80           0            0           0
10:     88           0            0           0
11:     96           0            0           0
12:    104           0            0           0
13:    112           0            0           0
14:    120           0            0           0
15:    128           0            0           0
16:    136           0            0           0
17:    144           1            0           0
18:    152          13            0           0
19:    160        2047            0           0
20:    168       24219            0           0
21:    176       47077            0           0
22:    184      121414            0           0
23:    192      302983            0           0
24:    200      672743            0           0
25:    208      631307            0           0
26:    216     1613821            0           0
27:    224     1530521            0           0
28:    232     3577469            0           0
29:    240     3530647            0           0
30:    248     3924051            0           0
31:    256     3925278            0           0
32:    264     3701500            0           0
33:    272     3466741            0           0
34:    280     2540525            0           0
35:    288     1901455            0           0
36:    296     1277661            0           0
37:    304      616274            0           0
38:    312      266854            0           0
39:    320      132741            0           0
40:    328       77975            0           0
41:    336       48834            0           0
42:    344       27579            0           0
43:    352       13282            0           0
44:    360        5477            0           0
45:    368        2280            0           0
46:    376         899            0           0
47:    384         350            0           0
48:    392         127            0           0
49:    400          40            0           0
50:    408          18            0           0
51:    416           4            0           0
52:    424           2            0           0
53:    432           0            0           0
54:    440           0            0           0
55:    448           0            0           0
56:    456           0            0           0
.
.
.
130:  1004           0            0           0
131:  1010           0            0           0
Unusable: 0 segments, 0 bytes
Segment bytes: total = 8635734696, unused = 119620206 (1%)
Freelist use:
0 data segments (0.0% free)
0 index blocks (0.0% free)
Index file fragments: 41491
Data file fragments: 41622