adding datafile to tablespace
Can anyone please answer these questions in order of appearance for me?
I used OEM to check out my tablespace and I realixed that:
SIZE is 1000m and (USED) is 997m
1.Does this mean that the tablespace has used it's maxextents that was allocated to it?
2.How do I know if the tablespace has used its maxextents allocated to it.
3. Is it always better to RESIZE the datafiles when adding more space to it OR it's always better to add another datafile to the tablespace?
1. It doesn't mean that it has used the max extents. It means that total datafile size for that tablespace is 1000M and out of that 997M has been used.
2. You should see the object segments(tables, indexes) in that tablespace by querying DBA_SEGMENTS.
3. Resizing is better if have the disk resources else you may have to add datafile in another disk.
defrag that tablespace/datafile
I would defrag the tablespace/datafile.
use these two statements. the first will tell you what tablespaces are fragmented:
where percent_extents_coalesced<> 100;
alter tablespace (tablespace_name) coalesce;
see if that helps at all.
you should probably do an export/import as well.
If it is fragemented defragementation is always helpful. But u should be very careful before coelesing. As it combines all the extents and finally makes it as a big single extent, and the size of the next extent (if you have set it) will be the same as of the first one and that will lead into many other problems. Take this into consideration before doing so. Other wise simply add another datafile.
Click Here to Expand Forum to Full Width