Sim, isso mesmo vc Não Pode truncar via sinônimo : http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1458414958491#39365030086090 mostra isso pra nós.
EVIDENTEMENTE, vc sabe que DROP ANY TABLE é um privilégio ** HIPER ** poderoso (ANY significat QUALQUER UM, até internas!, tudo e todas!) , então vc NUNCA vai , num ambiente produção, dar esse privilégio pra NINGUÉM se não quiser ter um furo de segurança do tamanho dum bonde : vc VAI fazer o comum, que é criar uma PROCEDURE que faz o DROP (e antes de fazer o DROp valida as entradas) e dar GRANT de EXECUTE nessa proc pro tal usuário que "precisa truncar tabelas de outro" ... []s Chiappa --- Em [email protected], Alex List <alex@...> escreveu > > Olá, > > para um esquema que precisa executar TRUNCATE em outro schema, segundo a > documentação é necessário o grant DROP ANY TABLE ... até aí testado e > funciona. > No caso de a tabela ter sinonimo publico, e este segundo usuário não fizer > referencia ao schema.table para executar o truncate, o Oracle retorna erro > dizendo que não existe tabela. > > Concluo que para o comando TRUNCATE, necessariamente precisa qualificar com > o schema_name, e sinônimo público não vale. > Estou correto? Isso realmente funciona assim? > > Agradeço qquer retorno. > > Alex > > > [As partes desta mensagem que não continham texto foram removidas] >
