Oracle 对表空间 USERS 没有权限

kai*_*naw 6 oracle permissions

我有一个全新的 Oracle 数据库,它给出了错误:

ORA-01950: no privileges on tablespace 'USERS'
Run Code Online (Sandbox Code Playgroud)

我已经做好了:

alter user kainaw quota 100M on 'USERS';
grant unlimited tablespace to kainaw;
Run Code Online (Sandbox Code Playgroud)

尽管如此,单个插入仍会返回该错误。除了磁盘配额之外,还有什么会导致“对表空间 'USERS' 没有权限”错误?

更新:

Oracle 版本为 11.2.0.3.0 (11g)。我正在从服务器上的命令提示符登录。因此,我将用户 kainaw 更改为 sysdba。然后,我注销并登录用户 kainaw 进行测试:

insert into i.test values (1);
Run Code Online (Sandbox Code Playgroud)

注意:i.test 是一个只有数字字段的表。我收到上面的错误。我以 kainaw 的身份注销,以 sysdba 的身份登录,使用权限进行游戏,注销,登录,测试,错误,注销,登录,...

Phi*_*lᵀᴹ 8

您将权限授予错误的用户。

模式所有者i拥有表,因此是需要被授予表空间相关权限的用户。


小智 6

这是因为对表空间没有特权。向用户授予表空间配额以解决此问题:

SQL> alter user <your username> quota unlimited on tablespace_name;

SQL> GRANT UNLIMITED TABLESPACE TO <your username>;
Run Code Online (Sandbox Code Playgroud)

详细的ORA-01950