Não é possível corrigir “ORA-00990: privilégio ausente ou inválido” em uma sequência

1

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 .

    
por Joshua Frank 04.01.2012 / 04:55

1 resposta

2

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

    
por 04.01.2012 / 06:41