"ORA-01950: no privileges on tablespace 'SYSTEM' " : What error is it?
This error says that the user doesn't have quota on tablespace SYSTEM
which is set as the default persistent tablespace. You can assign a user the quota like this:
sql> alter user scott quota 50m on system;
Here, 50m
means that the user quota on the SYSTEM
tablespace is 50 mebibytes. You can also set the quota to unlimited
.
However it is a bad practice to store user and application data in SYSTEM
tablespace as it causes data fragmentation and thus degrades performance. So I would recommend you to create a new permanent tablespace:
sql> create smallfile tablespace users datafile '/u01/app/oracle/oradata/ORCL/users.dbf' size 10g;
And then set it as the default database permanent tablespace so that objects created by the users go into that default tablespace:
sql> alter database default tablespace users;
You have to create one new tablespace into the database because for the SYSTEM
tablespace access, SYSDBA
privileges are required.
So, create one new tablespace and assign it as the default tablespace to all users. When you create any user, by default it will give assign particular tablespace.