A documentação do Oracle não mostra a existência de um Privilégio 'USAGE'. Eu nunca usei nada além de um privilégio SELECT em uma sequência.
Essa sintaxe é exibida para o Postgres / DB2
Estou recebendo "ORA-00990: missing or invalid privilege"
nesse tipo de declaração:
GRANT USAGE ON SEQUENCE SOME_SEQUENCE TO SOME_USER;
Eu pesquisei isso em toda a Internet e no AFAICT, esta sintaxe está absolutamente correta, o nome da sequência está correto, o usuário está correto, e concessões similares para acesso à tabela funcionam bem, mas eu simplesmente não consigo conceder acesso à sequência. E se SOME_USER
tentar chamar a sequência, eu recebo o temido "ORA-00942: table or view does not exist"
.
Adicionando insulto à injúria é que este usado funciona, mas o pessoal de TI recria o banco de dados (não, eu não sei exatamente o que eles fizeram, e eles provavelmente também não) e agora isso está acontecendo.
Alguém tem alguma ideia do que estou fazendo errado?
Resposta : @Gary me apontou na direção certa; a sintaxe real é:
GRANT SELECT ON SOME_SEQUENCE TO SOME_USER;
Curiosamente, eu já tinha tentado:
GRANT SELECT ON SEQUENCE SOME_SEQUENCE TO SOME_USER;
e recebeu o erro "ORA-00905: missing keyword"
, que é uma mensagem curiosa quando o problema é uma palavra-chave extra .
Tags permissions oracle