Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Errar es humano....

Estas en el tema de Errar es humano.... en el foro de Oracle en Foros del Web. Hola Señores del foro, Sin querer agregue un datafile a un TS que no necesitaba. Y estoy queriendo remendar el error ahora. lo que hice ...
  #1 (permalink)  
Antiguo 25/02/2008, 08:35
 
Fecha de Ingreso: noviembre-2007
Ubicación: Argentina
Mensajes: 134
Antigüedad: 16 años, 5 meses
Puntos: 3
Errar es humano....

Hola Señores del foro,

Sin querer agregue un datafile a un TS que no necesitaba. Y estoy queriendo remendar el error ahora.

lo que hice fue lo siguiente

Código:
alter database datafile nombre_data_file offline drop;
pero esto no elimino el datafile. Porque estoy tan empecinado el borrarlo ?
Es que cada nombre de los data_file hace mencion a su Ts, entonces tengo un datafile con nombre hourly en un ts daily.
Mi intencion tampoco es renombrarlo.

Gracias, por ayudar.

Saludos, Mario.
__________________
Y venció David al filisteo con honda y piedra; e hirió al filisteo y lo mató, sin tener David espada en su mano.
  #2 (permalink)  
Antiguo 25/02/2008, 09:14
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 5 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
  #3 (permalink)  
Antiguo 25/02/2008, 09:24
 
Fecha de Ingreso: noviembre-2007
Ubicación: Argentina
Mensajes: 134
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Errar es humano....

Cita:
Iniciado por matanga Ver Mensaje
offline drop es para iniciar la base de datos cuando se corrompe un datafile, de esto no hay vuelta atras.
A que te referis con Iniciar la base de datos???, el datafile que puse no tiene datos de ninguna clase.
No me hagas asustar amigo mio, puedo hacer lo que me pedis, pero es mucho laburo.

No puedo aplicar el drop datafile ahora ??.

Sldos Mario.
__________________
Y venció David al filisteo con honda y piedra; e hirió al filisteo y lo mató, sin tener David espada en su mano.
  #4 (permalink)  
Antiguo 25/02/2008, 09:32
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 5 meses
Puntos: 85
Re: Errar es humano....

Hola,

Imagina que se corrompe un datafile y que se cae la instancia, cuando haces un startup, se validan todos los SCN de los datafile, y uno por estar corrupto impide que la base de datos llegue al estado open, es decir queda montada, en esta caso, si no te importa lo que tenga el datafile, haces un offline drop, y despues un alter database open, para eso esta pensado el comando.

Ahora, este es el nuevo problema

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 database datafile 'C:\ORACLE\ORADATA\10G\TS03.DBF' offline drop;

Base de datos modificada.

SQL> alter tablespace ts drop datafile 'C:\ORACLE\ORADATA\10G\TS03.DBF';
alter tablespace ts drop datafile 'C:\ORACLE\ORADATA\10G\TS03.DBF'
*
ERROR en lÝnea 1:
ORA-03264: no se puede borrar el archivo de datos offline del tablespace
gestionado localmente
No puedes hacer un alter tablespace drop datafile de un tablespace o datafile que esta en estado offline.

En teoria, tendras acceso a los datos del tablespace, pero ese datafile quedara en estado offline drop para siempre, a menos que recrees el tablespace.

Saludos
  #5 (permalink)  
Antiguo 25/02/2008, 09:47
 
Fecha de Ingreso: noviembre-2007
Ubicación: Argentina
Mensajes: 134
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Errar es humano....

OK, te entendi, estamos bien entonces...
puedo vivir con ese datafile toda mi vida... es mas creo que ya lo estoy empezando a querer un poquito...

No, hablando en serio, voy a recrear nuevamente este TS antes de que crezca mas.

Muchas Gracias, amigo mio.

Saludos, Mario.
__________________
Y venció David al filisteo con honda y piedra; e hirió al filisteo y lo mató, sin tener David espada en su mano.
  #6 (permalink)  
Antiguo 25/02/2008, 09:55
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 5 meses
Puntos: 85
Re: Errar es humano....

Hola,

Cita:
es mas creo que ya lo estoy empezando a querer un poquito...
jajaja, ademas ya me siento mas acompañado, porque me mande la misma hace un tiempo atras :)


Saludos
  #7 (permalink)  
Antiguo 25/02/2008, 10:22
 
Fecha de Ingreso: noviembre-2007
Ubicación: Argentina
Mensajes: 134
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Errar es humano....

Te cuento que en un futuro no muy lejano, voy a necesitar añadir un datafile al TS daily, entonces...
podemos reactivar ese datafile que esta fuera de servicio, yo intente hacerle un online pero no le gusto, le gusta mas un recovery datafile, ya estuve leyendo algo del tema.

Se puede hacer eso y despues renombrarlo correctamente? Necesito hacerlo con permisos sysdba no es cierto?.

Saludos, Mario.
__________________
Y venció David al filisteo con honda y piedra; e hirió al filisteo y lo mató, sin tener David espada en su mano.
  #8 (permalink)  
Antiguo 25/02/2008, 10:31
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 5 meses
Puntos: 85
Re: Errar es humano....

Hola,

La idea del recovery es algo asi,

1. alter database datafile 'nombre' offline;
2. recover datafile 'nombre'; --aca es donde lee los redo online y archive.
3. alter database datafile 'nombre' online;

Para esto hay que tener la base de datos en modo archive, pero al momento que haces un offline drop (en modo archive o no), no hay vuelta atras. Voy a ver la documentacion de 10g, a ver si hay algun modo de salir, pero cuando me paso a mi, en la 9i, la unica forma documentada era recrear el tablespace.

Saludos
  #9 (permalink)  
Antiguo 25/02/2008, 10:35
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 5 meses
Puntos: 85
Re: Errar es humano....

Nop, sigue todo igual, el cambio fue de sintaxis, ahora te permite poner offline for drop

http://download.oracle.com/docs/cd/B...htm#sthref1371

No hay vuelta atras.

Saludos.
  #10 (permalink)  
Antiguo 25/02/2008, 10:43
 
Fecha de Ingreso: noviembre-2007
Ubicación: Argentina
Mensajes: 134
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Errar es humano....

Bueno amigo Matanga, le estoy muy agradecido y muchas gracias nuevamente por todos sus aportes.

Saludos, Mario.
__________________
Y venció David al filisteo con honda y piedra; e hirió al filisteo y lo mató, sin tener David espada en su mano.
  #11 (permalink)  
Antiguo 25/02/2008, 11:05
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 5 meses
Puntos: 85
Re: Errar es humano....

Cita:
Iniciado por Cesma Ver Mensaje
Alguien sabe algo al respecto?
Como dijo Saramago, "...Todo el mundo sabe algo al respecto de algo..."
  #12 (permalink)  
Antiguo 04/09/2008, 15:51
 
Fecha de Ingreso: septiembre-2008
Ubicación: lima
Mensajes: 1
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Errar es humano....

hola tengo un problema relacionado con el tem a

lo que sucede es que por error se puso los datafiles de un tablespace en modo offline
y cuando quise volvrlo a modo online

me sale el siguiente mensaje
Failed to commit: ORA-01113: file 6 needs media recovery ORA-01110: data file 6: 'E:\ORACLE\10.2.0\ORADATA\TBS_DAT_SGBD_01.DBF'

he tratado de hacer un recover
pero no ha funcionado; hice lo siguiente y me salio lo siguiente
SQL> recover datafile 11;

recover datafile 11

ORA-00900: invalid SQL statement

actualmente la base de datos se encuentra en modo archive

no se exactamente cual es el procedimiento de recuperar el datafile
alguien podria enviarme alguna ayuda
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:27.