Eu sei que PUBLIC_DEPENDENCY tem apenas os Ids dos objetos e referências, e o DBA_DEPENDENCIES não tem os Ids, mas o Tipo, Dono, Nome, etc deles.
Mas além disso, qual é a diferença entre ambos? Quando faço uma contagem no meu banco de dados, eles retornam valores diferentes. E PUBLIC_DEPENDENCY tem mais elementos.
Verifique a fonte de ambas as visualizações:
PUBLIC_DEPENDENCY
consultas diretamente da tabela do dicionáriodependency$
e nada mais.DBA_DEPENDENCIES
também consultadependency$
, mas também une algumas outras tabelas e exibições, por exemplodisk_and_fixed_objects
. Esta visualização não contém todos os objetos dedependency$
, portanto, esta junção elimina algumas linhasdependency$
relacionadas aos objetos ausentes. Por exemplo no meu banco de dados:A fonte de
disk_and_fixed_objects
é:Mas os 13 objetos acima não são contabilizados na visão de sublinhado acima ou nas tabelas X$, eles estão em outra tabela X$ (
X$KQFDT
):Aqui você pode ver o nome desses objetos na
KQFDTNAM
coluna. Outra maneira de encontrá-los é consultando aV$FIXED_TABLE
exibição:Resumindo:
DBA_DEPENDENCIES
não contém algumas dependências relacionadas a alguns objetos fixos. Você também pode verificar quais objetos estão relacionados a essas dependências "ausentes", por exemplo: