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

Exportar de Oracle 9.2 a Oracle 11

Estas en el tema de Exportar de Oracle 9.2 a Oracle 11 en el foro de Oracle en Foros del Web. Buenas Noches Amigos !! mi problema es el siguiente siempre he trabajado administrado mysql y postgres pero oracle jamas tuve la oportunidad ahora tengo un ...
  #1 (permalink)  
Antiguo 22/03/2009, 17:44
Avatar de Energy  
Fecha de Ingreso: abril-2002
Ubicación: Juangriego, Margarita
Mensajes: 468
Antigüedad: 22 años
Puntos: 0
Exportar de Oracle 9.2 a Oracle 11

Buenas Noches Amigos !!

mi problema es el siguiente siempre he trabajado administrado mysql y postgres pero oracle jamas tuve la oportunidad ahora tengo un servidor con oracle 9.2 en produccion , y estoy montando uno en 11G para pasarlo a produccion.

como comente conozco poco del tema. logre instalarlo, cree una base de datos configure el TNS Listener , hize las pruebas con Scott/tiger , configure los tablespace, configure los usuarios. ahora yo desde la 9.2 hago un

exp user/pass full=yes file=dump.db

pero a la hora de importar en la 11, me dice que muchas cosas ya existen, alguien que me pueda orientar porque segui algunso tutoriales en internet pero ninguno me ha ayudado , probe desde el panel web el importar desde archivo y opte por la opcion seleccionar tablas a importar, pero resulta que nunca paso de explorar el archivo se quedo todo un dia explorando el archivo

alguien que me pueda echar una mano se lo agradezco !!!
__________________
Gabriel Ferragut
Energy Systems
Linux Registered User Nº #292911
  #2 (permalink)  
Antiguo 23/03/2009, 01:55
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 6 meses
Puntos: 85
Respuesta: Exportar de Oracle 9.2 a Oracle 11

Dos temas, el primero es la compatibilidad de export / import entre diferentes versiones de Oracle, segun metalink para pasar de 9i a 11g debes hacer el export y el import con los binarios de la 9i.

En segundo lugar, un export / import full siempre te va a dar errores sobre objetos que ya existen, lo que puedes hacer es generar en la importación un log y evaluar si los errores son aceptables o no. Otra opcion es hacer la migración por usuarios, esto es mas facil cuando no hay integridad referencial entre esquemas.

Por ejemplo, para exportar

Código:
exp system/pass@9i file=user1.dmp owner=user1
Para importar, primero hay que crear el usuario en la base de datos 11g y otorgarle los permisos necesarios

Código:
imp system/pass@11g file=user1.dmp fromuser=user1 touser=user1 log=import.log
Saludos
  #3 (permalink)  
Antiguo 23/03/2009, 07:10
Avatar de Energy  
Fecha de Ingreso: abril-2002
Ubicación: Juangriego, Margarita
Mensajes: 468
Antigüedad: 22 años
Puntos: 0
Respuesta: Exportar de Oracle 9.2 a Oracle 11

Gracias por la info luego comento por aqui como me fue
Saludos
__________________
Gabriel Ferragut
Energy Systems
Linux Registered User Nº #292911
  #4 (permalink)  
Antiguo 23/03/2009, 18:27
Avatar de Energy  
Fecha de Ingreso: abril-2002
Ubicación: Juangriego, Margarita
Mensajes: 468
Antigüedad: 22 años
Puntos: 0
Respuesta: Exportar de Oracle 9.2 a Oracle 11

Gracias por La info en efecto al hacer la importacion para cada uno de los tres usuarios me funciono perfectamente !!

ahora otra duda si yo acabo de importar toda mi data , pero cuando vaya a colocar el server en produccion debo hacer la exp/imp final ,esta solo fue de prueba, como hago en oracle para borra la data, borrando los table space de cada usuario quedaria en blanco y puedo volver a importar ?

Saludos
Gracias
__________________
Gabriel Ferragut
Energy Systems
Linux Registered User Nº #292911
  #5 (permalink)  
Antiguo 24/03/2009, 01:03
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 6 meses
Puntos: 85
Respuesta: Exportar de Oracle 9.2 a Oracle 11

Borrar los tablespaces no es lo más recomendado, ya que no hay relación entre tablespace / usuario, es decir, un usuario podría tener sus tablas en diferentes tablespaces y un tablespace podría contener tablas de diferentes usuarios.

Opción 1, borrar el usuario y volver a crearlo (no te olvides de otorgarle nuevamente los permisos que tenga).

Código:
drop user <user_name> cascade;
Opción 2, con un script, borrar todos las tablas de los usuarios, esto es solo un ejemplo

Código:
begin
 for c in (select owner, table_name from dba_tables where owner = 'USER1') loop
  execute immediate 'drop table '|| c.owner || '.' || c.table_name || ' cascade constraints';
 end loop;
 end;
/
Saludos
  #6 (permalink)  
Antiguo 24/03/2009, 01:34
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 16 años, 10 meses
Puntos: 43
Respuesta: Exportar de Oracle 9.2 a Oracle 11

Y si me permitís la licencia.

Al DROP TABLE se puede añadir la coletilla " purge " para eliminar totalmente las tablas. De lo contrario se quedarán en la papelera de reciclaje.
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 23:47.