Eu tenho um objeto chamado cot_ntn_pi_v
. Foi-me dito que isso era um sinônimo. Não aparece na tabela all_synonym. Parece uma exibição ou tabela, mas não consigo encontrá-lo na tabela de todos os objetos. Posso selecioná-lo, mas não posso descartá-lo porque 'não existe' e não consigo criar uma nova tabela com o mesmo nome que 'o nome já está sendo usado por outro objeto'.
Estou ficando louco ou fazendo algo realmente estúpido?
oracle
oracle-10g
BON
fonte
fonte
Respostas:
Os tipos de objetos no mesmo espaço para nome que uma tabela são:
Portanto, é provavelmente um desses tipos. Se você pode selecionar, ele exclui os cinco primeiros, deixando-o como tabela, visualização, sinônimo privado ou visualização materializada.
Quando você pesquisou,
all_objects
etc., usou maiúsculas? Por exemplo,Se você usar alguma ferramenta como SQL Developer ou Toad, deixe-a descrever o objeto para você. Destaque o nome na ferramenta e clique
Shift-F4
em Developer ouF4
no Toad. O Toad fornece muitas descrições sobre o objeto, enquanto o Developer, na guia Detalhes, terá uma linha comTABLE_NAME
ouMVIEW_NAME
nele e isso mostrará o que é.Depois que você souber o que é, será mais fácil saber como descartá-lo.
fonte
Talvez você não consiga ver o objeto nas tabelas ALL_% se não tiver concessões no próprio objeto, portanto, verifique a tabela DBA_OBJECTS (você precisará de concessões / um usuário adequadamente concedido para fazer isso):
Se isso não produzir nenhuma saída, você poderá verificar as tabelas brutas do dicionário de dados Oracle com esta consulta:
fonte