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

Importar Base de Datos Oracle

Estas en el tema de Importar Base de Datos Oracle en el foro de Oracle en Foros del Web. Buen Dia. Soy novato en el tema de oracle y quisiera saber si me pueden colaborar con lo siguiente: Tengo una base de datos oracle ...
  #1 (permalink)  
Antiguo 04/03/2008, 11:00
 
Fecha de Ingreso: marzo-2008
Mensajes: 3
Antigüedad: 16 años, 8 meses
Puntos: 0
Importar Base de Datos Oracle

Buen Dia.

Soy novato en el tema de oracle y quisiera saber si me pueden colaborar con lo siguiente:

Tengo una base de datos oracle 8.0.4.0 sobre windows Nt, se que estoy muy atrás con las versiones, pero en el momento no puedo cambiarme.

Cada noche hago un backup de la información asi:
exp80 salud/salud buffer = 4096 file= Salud.dmp Log = Salud.log

Este usuario tiene alrededor de 1500 objetos (tablas, vistas, procedimientos, etc) y al generar el la exportación el archivo Salud.dmp queda mas o menos de 15 Gigas.

Adicional a esto tengo un servidor con las mismas características y cada mes debo importar la información del servidor de producción a este, proceso que hago sin

problema en mas o menos 76 horas asi:
dropeo los objetos y ejecuto:
IMP80 salud/salud@PRUEBA FILE=Salud.dmp LOG=SUBIR.LOG FULL=Y COMMIT=Y IGNORE=Y

La inquietud es si hay forma de importar con FULL = Y, pero excluir algunas tablas que no necesito y que son muy pesadas.

Adicional a esto es si hay forma de actualizar en linea los dos servidores, o como podria tener actualizado el servidor de contingencia con respecto al de producción.

Agradezco su colaboración.


Alejandro Cardona J.
[email protected]
  #2 (permalink)  
Antiguo 04/03/2008, 11:16
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 17 años
Puntos: 85
Re: Importar Base de Datos Oracle

Hola,

Si el segundo servidor es de contigencias, es decir, quieres tenerlo actualizado segundo a segundo en caso que el servidor de produccion tenga un fallo, tu mejor opcion es leer sobre Stand By Database.

El tema es muy extenso, pero la idea es tener dos bases de datos, estando la de produccion en modo archive, por cada log que se genere en produccion, Oracle lo aplica inmediatamente en la base de datos Stand By. La limitacion de esto es que la base de datos Stand By es de solo lectura, hasta que se caiga la de produccion, claro.

Si el segundo servidor contiene una base de datos de testing, y replicas la informacion con propositos de desarrollo, mejor que hacer un export/import, es copiar todos los datafiles, control files, redo log, etc. El problema de esto es que necesitas detener la instancia de Produccion para hacer un backup en frio, ademas de que el sistema operativo de los dos servidores tiene que ser el mismo.

Saludos
  #3 (permalink)  
Antiguo 04/03/2008, 13:21
 
Fecha de Ingreso: marzo-2008
Mensajes: 3
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Importar Base de Datos Oracle

Gracias por la respuesta estudiare sobre Stand By Database.

Pero la verdad es que el servidor de contingencia lo necesito de lectura y escritura ya que sobre el desarrollo y hago las pruebas; y en cuanto a los backup en frio me queda muy duro ya que la base de datos es de una entidad de salud la cual funciona 7x24, por eso me toca a punta de import/export

No se si se pueda hacer el import FULL pero excluyendo algunas tablas.

Saludos y de nuevo gracias.
  #4 (permalink)  
Antiguo 04/03/2008, 13:48
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 17 años
Puntos: 85
Re: Importar Base de Datos Oracle

Hola,

Cita:
No se si se pueda hacer el import FULL pero excluyendo algunas tablas.
No, esto no se puede hacer, lo que puedes hacer es un export/import un poco mas elaborado, para reducir la cantidad de trabajo.

1. ¿Es necesario pasar todos los objetos (packages, procedures, triggers), o solo tablas?
Si la respuesta es no, entonces solo exporta la lista de tablas e importas en destino.

2. ¿Es necesario hacer un drop de todos los objetos de la base de destino antes de importar?
Si la respuesta es no, puedes truncar la tablas antes de importar, y para todo lo que es codigo pl/sql, el import hace un replace.
Si la respuesta es si, puedes hacer un drop de todos los esquemas y luego importar el full pero sin datos, con el parametro rows=n, la idea de esto sera dividir el import en dos partes, import de objetos e import de tablas que te interesan.

Por ultimo, si quieres importar un conjunto de tablas que pueden estar relacionadas con otras a traves de foreigns keys, los pasos serian

1. Disable de todas las FKs.
2. Disable de los triggers.
3. Truncate de las tablas a importar.
4. Import de tablas.
5. Enable de todas las FKs
6. Enable de los triggers.


Si la lista de tablas es muy grande, recuerda que el import/export tiene el parametro parfile=fichero.par donde puedes indicar parametros, dentro de estos parametros puede estar la lista de tablas, asi solo lo tendras que escribir una sola vez.

Saludos

Última edición por matanga; 05/03/2008 a las 03:31 Razón: Estaba muy mal desarrollado
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 14:07.