--问题描述:
开发反映有一张表无法插入,报对表空间无权限的错误。
经测试发现确实无法插入,查询相关对象权限,系统权限也没有问题。
最后发现问题出在该表的一个索引上,该索引的owner是另外一个用户,但是表空间却是在表所在表空间下,导致错误的发生
--问题分析:
假设A用户下的一张表A.table, A对于表空间A_TBS有unlimited的权限
用户a对表A.table有增删改查的权限。
但是在表A.table上,有一个索引idx的owner是B,而B.idx的表空间又是A_TBS
之前用户B有unlimited tablespace的系统权限,但这个用户最近不需要了,所以其权限被收回了。
但是对应的索引B.idx还在。
所以当用户a对表A.table进行修改的时候,有时就会用到索引B.idx,这时就会报表空间无权限的错误了。
这里是指用户B对表空间A_TBS无权限。
--问题解决:
临时的处理办法就是给用户B增加unlimited tablespace的权限,问题解决
等到业务不忙的时候再把索引B.idx 重建一下,改成A.idx,再把上面的权限收回即可
开发反映有一张表无法插入,报对表空间无权限的错误。
经测试发现确实无法插入,查询相关对象权限,系统权限也没有问题。
最后发现问题出在该表的一个索引上,该索引的owner是另外一个用户,但是表空间却是在表所在表空间下,导致错误的发生
--问题分析:
假设A用户下的一张表A.table, A对于表空间A_TBS有unlimited的权限
用户a对表A.table有增删改查的权限。
但是在表A.table上,有一个索引idx的owner是B,而B.idx的表空间又是A_TBS
之前用户B有unlimited tablespace的系统权限,但这个用户最近不需要了,所以其权限被收回了。
但是对应的索引B.idx还在。
所以当用户a对表A.table进行修改的时候,有时就会用到索引B.idx,这时就会报表空间无权限的错误了。
这里是指用户B对表空间A_TBS无权限。
--问题解决:
临时的处理办法就是给用户B增加unlimited tablespace的权限,问题解决
等到业务不忙的时候再把索引B.idx 重建一下,改成A.idx,再把上面的权限收回即可