Tentativa de deletar uma Working Copy no Fleet Patching and Provisioning falhou com seguinte erro:
[oracle@lab01 ~]$ cd /u01/app/oracle/product/19.11.0.0/db_1/deinstall [oracle@lab01 deinstall]$ ./deinstall Checking for required files and bootstrapping ... Please wait ... Location of logs /u01/app/oraInventory/logs/ ############ ORACLE DECONFIG TOOL START ############ ######################### DECONFIG CHECK OPERATION START ######################### ## [START] Install check configuration ## Checking for existence of the Oracle home location /u01/app/oracle/product/19.11.0.0/db_1 Oracle Home type selected for deinstall is: Oracle Single Instance Database Oracle Base selected for deinstall is: /u01/app/oracle Checking for existence of central inventory location /u01/app/oraInventory ## [END] Install check configuration ## Network Configuration check config START Network de-configuration trace file location: /u01/app/oraInventory/logs/netdc_check2021-08-12_09-52-09PM.log Network Configuration check config END Database Check Configuration START Database de-configuration trace file location: /u01/app/oraInventory/logs/databasedc_check2021-08-12_09-52-09PM.log Use comma as separator when specifying list of values as input Specify the list of database names that are configured in this Oracle home []: Database Check Configuration END ######################### DECONFIG CHECK OPERATION END ######################### ####################### DECONFIG CHECK OPERATION SUMMARY ####################### Oracle Home selected for deinstall is: /u01/app/oracle/product/19.11.0.0/db_1 Inventory Location where the Oracle home registered is: /u01/app/oraInventory Do you want to continue (y - yes, n - no)? [n]: y A log of this session will be written to: '/u01/app/oraInventory/logs/deinstall_deconfig2021-08-12_09-52-08-PM.out' Any error messages from this session will be written to: '/u01/app/oraInventory/logs/deinstall_deconfig2021-08-12_09-52-08-PM.err' ######################## DECONFIG CLEAN OPERATION START ######################## Database de-configuration trace file location: /u01/app/oraInventory/logs/databasedc_clean2021-08-12_09-52-09PM.log Network Configuration clean config START Network de-configuration trace file location: /u01/app/oraInventory/logs/netdc_clean2021-08-12_09-52-09PM.log De-configuring backup files... Backup files de-configured successfully. The network configuration has been cleaned up successfully. Network Configuration clean config END ######################### DECONFIG CLEAN OPERATION END ######################### ####################### DECONFIG CLEAN OPERATION SUMMARY ####################### ####################################################################### ############# ORACLE DECONFIG TOOL END ############# Using properties file /tmp/deinstall2021-08-12_09-52-00PM/response/deinstall_2021-08-12_09-52-08-PM.rsp Location of logs /u01/app/oraInventory/logs/ ############ ORACLE DEINSTALL TOOL START ############ ####################### DEINSTALL CHECK OPERATION SUMMARY ####################### A log of this session will be written to: '/u01/app/oraInventory/logs/deinstall_deconfig2021-08-12_09-52-08-PM.out' Any error messages from this session will be written to: '/u01/app/oraInventory/logs/deinstall_deconfig2021-08-12_09-52-08-PM.err' ######################## DEINSTALL CLEAN OPERATION START ######################## ## [START] Preparing for Deinstall ## Setting LOCAL_NODE to lab01 Setting CRS_HOME to false Setting oracle.installer.invPtrLoc to /tmp/deinstall2021-08-12_09-52-00PM/oraInst.loc Setting oracle.installer.local to false ERROR: oracle/rat/tfa/util/ManageTfa Exited from program. ############# ORACLE DEINSTALL TOOL END #############
Erro gravado no log:
[oracle@lab01 deinstall]$ cat /u01/app/oraInventory/logs/deinstall_deconfig2021-08-12_09-52-08-PM.err
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at oracle.install.db.deinstall.wrapper.Deinstall.callCleanImpl(Deinstall.java:1876)
at oracle.install.db.deinstall.wrapper.Deinstall.main(Deinstall.java:907)
Caused by: java.lang.NoClassDefFoundError: oracle/rat/tfa/util/ManageTfa
at oracle.install.db.deinstall.core.PrepForOUIDeinstall.cleanConfig(PrepForOUIDeinstall.java:187)
... 6 more
Caused by: java.lang.ClassNotFoundException: oracle.rat.tfa.util.ManageTfa
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
... 7 more
Causa
Todas as as tentativa de deinstalar o Oracle Database com Release Update 11 e 12 falham devido ao bug “BUG 32900208 – DELETING 19C SE DBHOME FAILED WITH ERROR JAVA.LANG.NOCLASSDEFFOUNDERROR: ORACLE/RAT/TFA/UTIL/MANAGETFA“.
Referência:
19c Database Home Deinstall Fails Due To 19.11DBRU or 19.12DBRU with error JAVA.LANG.NOCLASSDEFFOUNDERROR: ORACLE/RAT/TFA/UTIL/MANAGETFA (Doc ID 2784544.1)
Solução
A solução mais elegante é aplicar o patch 32900208, mas isso só vale a pena o esforço se houver alguma automação que faz desinstalação dos DB Homes quando eles não são mais necessários. Por exemplo, com uso do Fleet Patching and Provisioning, é interessante ter esse patch aplicado na Gold Image para evitar erros ao tentar deletar Working Copies com 19cRU11 e 19cRU12.
Para uma solução mais rápida, basta fazer rollback do patch 32545013 (19.11.0.0.210420) ou do patch 32904851 (19.12.0.0.210720).
Exemplo:
[oracle@lab01 deinstall]$ cd /u01/app/oracle/product/19.11.0.0/db_1/OPatch [oracle@lab01 OPatch]$ ./opatch lspatches 32579761;OCW RELEASE UPDATE 19.11.0.0.0 (32579761) 32545013;Database Release Update : 19.11.0.0.210420 (32545013) OPatch succeeded.
Fazendo rollback do patch 19.11.0.0.210420 (32545013) :
[oracle@lab01 OPatch]$ ./opatch rollback -id 32545013 Oracle Interim Patch Installer version 12.2.0.1.25 Copyright (c) 2021, Oracle Corporation. All rights reserved. Oracle Home : /u01/app/oracle/product/19.11.0.0/db_1 Central Inventory : /u01/app/oraInventory from : /u01/app/oracle/product/19.11.0.0/db_1/oraInst.loc OPatch version : 12.2.0.1.25 OUI version : 12.2.0.7.0 Log file location : /u01/app/oracle/product/19.11.0.0/db_1/cfgtoollogs/opatch/opatch2021-08-12_21-56-28PM_1.log Patches will be rolled back in the following order: 32545013 The following patch(es) will be rolled back: 32545013 Please shutdown Oracle instances running out of this ORACLE_HOME on the local system. (Oracle Home = '/u01/app/oracle/product/19.11.0.0/db_1') Is the local system ready for patching? [y|n] y User Responded with: Y Rolling back patch 32545013... RollbackSession rolling back interim patch '32545013' from OH '/u01/app/oracle/product/19.11.0.0/db_1' Patching component oracle.rdbms.rsf, 19.0.0.0.0... Deleting "kubsorccore.o" from archive "/u01/app/oracle/product/19.11.0.0/db_1/lib/libclient19.a" Deleting "kubsorcppd.o" from archive "/u01/app/oracle/product/19.11.0.0/db_1/lib/libclient19.a" Deleting "kubsutl.o" from archive "/u01/app/oracle/product/19.11.0.0/db_1/lib/libclient19.a" Deleting "kubsbdcore.o" from archive "/u01/app/oracle/product/19.11.0.0/db_1/lib/libclient19.a" Deleting "kubsbd.o" from archive "/u01/app/oracle/product/19.11.0.0/db_1/lib/libclient19.a" Deleting "kubsorcpb.o" from archive "/u01/app/oracle/product/19.11.0.0/db_1/lib/libclient19.a" Deleting "kubsbufio.o" from archive "/u01/app/oracle/product/19.11.0.0/db_1/lib/libclient19.a" Deleting "kpuadg.o" from archive "/u01/app/oracle/product/19.11.0.0/db_1/lib/libclient19.a" Deleting "kubscrf.o" from archive "/u01/app/oracle/product/19.11.0.0/db_1/lib/libclient19.a" Deleting "qcpi8.o" from archive "/u01/app/oracle/product/19.11.0.0/db_1/lib/libgeneric19.a" Deleting "qsodamd.o" from archive "/u01/app/oracle/product/19.11.0.0/db_1/lib/libgeneric19.a" Deleting "skgzepclib.o" from archive "/u01/app/oracle/product/19.11.0.0/db_1/lib/libgeneric19.a" Deleting "kgoms.o" from archive "/u01/app/oracle/product/19.11.0.0/db_1/lib/libgeneric19.a" Deleting "skgzibr.o" from archive "/u01/app/oracle/product/19.11.0.0/db_1/lib/libgeneric19.a" Deleting "skgrlib.o" from archive "/u01/app/oracle/product/19.11.0.0/db_1/lib/libgeneric19.a" Deleting "skgzfndd.o" from archive "/u01/app/oracle/product/19.11.0.0/db_1/lib/libgeneric19.a" Deleting "skgrlib_ipcdat.o" from archive "/u01/app/oracle/product/19.11.0.0/db_1/lib/libgeneric19.a" Deleting "qesdsbc.o" from archive "/u01/app/oracle/product/19.11.0.0/db_1/lib/libcommon19.a" Deleting "qesxldsb.o" from archive "/u01/app/oracle/product/19.11.0.0/db_1/lib/libcommon19.a" Deleting "skfparity.o" from archive "/u01/app/oracle/product/19.11.0.0/db_1/lib/libcommon19.a" Deleting "psonal.o" from archive "/u01/app/oracle/product/19.11.0.0/db_1/lib/libplc19_pic.a" Deleting "psunal.o" from archive "/u01/app/oracle/product/19.11.0.0/db_1/lib/libplc19_pic.a" Patching component oracle.rdbms.util, 19.0.0.0.0... Patching component oracle.rdbms, 19.0.0.0.0... Deleting "kpdbapx.o" from archive "/u01/app/oracle/product/19.11.0.0/db_1/lib/libserver19.a" Deleting "ktbdat.o" from archive "/u01/app/oracle/product/19.11.0.0/db_1/lib/libserver19.a" Deleting "kubsbufio.o" from archive "/u01/app/oracle/product/19.11.0.0/db_1/lib/libserver19.a" Deleting "kcert.o" from archive "/u01/app/oracle/product/19.11.0.0/db_1/lib/libserver19.a" Deleting "kubsd.o" from archive "/u01/app/oracle/product/19.11.0.0/db_1/lib/libserver19.a" Deleting "kbclgdr.o" from archive "/u01/app/oracle/product/19.11.0.0/db_1/lib/libserver19.a" Deleting "kbcs.o" from archive "/u01/app/oracle/product/19.11.0.0/db_1/lib/libserver19.a" Deleting "kge.o" from archive "/u01/app/oracle/product/19.11.0.0/db_1/lib/libserver19.a" Deleting "qjsntrans.o" from archive "/u01/app/oracle/product/19.11.0.0/db_1/lib/libserver19.a" Deleting "kqro.o" from archive "/u01/app/oracle/product/19.11.0.0/db_1/lib/libserver19.a" Deleting "kpoxcd.o" from archive "/u01/app/oracle/product/19.11.0.0/db_1/lib/libserver19.a" Deleting "ksmpgaum.o" from archive "/u01/app/oracle/product/19.11.0.0/db_1/lib/libserver19.a" Patching component oracle.assistants.acf, 19.0.0.0.0... Patching component oracle.assistants.deconfig, 19.0.0.0.0... Patching component oracle.assistants.server, 19.0.0.0.0... Patching component oracle.buildtools.rsf, 19.0.0.0.0... Patching component oracle.ctx, 19.0.0.0.0... Patching component oracle.dbjava.ic, 19.0.0.0.0... Patching component oracle.dbjava.jdbc, 19.0.0.0.0... Patching component oracle.dbjava.ucp, 19.0.0.0.0... Patching component oracle.dbtoolslistener, 19.0.0.0.0... Patching component oracle.duma, 19.0.0.0.0... Patching component oracle.javavm.client, 19.0.0.0.0... Patching component oracle.ldap.owm, 19.0.0.0.0... Patching component oracle.ldap.rsf, 19.0.0.0.0... Patching component oracle.marvel, 19.0.0.0.0... Patching component oracle.network.rsf, 19.0.0.0.0... Patching component oracle.oracore.rsf, 19.0.0.0.0... Patching component oracle.precomp.common.core, 19.0.0.0.0... Patching component oracle.rdbms.dbscripts, 19.0.0.0.0... Patching component oracle.rdbms.deconfig, 19.0.0.0.0... Patching component oracle.rdbms.oci, 19.0.0.0.0... Patching component oracle.rhp.db, 19.0.0.0.0... Patching component oracle.sdo, 19.0.0.0.0... Patching component oracle.sdo.locator.jrf, 19.0.0.0.0... Patching component oracle.sqlplus, 19.0.0.0.0... Patching component oracle.wwg.plsql, 19.0.0.0.0... Patching component oracle.xdk, 19.0.0.0.0... Patching component oracle.odbc, 19.0.0.0.0... Patching component oracle.xdk.rsf, 19.0.0.0.0... Deleting "jzntrans.o" from archive "/u01/app/oracle/product/19.11.0.0/db_1/lib/libxml19.a" Deleting "jznpathval.o" from archive "/u01/app/oracle/product/19.11.0.0/db_1/lib/libxml19.a" Patching component oracle.dbdev, 19.0.0.0.0... Patching component oracle.xdk.parser.java, 19.0.0.0.0... Patching component oracle.javavm.server, 19.0.0.0.0... Patching component oracle.sdo.locator, 19.0.0.0.0... Patching component oracle.rdbms.install.plugins, 19.0.0.0.0... Patching component oracle.mgw.common, 19.0.0.0.0... Patching component oracle.ons, 19.0.0.0.0... Patching component oracle.ons.ic, 19.0.0.0.0... Patching component oracle.ldap.rsf.ic, 19.0.0.0.0... Patching component oracle.oraolap, 19.0.0.0.0... Patching component oracle.ctx.atg, 19.0.0.0.0... Patching component oracle.rdbms.install.common, 19.0.0.0.0... Patching component oracle.sqlplus.ic, 19.0.0.0.0... Patching component oracle.oraolap.dbscripts, 19.0.0.0.0... Patching component oracle.xdk.xquery, 19.0.0.0.0... Patching component oracle.network.listener, 19.0.0.0.0... Patching component oracle.rdbms.dv, 19.0.0.0.0... Patching component oracle.oraolap.api, 19.0.0.0.0... Patching component oracle.rdbms.scheduler, 19.0.0.0.0... Patching component oracle.rdbms.crs, 19.0.0.0.0... Patching component oracle.ctx.rsf, 19.0.0.0.0... Patching component oracle.ldap.security.osdt, 19.0.0.0.0... Patching component oracle.precomp.rsf, 19.0.0.0.0... Patching component oracle.ldap.client, 19.0.0.0.0... Patching component oracle.network.client, 19.0.0.0.0... Patching component oracle.rdbms.drdaas, 19.0.0.0.0... Patching component oracle.rdbms.rman, 19.0.0.0.0... Patching component oracle.rdbms.lbac, 19.0.0.0.0... Patching component oracle.nlsrtl.rsf, 19.0.0.0.0... Patching component oracle.ovm, 19.0.0.0.0... Patching component oracle.rdbms.rsf.ic, 19.0.0.0.0... Patching component oracle.precomp.common, 19.0.0.0.0... Patching component oracle.precomp.lang, 19.0.0.0.0... Patching component oracle.jdk, 1.8.0.201.0... RollbackSession removing interim patch '32545013' from inventory Inactive sub-set patch [29517242] has become active due to the rolling back of a super-set patch [32545013]. Please refer to Doc ID 2161861.1 for any possible further required actions. Log file location: /u01/app/oracle/product/19.11.0.0/db_1/cfgtoollogs/opatch/opatch2021-08-12_21-56-28PM_1.log OPatch succeeded.
Executando a desinstalação novamente:
[oracle@lab01 OPatch]$ cd /u01/app/oracle/product/19.11.0.0/db_1/deinstall/ [oracle@lab01 deinstall]$ ./deinstall Checking for required files and bootstrapping ... Please wait ... Location of logs /u01/app/oraInventory/logs/ ############ ORACLE DECONFIG TOOL START ############ ######################### DECONFIG CHECK OPERATION START ######################### ## [START] Install check configuration ## Checking for existence of the Oracle home location /u01/app/oracle/product/19.11.0.0/db_1 Oracle Home type selected for deinstall is: Oracle Single Instance Database Oracle Base selected for deinstall is: /u01/app/oracle Checking for existence of central inventory location /u01/app/oraInventory ## [END] Install check configuration ## Network Configuration check config START Network de-configuration trace file location: /u01/app/oraInventory/logs/netdc_check2021-08-12_10-06-53PM.log Network Configuration check config END Database Check Configuration START Database de-configuration trace file location: /u01/app/oraInventory/logs/databasedc_check2021-08-12_10-06-53PM.log Use comma as separator when specifying list of values as input Specify the list of database names that are configured in this Oracle home []: Database Check Configuration END ######################### DECONFIG CHECK OPERATION END ######################### ####################### DECONFIG CHECK OPERATION SUMMARY ####################### Oracle Home selected for deinstall is: /u01/app/oracle/product/19.11.0.0/db_1 Inventory Location where the Oracle home registered is: /u01/app/oraInventory Do you want to continue (y - yes, n - no)? [n]: y A log of this session will be written to: '/u01/app/oraInventory/logs/deinstall_deconfig2021-08-12_10-06-52-PM.out' Any error messages from this session will be written to: '/u01/app/oraInventory/logs/deinstall_deconfig2021-08-12_10-06-52-PM.err' ######################## DECONFIG CLEAN OPERATION START ######################## Database de-configuration trace file location: /u01/app/oraInventory/logs/databasedc_clean2021-08-12_10-06-53PM.log Network Configuration clean config START Network de-configuration trace file location: /u01/app/oraInventory/logs/netdc_clean2021-08-12_10-06-53PM.log De-configuring backup files... Backup files de-configured successfully. The network configuration has been cleaned up successfully. Network Configuration clean config END ######################### DECONFIG CLEAN OPERATION END ######################### ####################### DECONFIG CLEAN OPERATION SUMMARY ####################### ####################################################################### ############# ORACLE DECONFIG TOOL END ############# Using properties file /tmp/deinstall2021-08-12_10-06-25PM/response/deinstall_2021-08-12_10-06-52-PM.rsp Location of logs /u01/app/oraInventory/logs/ ############ ORACLE DEINSTALL TOOL START ############ ####################### DEINSTALL CHECK OPERATION SUMMARY ####################### A log of this session will be written to: '/u01/app/oraInventory/logs/deinstall_deconfig2021-08-12_10-06-52-PM.out' Any error messages from this session will be written to: '/u01/app/oraInventory/logs/deinstall_deconfig2021-08-12_10-06-52-PM.err' ######################## DEINSTALL CLEAN OPERATION START ######################## ## [START] Preparing for Deinstall ## Setting LOCAL_NODE to lab01 Setting CRS_HOME to false Setting oracle.installer.invPtrLoc to /tmp/deinstall2021-08-12_10-06-25PM/oraInst.loc Setting oracle.installer.local to false ## [END] Preparing for Deinstall ## Setting the force flag to false Setting the force flag to cleanup the Oracle Base Oracle Universal Installer clean START Detach Oracle home '/u01/app/oracle/product/19.11.0.0/db_1' from the central inventory on the local node : Done Delete directory '/u01/app/oracle/product/19.11.0.0/db_1' on the local node : Done The Oracle Base directory '/u01/app/oracle' will not be removed on local node. The directory is in use by Oracle Home '/u01/app/oracle/product/19.3.0.0/db_1'. Oracle Universal Installer cleanup was successful. Oracle Universal Installer clean END ## [START] Oracle install clean ## ## [END] Oracle install clean ## ######################### DEINSTALL CLEAN OPERATION END ######################### ####################### DEINSTALL CLEAN OPERATION SUMMARY ####################### Successfully detached Oracle home '/u01/app/oracle/product/19.11.0.0/db_1' from the central inventory on the local node. Successfully deleted directory '/u01/app/oracle/product/19.11.0.0/db_1' on the local node. Oracle Universal Installer cleanup was successful. Review the permissions and contents of '/u01/app/oracle' on nodes(s) 'lab01'. If there are no Oracle home(s) associated with '/u01/app/oracle', manually delete '/u01/app/oracle' and its contents. Oracle deinstall tool successfully cleaned up temporary directories. ####################################################################### ############# ORACLE DEINSTALL TOOL END #############
A desinstalação concluiu com sucesso. De acordo a Doc ID 2784544.1, esse problema será resolvido no 19cR13 (OUT 2021).