cp $STAGE_AREA/21972320/18203838/files/lib/libnnz11.so $ORACLE_HOME/lib/libnnz11.so cp: $ORACLE_HOME/lib/libnnz11.so: Text file busy

oracle-11g-logo

Estava aplicando o CPUJan2016 em um banco de dados Oracle 11.2.0.4 quando durante a execução do opatch, recebi o seguinte erro:

cp $STAGE_AREA/21972320/18203838/files/lib/libnnz11.so $ORACLE_HOME/lib/libnnz11.so cp: $ORACLE_HOME/lib/libnnz11.so: Text file busy

O interessante é que na mensagem do próprio erro ele faz uma menção a uma nota do metalink exatamente do tipo de plataforma que eu estava utilizando , AIX.

Copy failed from ‘$STAGE_AREA/21972320/18203838/files/lib/libnnz11.so’ to ‘$ORACLE_HOME/lib/libnnz11.so’…
Please verify all applications associated with the Oracle Home ‘$ORACLE_HOME’ are shut down. If this is AIX, please perform solution documented in Note 739963.1 on https://myoraclesupport.oracle.com.

Assim, não foi diíficil resolver o problema, que consistiu nos seguintes passos utilizando a nota já mencionada “Using AIX commands genld, genkld and slibclean to avoid library file locking errors (libjox) (Doc ID 739963.1)”:

  1. Identificar os arquivos que estão “locados” (Por questões de confidencialidade , que eu sempre sigo aqui no blog, considere a ORACLE_HOME como o caminho do ORACLE_HOME do seu banco de dados :


$] genld -l | grep ORACLE_HOME
 900000014f6c000 ORACLE_HOME/lib/libdbcfg11.so
 900000014f54000 ORACLE_HOME/lib/libclsra11.so
 900000014d45000 ORACLE_HOME/lib/libocrb11.so
 900000014ca4000 ORACLE_HOME/lib/libocr11.so
 900000014603000 ORACLE_HOME/lib/libhasgen11.so
 9000000145f6000 ORACLE_HOME/lib/libocrutl11.so
 900000006f0a000 ORACLE_HOME/lib/libskgxn2.so
 9000000142a5000 ORACLE_HOME/lib/libnnz11.so
 9000000114c7000 ORACLE_HOME/lib/libttsh11.so
 9000000114af000 ORACLE_HOME/lib/libons.so

$] genkld | grep ORACLE_HOME
 9000000040b1000 b1cf  ORACLE_HOME/jdk/jre/bin/libnio.a
 900000004090000 20c36 ORACLE_HOME/jdk/jre/bin/libnet.a
 900000004078000 17840 ORACLE_HOME/jdk/jre/bin/libzip.a
 900000004055000 21708 ORACLE_HOME/jdk/jre/bin/libj9ute23.so
 900000004040000 14a1f ORACLE_HOME/jdk/jre/bin/libiverel23.so
 900000003fd6000 69b64 ORACLE_HOME/jdk/jre/bin/libjclscar_23.so
 900000003fb1000 243de ORACLE_HOME/jdk/jre/bin/libj9vrb23.so
 900000003f7c000 3404a ORACLE_HOME/jdk/jre/bin/libj9jvmti23.so
 900000003f4d000 2ed44 ORACLE_HOME/jdk/jre/bin/libj9dyn23.so
 900000003eb3000 99873 ORACLE_HOME/jdk/jre/bin/libj9gc23.so
 900000003e9b000 17a91 ORACLE_HOME/jdk/jre/bin/libj9bcv23.so
 9000000039e3000 4b7279 ORACLE_HOME/jdk/jre/bin/libj9jit23.so
 9000000039d2000 10f07 ORACLE_HOME/jdk/jre/bin/libj9trc23.so
 900000003993000 2cd1f ORACLE_HOME/jdk/jre/bin/libj9dmp23.so
 9000000039c0000 11bb3 ORACLE_HOME/jdk/jre/bin/libj9zlib23.so
 900000003959000 37b96 ORACLE_HOME/jdk/jre/bin/libjava.a
 900000003991000 1d41 ORACLE_HOME/jdk/jre/bin/libwrappers.a
 900000003894000 70780 ORACLE_HOME/jdk/jre/bin/libj9vm23.so
 900000003905000 534c0 ORACLE_HOME/jdk/jre/bin/libj9prt23.so
 900000000467000 1d37 ORACLE_HOME/jdk/jre/bin/libj9hookable23.so
 900000003868000 1cde3 ORACLE_HOME/jdk/jre/bin/j9vm/libjvm.so
 900000003888000 bf62 ORACLE_HOME/jdk/jre/bin/libj9thr23.so
 900000003885000 214b ORACLE_HOME/jdk/jre/bin/libjsig.so
 900000003858000 f802 ORACLE_HOME/jdk/jre/bin/classic/libjvm.so
 9000000037ab100 ac2f3 ORACLE_HOME/lib/libobk.a[shr.o]
 90000000c8c5000 252429e ORACLE_HOME/lib/libclntsh.so
 900000014f6c000 141a3 ORACLE_HOME/lib/libdbcfg11.so
 900000014f54000 17eb6 ORACLE_HOME/lib/libclsra11.so
 900000014d45000 20ef63 ORACLE_HOME/lib/libocrb11.so
 900000014ca4000 a0f25 ORACLE_HOME/lib/libocr11.so
 900000014603000 6a0dc1 ORACLE_HOME/lib/libhasgen11.so
 9000000145f6000 cb95 ORACLE_HOME/lib/libocrutl11.so
 900000006f0a000 1d7d ORACLE_HOME/lib/libskgxn2.so
 9000000114c7000 2ddd834 ORACLE_HOME/lib/libttsh11.so
 9000000114af0001701f ORACLE_HOME/lib/libons.so
 9000000142a5000 3508c9 ORACLE_HOME/lib/libnnz11.so
 90000000edea000 cf4de ORACLE_HOME/lib/libskgxp11.so


2.STOP do banco de dados associado ao ORACLE_HOME em questão e todos os demais utilitários associado a ele, como por exemplo, o LISTENER.
 

3.Execute o comando abaixo com o usuário root:

 

/usr/sbin/slibclean

4.Reprocesse o patch

opatch napply -skip_subset -skip_duplicate

Espero ter ajudado!

kindregards

Related posts

Leave a Comment