Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/02/2008, 09:14
Avatar de matanga
matanga
 
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 6 meses
Puntos: 85
Re: Errar es humano....

Hola,

Mario, lo antes posible, intenta hacer un move de todos los segmentos que tengas en ese tablespace, la sintaxis offline drop es para iniciar la base de datos cuando se corrompe un datafile, de esto no hay vuelta atras.

La idea para recuperar el tablespace seria:

1. Move de todos los segmentos a otro tablespace.
2. Eliminar el tablespace con el datafile en modo offline drop.
3. Crear nuevamente el tablespace.
4. Vovler a pasar todos los datos.

Para la proxima, tienes dos opciones, rename del datafile o drop del datafile.

Para renombrar un datafile.

Código:
SQL> create tablespace ts datafile 'C:\ORACLE\ORADATA\10G\TS01.DBF' size 5m;

Tablespace creado.

SQL> alter tablespace ts add datafile 'C:\ORACLE\ORADATA\10G\TS03.DBF' size 5m;

Tablespace modificado.

SQL> alter tablespace ts offline;

Tablespace modificado.
En el sistema operativo

Código:
C:\oracle\oradata\10G>rename TS03.DBF TS02.DBF

C:\oracle\oradata\10G>
Otra vez en la base de datos

Código:
SQL> alter database rename file 'C:\ORACLE\ORADATA\10G\TS03.DBF' to 'C:\ORACLE\ORADATA\10G\TS02.DBF';

Base de datos modificada.

SQL> alter tablespace ts online;

Tablespace modificado.

SQL> select file_name from dba_data_files where tablespace_name = 'TS';

FILE_NAME
--------------------------------------------------------------------------------
C:\ORACLE\ORADATA\10G\TS01.DBF
C:\ORACLE\ORADATA\10G\TS02.DBF
¿En que version de Oracle estas?, creo recordar que era una 10g, si es asi

Código:
SQL> alter tablespace ts drop datafile 'C:\ORACLE\ORADATA\10G\TS02.DBF';

Tablespace modificado.
Pero para poder eliminar un datafile, tienes que estar seguro que no contiene datos.


EDITADO

Cita:
Mi intencion tampoco es renombrarlo.
Perdon por lo del renombrado, no lei esta parte.

Saludos