今天在用户kf下面删除一条数据时:
delete from kf_gongnengtx where texingid=2736;
报错:
ORA-01536: space quota exceeded for tablespace 'TS_HIS3'
根据网上资料,该问题是由于用户在使用表空间时候受到了权限的限制.
解决方案很简单,修改这个用户的使用这个表空间的空间的权限就可以了
oracle提供二种方法:
1. Increase the tablespace quota allocated to that user or role by using the following command(即增加具体的大小限额):
ALTER USER <username> QUOTA <integer> [K/M] ON <tablespacename>
2. suggest QUOTA UNLIMITED(即去掉配额限制,unlimited,推荐使用这种,否则当第一个方法用后,如果再不够,那岂不是要再进行分配限额!):
ALTER USER <username> QUOTA UNLIMITED ON <tablespacename>
方法2的另外一种写法:
grant unlimited tablespace to <username>;
于是在sqlplus下面以sysdba权限登陆操作:
SQL> grant unlimited tablespace to kf;
Grant succeeded.
SQL> delete from kf_gongnengtx where texingid=2736;