Building indexes -- help
Posted in 1996
I continually run into device full messages when trying to build an index. Can
anyone help?
I an running 7.10 UD2 on an SGI Challenge.
I have 3 dataspaces. The first one has 4, 1Gbyte chunks, the other 2 have 3, 1
Gbyte chunks. I have a 3, 1 Gbyte chunk tempspace. My root space is the small
20Mbyte default.
I have one database which is not logged. Hence the small rootspace. The
database was assigned to the first database space which has 4Gbytes in it.
In this database I have built a large table with 10m plus rows. I fragmented
the table round robin. The rows are about 300bytes long. One column is varchar
(100,28). I have a primary key index, which I presume has been built in the
first space. And I managed to create another index on an int column with a
hashing fragmentation strategy using the MOD function.
I am now trying to create an index on the varchar(100,28) column. Whatever
fragmentation strategy I use to place the indexes where I think I have space to
put them I get a device full messsage. I can not determine which device is
full--how do you determine which device is full?
I have written a small C program to create the index and tried to collect the
error messages using exp_chk -- no help, a specific name is not returned.
I am runing oncheck -pT database -- this seems to create a stink load of
processes, run forever and lock up the machine.
The info from onmonitor says I am using 1.5 gig out of 3 gig in each of the 2
smaller spaces, and using about 2.6 gig of the 4 gig in the first dataspace.
If the create index does a sort it will need about 10m x 100bytes / 2 in
tempspace (if it sorts the index in temp space) therefore I guess I have enough
temp space. I think I need about 1.2 gig to store the index, I have specified
different fragmentation strategies to place the index equally in each of the
spaces but whatever I try -- no space left on device.
Help.