Como já abordado em outro artigo Instalando o Oracle XML DB 11g, a remoção do Oracle XMLDB é simples, basta executarmos o script catnoqm fornecido pela própria Oracle e pronto.
Contudo, podemos observar que após sua desinstalação varios objetos do SYS se tornam inválidos no 11.2.0.1 e 11.2.0.2, isto em função do BUG 9892139 (já resolvido na versão 11.2.0.3) onde varios objetos do SYS são marcados como inválidos devido dependencias perdidas com o XDB.
Para podermos reparar estes objetos a Oracle disponibilizou alguns scripts que devem ser executados manualmente com o SYS, conforme veremos abaixo:
SQL> set lines 200 SQL> col Component for a70 SQL> select comp_name "Component", status from dba_registry where comp_name like '%XML%'; Component STATUS ---------------------------------------------------------------------- -------------------------------------------- Oracle XML Database VALID SQL> select owner, count(1) from dba_objects where status <> 'VALID' group by owner; no rows selected
Podemos ver que o XML está instalado e nenhum objeto está inválido, vejamos após executarmos o script para desinstalar o XMLDB.
SQL> @?/rdbms/admin/catnoqm .... SQL> select comp_name "Component", status from dba_registry where comp_name like '%XML%'; no rows selected SQL> select owner, count(1) from dba_objects where status <> 'VALID' group by owner; OWNER COUNT(1) ------------------------------ ---------- SYS 29
Maravilha, XML desinstalado porem ganhamos alguns objetos inválidos…
vamos ver quais são:
SQL> col object_name for a30 SQL> select OWNER, OBJECT_NAME, OBJECT_TYPE from dba_objects where status = 'INVALID'; OWNER OBJECT_NAME OBJECT_TYPE ------------------------------ ------------------------------ ------------------- SYS ALL_XML_SCHEMAS VIEW SYS ALL_XML_SCHEMAS2 VIEW SYS KU$_XMLSCHEMA_VIEW VIEW SYS KU$_XMLSCHEMA_ELMT_VIEW VIEW SYS KU$_OPQTYPE_VIEW VIEW SYS KU$_COLUMN_VIEW VIEW SYS KU$_PCOLUMN_VIEW VIEW SYS KU$_NT_PARENT_VIEW VIEW SYS KU$_FHTABLE_VIEW VIEW SYS KU$_10_1_FHTABLE_VIEW VIEW SYS KU$_PFHTABLE_VIEW VIEW OWNER OBJECT_NAME OBJECT_TYPE ------------------------------ ------------------------------ ------------------- SYS KU$_10_1_PFHTABLE_VIEW VIEW SYS KU$_ACPTABLE_VIEW VIEW SYS KU$_IOTABLE_VIEW VIEW SYS KU$_10_1_IOTABLE_VIEW VIEW SYS KU$_PIOTABLE_VIEW VIEW SYS KU$_10_1_PIOTABLE_VIEW VIEW SYS KU$_VIEW_VIEW VIEW SYS KU$_M_VIEW_FH_VIEW VIEW SYS KU$_M_VIEW_PFH_VIEW VIEW SYS KU$_M_VIEW_IOT_VIEW VIEW SYS KU$_M_VIEW_PIOT_VIEW VIEW OWNER OBJECT_NAME OBJECT_TYPE ------------------------------ ------------------------------ ------------------- SYS KU$_M_VIEW_LOG_FH_VIEW VIEW SYS KU$_M_VIEW_LOG_PFH_VIEW VIEW SYS KU$_CLUSTER_VIEW VIEW SYS DBMS_METADATA_INT PACKAGE BODY SYS DBMS_METADATA_UTIL PACKAGE BODY SYS VALIDATE_ORDIM PROCEDURE SYS AWM_CREATEXDSFOLDER FUNCTION 29 rows selected.
Como descrito acima, os objetos se tornaram inválidos devido dependências perdidas com o XDB, e a correção é a execução do seguintes scripts:
SQL> connect / as sysdba -- Make XDB Dummy views start ?/rdbms/admin/catxdbdv.sql -- update Data Pump related objects and KU$_ views start ?/rdbms/admin/dbmsmeta.sql start ?/rdbms/admin/dbmsmeti.sql start ?/rdbms/admin/dbmsmetu.sql start ?/rdbms/admin/dbmsmetb.sql start ?/rdbms/admin/dbmsmetd.sql start ?/rdbms/admin/dbmsmet2.sql start ?/rdbms/admin/catmeta.sql start ?/rdbms/admin/prvtmeta.plb start ?/rdbms/admin/prvtmeti.plb start ?/rdbms/admin/prvtmetu.plb start ?/rdbms/admin/prvtmetb.plb start ?/rdbms/admin/prvtmetd.plb start ?/rdbms/admin/prvtmet2.plb start ?/rdbms/admin/catmet2.sql SQL> select owner, count(1) from dba_objects where status <> 'VALID' group by owner; no rows selected
Pronto, nenhum objeto inválido.! Solução descrita na NOTE 1269470.1 (MOS)
0 comentários:
Postar um comentário