- Este tópico contém 4 respostas, 2 vozes e foi atualizado pela última vez 8 anos, 10 meses atrás por
Hitotuzi.
-
AutorPosts
-
1 de fevereiro de 2017 às 8:47 pm #108612
Hitotuzi
ParticipanteBoa tarde!
Preciso criar uma lista ACL porém ocorre o erro
ORA-00980: a tradução de sinônimo não é mais válida
ORA-06512: em “SYS.DBMS_NETWORK_ACL_ADMIN”, line 258
ORA-06512: em line 2ao investigar vi que o erro ocorre em uma view “xds_ace” na linha
“table(XMLSequence(extract(a.object_value, ‘/acl/ace’))) b;”
essa view aponta para tabela “xdb$acl” do schema XDB nativo do OracleAlguém sabe como resolver esse erro de sinônimo ?
Grato
1 de fevereiro de 2017 às 9:56 pm #108613José Laurindo Chiappa
ModeradorNope : todos os objetos internos do RDBMS (como os dos schemas SYS, XDB, etc) só quem pode mexer é a Oracle mesmo vc tem que abrir um Chamado no Suporte Oracle… Pelo jeito parece ser um bug interno vindo da criação (por parte da Oracle mesmo) das estruturas que publicam dados do XDB, que são algumas views e sinônimos : normalmente bugs do tipo rapidamente são corrigidos, então pesquisa no Suporte (e abra o Chamado) que vc deve receber a indicação de qual patch resolve isso…
[]s
Chiappa
1 de fevereiro de 2017 às 10:08 pm #108614José Laurindo Chiappa
ModeradorE é claro : enquanto vc não recebe a resposta da Oracle, uma consulta simples mas potencialmente esclarecedora que vc pode fazer é checar os objetos inválidos , com uma query tipo :
SELECT OWNER, OBJECT_TYPE, OBJECT_NAME, CREATED, LAST_DDL_TIME, STATUS FROM DBA_OBJECTS WHERE STATUS’VALID’;
Pois tipicamente sinônimos ficam inválidos/não podem ser mais “traduzidos” quando apontam para um objeto programático que ficou inválido, ou coisas assim… De repente é essa view XDS_ACE ue ficou inválida, consulta aí…
[]s
Chiappa
2 de fevereiro de 2017 às 12:09 am #108615Hitotuzi
ParticipanteObrigado @jlchiappa vou abrir o chamado, valeu pela dica!!!
2 de fevereiro de 2017 às 12:54 am #108616Hitotuzi
Participante@jlchiappa
Na base de conhecimento do Oracle Support tinha a solução, caso alguém passe pela mesma situação segue abaixo a solução:
1 – O erro ORA-00980 indica um conflito com os sinônimos públicos, assim, verificar se existem sinônimos públicos para os objetos mencionados, conforme select abaixo:
select owner,object_name,object_type,status
from dba_objects
where object_name in ('EXTRACT','EXTRACTVALUE','EXISTSNODE');
- Nenhum sinônimo público com esses nomes deve existir devido conflitarem com funções SQL existentes com o mesmo nome.
2 – Remover os sinônimo(s) público(s) com esses nomes e recompilar as views relacionadas à ACL.
connect / as sysdba
drop public synonym EXTRACT;
drop public synonym EXTRACTVALUE;
drop public synonym EXISTSNODE;
alter view SYS.XDS_ACE compile;
alter view SYS.DBA_NETWORK_ACL_PRIVILEGES compile;
Um abraço
Hitotuzi
-
AutorPosts
- Você deve fazer login para responder a este tópico.