Pregunta

He hecho después de Comands:

expdp system/password@localdb ^
schemas=SCH directory=dumps_dir dumpfile=SCH_%date%.dmp logfile=expdpSCH_%date%.log

Se ejecuta genial, sin errores.Pero cuando uso el comando:

impdp system/password@localdb ^
schemas=SCH directory=dumps_dir dumpfile=SCH_%date%.dmp logfile=impdpSCH_%date%.log

Me dio un montón de errores que ya existen mesas, secuencias y otras cosas.Así que tengo una pregunta, ¿podría usar tal enfoque o está mal y debería usar algo más?

¿Fue útil?

Solución

Revise la documentación de más información o escriba impdp help=y.Hay un parámetro ( table_exists_action ) que define si desea sobrescribir los objetos existentes o si desea agregar.

table_exists_action
Acción a tomar si el objeto importado ya existe.
Las palabras clave válidas son: Anexar, reemplazar, [Skip] y truncar.

Otros consejos

No, eso no es una forma posible:

  • La mayoría de los objetos que no son de mesa ya existirán en su esquema.Ya obtienes tales mensajes de error.La importación no lo sobrescribirá.
  • Puede configurar cómo debería funcionar la exportación si ya existe una tabla, pero si hay una tabla que es referenciada por otra tabla, luego luego truncar y reemplazar no funcionará.
  • Incluso si no hay una referencia de clave extranjera a un índice de tabla reducirá la importación dramáticamente
  • puede ocurrir muchos otros problemas (con respecto a los desencadenantes, particiones, referencias a otras tablas y tal vez más)

Por lo tanto, la única forma razonable de sincronizar el esquema utilizando EXPDP / IMPDP es dejar caer el esquema antes de importar.

Si no desea eliminar el esquema por alguna razón, pero reemplace los datos de las tablas, son necesarias muchas operaciones adicionales.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a dba.stackexchange
scroll top