Search code examples
oracle-databaseprivilegestablespace

no privileges on tablespace 'SYSTEM' ORA-00942


i have this error when trying to create a table graphically:

Creating table "ELEVE" failed. Failed Creating Table ORA-01950: no privileges on tablespace 'SYSTEM' ORA-00942: >table or view does not exist ORA-06510: PL/SQL: unhandled user-defined exception


Solution

  • First of all, you shouldn't do anything in the SYSTEM tablespace. As user you created doesn't have any objects yet, I suggest you drop it and recreate it, but this time by specifying another tablespace. For example:

    SQL> connect sys as sysdba
    Enter password:
    Connected.
    SQL> select tablespace_name from dba_tablespaces;
    
    TABLESPACE_NAME
    ------------------------------
    SYSTEM
    SYSAUX
    UNDOTBS1
    TEMP
    USERS
    
    SQL> create user ecole identified by ecole
      2  default tablespace users
      3  temporary tablespace temp
      4  quota unlimited on users;
    
    User created.
    
    SQL> grant create session, create table to ecole;
    
    Grant succeeded.
    
    SQL>
    

    If you, however, insist on doing everything in the SYSTEM tablespace, then alter user and grant quota on the tablespace, e.g.

    SQL> alter user ecole quota 100M on system;
    
    User altered.
    
    SQL>
    

    Then create the table.