对表空间 'SYSTEM' 没有权限 ORA-00942

no privileges on tablespace 'SYSTEM' ORA-00942

我在尝试以图形方式创建 table 时出现此错误:

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

当您的执行用户没有系统表空间的权限时会发生这种情况,执行用户的默认表空间是什么。

首先,您不应该在 SYSTEM table 空间中做 任何事情 。由于您创建的用户还没有任何对象,我建议您删除它并重新创建它,但这次通过指定另一个 tablespace。例如:

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>

但是,如果您坚持在 SYSTEM table 空间中执行所有操作,则更改用户并授予 table 空间的配额,例如

SQL> alter user ecole quota 100M on system;

User altered.

SQL>

然后创建 table.