Publicado el Dejar un comentario

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!

Publicado el Dejar un comentario

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!