hi Guys,
I have a table with
row size 196, num of columns 22 and index size 120
(listed on the dbschema output)
This table is fragmented to 5 dbspaces based on the
key condition.
fragment by expression
(a_col [10,10] IN (1 ,2 )) in dbs1,
(a_col [10,10] IN (3 ,4 )) in dbs2,
(a_col [10,10] IN (5 ,6 )) in dbs3,
(a_col [10,10] IN (7 ,8 )) in dbs4,
(a_col [10,10] IN (9 ,0 )) in dbs5,
remainder in dbs6
extent size 16 next size 1600000 lock mode row;
totally space allocated of these 5 dbspaces is about
27 Gb
But if I calculated now_row * (row_size + index_size +
4) =~ 13 Gb. Where is the rest of the space has gone ?
All the while there were records inserted and deleted
from this table.
Yesterday, dbs3 and dbs4 was almost full, so I added
two chunks which 2Gb in size to these dbspaces. The
num of row count was 39 million.
This morning, when I did a health check on database, I
found out that those chunk been added yesterday has
been used up. 0 free space. The number of records
still remains as 39 million. records are moving in and
out from this table.
I only left 100 Mb each on these dbspace. Should I add
another two 2 Gb chunk ? But it seems like the chunk
usage is stagnant now. My initial idea was Wait and
see, but After waiting for 2 hours the remaininig
space still stand on 100 Mb even though there are more
records been added and row size is increasing. I'm
sure when the database complaints the dbspaces is
running out of space and wreak havoc the whole app.
But before I go ahead a add chunk, I need to
understand where the the spaces gone ?
Does the onstat -d shows the real space usage on the
database. Any related to the extend size of the table?
How do we know what tables/indexes are sitting on
these
dbspaces ?
Thanks,
__________________________________________________
Do You Yahoo!?
Get Yahoo! Mail - Free email you can access from anywhere!
http://mail.yahoo.com/