2012-08-06 29 views
6

Tengo un volcado de una enorme base de datos de oráculos por lo que es imposible importarlo todo. Quiero importar una tabla específica llamada X. El problema es que X tiene claves foráneas. Si importo solo X, voy a tener el siguiente error:Importar tablas específicas del archivo de volcado de oráculo?

imp user/[email protected] tables=X rows=y ignore=Y 
ORA-02291: integrity constraint violated - parent key not found 

que ya tienen toda la db localmente (sin datos), quiero importar todas las tablas que se asocian a X. ¿Cómo puedo lograr que ? Tengo plsql instalado. También necesito saber el orden de estas tablas para saber qué importar al principio.

Respuesta

1

Hay algunas preguntas así que voy a tratar de responder una por una.

ORA-02291: integrity constraint violated - parent key not found 

obviedad de adivinar esto porque como usted sabe que no tiene registro padre para la tabla X. Por cierto que también desee utilizar el indicador de CONSTRAINTS=N porque ya tiene db como usted ha dicho.

"Quiero importar todas las tablas que están asociadas a X. ¿Cómo puedo lograr eso?"

Bueno, no hay otra opción que encontrar todas las dependencias manualmente (o usar las tablas del diccionario de datos user_cons_columns, user_constraints etc. para buscar) e importar esas tablas también. Piensa en eso si no haces eso. Romperás la integridad de tus datos. Si aún desea los datos en la tabla X sin dependencias, desactive las restricciones y luego importe. Pero no volverá a habilitar su restricción y no sé qué quiere hacer con los datos rotos.

"También necesito saber el orden de estas tablas para saber qué importar al principio".

Desactive las restricciones antes de la importación y luego habilítelas después de la importación. No tiene que preocuparse por el orden en ese caso.

Cuestiones relacionadas