Eu tenho um novo banco de dados Oracle que está dando o erro:
ORA-01950: no privileges on tablespace 'USERS'
Eu fiz:
alter user kainaw quota 100M on 'USERS';
grant unlimited tablespace to kainaw;
Ainda assim, uma única inserção retorna esse erro. Além da cota de disco, o que mais causa o erro "sem privilégios no tablespace 'USERS'"?
ATUALIZAR:
A versão do Oracle é 11.2.0.3.0 (11g). Estou entrando no prompt de comando no servidor. Então, eu altero o usuário kainaw como sysdba. Então, eu saio e faço login em um usuário kainaw para testar:
insert into i.test values (1);
Nota: i.test é uma tabela com apenas um campo numérico. Recebo o erro acima. Eu saio como kainaw, faço login como sysdba, jogo com permissões, logout, login, teste, erro, logout, login, ...
Você está concedendo os privilégios ao usuário incorreto.
O proprietário do esquema
i
possui a tabela e, portanto, é o usuário que precisa receber as permissões relevantes no tablespace.É porque não há privilégio no tablespace. Conceda cota de tablespace ao usuário para corrigir isso:
Detalhado em ora-01950
Este é um erro muito comum que ocorre devido a privilégios insuficientes no tablespace. Apenas tente isso.
ORA-01950
Como outros já disseram com razão, o dono da tabela precisa ter "permissão" para armazenar dados em um Tablespace, ou seja, uma cota dentro desse Tablespace, não o indivíduo que está fazendo com que os dados sejam armazenados.
Meu valor de dois centavos:
Não conceda UNLIMITED TABLESPACE a nenhum usuário.
Ele permite que eles rabisquem dados em qualquer Tablespace, incluindo os System Tablespaces internos do banco de dados, se eles souberem como são chamados.
Mantenha os usuários controlados e só permita que eles escrevam em Tablespaces que você preparou (e dimensionou ) para eles. Se, como eu, você associa Schemas e Tablespaces para criar unidades restauráveis separadamente por meio do Tablespace Ppoint-in-Time Recovery (TSPITR) - uma estratégia anterior aos CDBs, obviamente - permitindo que os usuários gravem dados em qualquer canto antigo do banco de dados onde eles podem encontrar algum espaço mina completamente essa estratégia de recuperação.