KUP-11011: the following file is not valid for this load operation

Al tratar de recuperar un archivo de respaldo de múltiples archivos de oracle con el comando impdp este marcaba error y no recuperaba el respaldo.

Dentro de los errores que me aparecían estaban los siguientes:

KUP-11011: the following file is not valid for this load operation
KUP-11014: internal metadata in file /data/backups/respaldo_03.dmp is not valid

Al parecer es un bug de Oracle en la versión 12.1.0.2.0. Para que funcionara correctamente la importación tuve que agregar el parámetro

ACCESS_METHOD=DIRECT_PATH

A los parámetros del comando impdp quedando de esta forma la llamada:

impdp system/******* remap_schema=ESQUEMA1:ESQUEMA2 tables=ESQUEMA1.TABLA directory=RESPALDOS parallel=5 dumpfile=respaldo_%U.dmp logfile=respaldo.log full=N TABLE_EXISTS_ACTION=REPLACE ACCESS_METHOD=DIRECT_PATH

De esta forma la importación de la tabla dejó de marcar el error descrito arriba.

Espero les sea útil. ¡Hasta pronto!

Cómo usar LIKE para comparar dos campos o columnas en Oracle.

Por lo regular, al usar el operador LIKE en una sentencia sql, lo comparamos con una cadena de texto, por ejemplo:

SELECT * FROM employees WHERE first_name LIKE '%ll%'; 

En el ejemplo anterior, obtendríamos todas las filas o registros de la tabla “employees” que contengan en su campo o columna “first_name” una doble ele minúscula.

Ahora, ¿qué tal si en lugar de escribir directamente el texto “ll” quisiéramos usar un campo o columna? Entonces tendríamos que usar el operador lógico LIKE de la siguiente forma:

...first_name LIKE '%' || nombre_del_campo_a_comparar || '%';

Donde “nombre_del_campo_a_comparar” es la columna o campo de tipo cadena de una tabla. El operador “||” en oracle, sirve para concatenar cadenas.

Bueno espero y esta entrada les sea de utilidad.

¡Hasta pronto!