Feb 5, 2018

Error al ejecutar datapatch: "make_path" is not exported by the File::Path module (Doc ID 1904046.1)






Estimados,

 les dejo un Tips de un error que ocurre a menudo cuando se aplica datapatch. Cuando se va a aplicar un parche de base de datos (el paso de ejecutar el datapatch) es un error comun ver el siguiente mensaje (sobre todo en ambientes con bastantes ORACLE_HOME o más de alguna versión distinta del motor de base de datos):

laboratorio01[/oracle/app/oracle/product/12.1.0/db_1/OPatch] ./datapatch
"make_path" is not exported by the File::Path module
Can't continue after import errors at /oracle/app/oracle/product/12.1.0/db_1/sqlpatch/sqlpatch.pm line 166
BEGIN failed--compilation aborted at /oracle/app/oracle/product/12.1.0/db_1/sqlpatch/sqlpatch.pm line 166.
Compilation failed in require at /oracle/app/oracle/product/12.1.0/db_1/sqlpatch/sqlpatch.pl line 67.
BEGIN failed--compilation aborted at /oracle/app/oracle/product/12.1.0/db_1/sqlpatch/sqlpatch.pl line 67.


El anterior mensaje sucede cuando no estamos ejecutando correctamente el comando anterior con las variables de ambiente de acuerdo a la instalación que nos corresponde. En mi caso me pasaba que las siguientes variables de ambiente se encontraban apuntando a un ORACLE_HOME distinto. Por lo que se sugiere revisar que estas variables apunten correctamente al ORACLE_HOME sobre el cual existe la base de datos que parcharemos:
export PERL5LIB=/oracle/app/oracle/product/12.1.0/db_1/perl/lib
export PERLBIN=/oracle/app/oracle/product/12.1.0/db_1/perl/bin

Ver la siguiente nota como referencia:
datapatch -verbose fails with error "Perl lib version (5.10.0) doesn’t match executable version (v5.14.1) " (Doc ID 1904046.1)

Luego de declaradas las variables de ambiente PERL5LIB y PERLBIN como corresponde el datapatch funcionará sin problemas.

No comments:

Post a Comment