sexta-feira, 7 de fevereiro de 2014

ORA-01950: não há privilégios no tablespace SYSTEM' Na Criação de Uma IOT no Oracle 12c

ORA-01950: não há privilégios no tablespace SYSTEM' Na Criação de Uma IOT no Oracle 12c 

Coisa nova pra mim:

Bom, não me lembro bem de ter me deparado com essa questão no Oracle em versões anterios, já no 12c, hoje eu tive essa surpresa, veja:

CREATE TABLE TP_COMPRA (
 ID_TP_VENDA NUMBER(2) PRIMARY KEY
, DS_TP_VENDA VARCHAR2(30));

table TP_COMPRA criado.

CREATE TABLE TP_COMPRA_IOT (  
  ID_TP_VENDA NUMBER(2) PRIMARY KEY
, DS_TP_VENDA VARCHAR2(30)) 
ORGANIZATION INDEX;

Erro a partir da linha : 2 no comando -
CREATE TABLE TP_COMPRA_IOT (  ID_TP_VENDA  NUMBER(2) PRIMARY KEY , DS_TP_VENDA VARCHAR2(30)) ORGANIZATION INDEX
Erro na Linha de Comandos : 2 Coluna : 1
Relatório de erros -
Erro de SQL: ORA-01950: não há privilégios no tablespace SYSTEM'
01950. 00000 -  "no privileges on tablespace '%s'"
*Cause:    User does not have privileges to allocate an extent in the
           specified tablespace.
*Action:   Grant the user the appropriate system privileges or grant the user
           space resource on the tablespace.

Como estava iniciando do zero esse "pluggable database", então, me atentei para a necessidade de adicionar uma tablespace ao mesmo, já que o usuário estava sem a "default tablespace" e portanto, a primeira tabela havia sido criada na tablespace SYSTEM; o interessante é que a segunda tabela o Oracle não me deixou cria-la, e qual a diferença? Ela é do tipo IOT (ou Index Organized Table)... Então, fiz (com uma conta privilegiada):

create tablespace testes;
alter user myuser default tablespace testes;
alter user myuser quota unlimited on testes;

Agora, novamente com a conta myuser:

CREATE TABLE TP_COMPRA_IOT (  
  ID_TP_VENDA NUMBER(2) PRIMARY KEY
, DS_TP_VENDA VARCHAR2(30)) 
ORGANIZATION INDEX;

table TP_COMPRA_IOT criado.

Mistérios? Bom, devo ter deixado algum fato anterior passar e minhas andanças no Oracle, mas, a prática é a prática! Espero estar ajudando alguém (como sempre)!

Nenhum comentário:

Postar um comentário