使用A用户账号(默认表空间tablespace_A),A用户表中插入数据报错ORA-01950
报错处理方法:
方法1:授予用户A unlimited tablespace权限
grant unlimited tablespace to A;
方法2:分配表空间使用配额
alter user A quota unlimited on tablespace_A;
注意:unlimited tablespace 可以对所有表空间进行操作;所以生产尽量不要放开此权限,尽量不要让人操作system 及 sys 表空间。
回收和修改表空间
revoke unlimited tablespace from A; alter user abc quota unlimited on A;
相关数据字典:
- dba_ts_quotas:所有用户的表空间配额
- user_ts_quotas:当前用户的表空间配额
- 系统权限unlimited tablespace不能被授予role,只能被授予用户。也就是说,unlimited tablespace系统权限不能包含在一个角色role中
- unlimited tablespace没有被包括在resource role和dba role中,但是unlimited tablespace随着resource或者dba的授予而授予用户的。也就是说,如果将role角色授予了某个用户,那么这个用户将会拥有unlimited tablespace系统权限
- unlimited tablespace不能伴随这resource被授予role而授予用户。也就是说加入resource角色被授予了role_test角色,然后把role_test授予了test用户,但是此时unlimited tablespace没有被授予test用户