domingo, 19 de fevereiro de 2012

Objetos do SYS inválidos após remoção do XMLDB 11g

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)
Postagem mais recente Postagem mais antiga Página inicial

0 comentários:

Postar um comentário

Translate

# ACE Program

#Oracle

#Oracle
Disclaimer: The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.

#Blog reconhecido

#ARTICULISTA

Marcadores

Postagens populares