项目场景:
SQL>
SQL> show user;
USER is "SYS"
SQL>
SQL> create tablespace teach10 datafile '/u02/oradata/CDB1/pdb1/teach10.dbf' size 10m;
Tablespace created.
SQL> grant connect,resource to teach identified by oracle;
Grant succeeded.
SQL> alter user teach default tablespace teach10;
User altered.
SQL> show con_name;
CON_NAME
------------------------------
PDB1
SQL> create table teach.test as select * from scott.emp;
create table teach.test as select * from scott.emp
*
ERROR at line 1:
ORA-01950: no privileges on tablespace 'TEACH10'
问题描述
跨用户建表时产生 ORA-01950: no privileges on tablespace 'TEACH10'
原因分析:
由于对新建的表空间没有给予一定的表空间配置额度。
解决方案:
对于当前用户进行授权,并给予其默认表空间进行配置额度设定。
SQL> grant create session,create table to teach;
Grant succeeded.
SQL> alter user teach quota 10M on teach10;
User altered.
SQL> create table teach.test as select * from scott.emp;
Table created.
SQL>