Performing Application Unistall Tasks

Neste artigo, vamos simular (ou pelo menos tentar) a desinstalação de um Application Container em nossa Arquitetura Multitenant.

Logando no container desejado e emitindo o comando abaixo para iniciar o processo de desinstalação:

[oracle@quiasma ~]$ sqlplus sys/oracle@HR_AC as sysdba
 
SQL*Plus: Release 18.0.0.0.0 - Production on Mon Jul 12 19:45:04 2021
Version 18.13.0.0.0
 
Copyright (c) 1982, 2018, Oracle.  All rights reserved.
 
 
Connected to:
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.13.0.0.0
 
SQL> ALTER PLUGGABLE DATABASE APPLICATION HR_APP BEGIN UNINSTALL;
 
Pluggable database altered.

Realizando o DROP de schema e tablespace:

SQL> DROP USER HR CASCADE;
 
User dropped.
 
SQL> DROP TABLESPACE HR_TBS INCLUDING CONTENTS AND DATAFILES;
 
Tablespace dropped.

Podemos emitir o comando abaixo para encerrar o processo de desinstalação:

SQL> ALTER PLUGGABLE DATABASE APPLICATION HR_APP END UNINSTALL;
ALTER PLUGGABLE DATABASE APPLICATION HR_APP END UNINSTALL
*
ERROR at line 1:
ORA-65344: cannot uninstall or purge an application that has objects, users,
roles, and profiles

Por conta do erro acima, vamos pesquisar quais são os objetos que ainda persistem em nosso Application Container:

SQL> col object_name format a25
SQL> col owner format a10
SQL> SELECT OWNER, OBJECT_NAME, OBJECT_TYPE FROM DBA_OBJECTS WHERE CREATED_APPID IS NOT NULL;
 
OWNER      OBJECT_NAME               OBJECT_TYPE
---------- ------------------------- -----------------------
AUDSYS     SYS_LOB0000018424C00097$$ LOB PARTITION
AUDSYS     SYS_LOB0000018424C00031$$ LOB PARTITION
AUDSYS     SYS_LOB0000018424C00030$$ LOB PARTITION

Apesar do meu ambiente estar no último PSU disponível do 18C (18.13), aparentemente me deparei com um Bug que existe desde a versão 12.2, conforme Oracle Note \”12.2 : ORA-65344 error while Uninstalling Application Container (Doc ID 2290928.1)\” (link AQUI):

O bug em questão possui um Patch a ser aplicado, mas que está disponível apenas na versão 12.2:

A nota cita que caso a versão do database seja diferente dessa, uma SR precisa ser aberta para validação do time Oracle.

Leave a Comment

Your email address will not be published.