Siden Oracle 10G release 2, har det været muligt at droppe en ubrugt datafil. Det er ikke fordi jeg har brug for det særligt ofte - men det sker da i visse tilfælde. For et par uger siden, var det en af disse tilfælde hvor jeg havde behovet. Sagen var, at et projekt var ved at gå i luften - og jeg havde forinden sikret mig plads til projektet. Derfor havde jeg bl.a. 2 datafiler af 2580M allokeret på disk til formålet.

Det viste sig dog at der havde været manglende oplysninger omkring pladsberegningerne, og der derfor kun var brug for 1 datafil af 2580M. Så istedet for at have begge filer liggende så kunne jeg jo ligeså godt frigive pladsen for den ene datafil.

Da datafilen skal være ubrugt for at kunne droppes, landende jeg i følgende situation: Mine datafiler var navngivet således nb_03.dbf og nb_04.dbf. Da kun nb_03.dbf var tom, måtte jeg droppe den, og rename nb_04.dbf til nb_03.dbf, for denne øvelse skulle lykkes. 

  1. alter tablespace tablespace_name drop datafile /oraprd103f/oradbf/$ORACLE_SID/nb_03.dbf
  2. alter database datafile /oraprd103f/oradbf/$ORACLE_SID/nb_04.dbf offline
  3. alter database rename file /oraprd103f/oradbf/$ORACLE_SID/nb_04.dbf to /oraprd103f/oradbf/$ORACLE_SID/nb_03.dbf
  4. alter database datafile /oraprd103f/oradbf/$ORACLE_SID/nb_03.dbf online