Sql ORA-01950:在表空间上没有特权';用户';因为配额在另一张桌子上
我目前得到了一个Sql ORA-01950:在表空间上没有特权';用户';因为配额在另一张桌子上,sql,database,oracle,Sql,Database,Oracle,我目前得到了一个ORA-01950:在表空间“用户”上没有特权,因为我的配额在另一个表上 我已经执行了查询: SELECT * FROM USER_TS_QUOTAS; 我得到了以下结果: TABLESPACE_NAME | BYTES | MAX_BYTES | MAX_BLOCKS | DROPPED DATA 0 -1 0 NO 我的用户有一个无限的配额,但是当执行插入时,我不能这样做,因为它正在查看用
ORA-01950:在表空间“用户”上没有特权
,因为我的配额在另一个表上
我已经执行了查询:
SELECT * FROM USER_TS_QUOTAS;
我得到了以下结果:
TABLESPACE_NAME | BYTES | MAX_BYTES | MAX_BLOCKS | DROPPED
DATA 0 -1 0 NO
我的用户有一个无限的配额,但是当执行插入时,我不能这样做,因为它正在查看用户表。有办法解决这个问题吗
更新:
默认的表空间是users。下面的查询证实了这一点
SELECT PROPERTY_VALUE
FROM DATABASE_PROPERTIES
WHERE PROPERTY_NAME = 'DEFAULT_PERMANENT_TABLESPACE';
这个问题的解决方案是将表空间更改为我有配额的位置。多亏了亚历克斯·普尔 看起来您对表空间数据有未提交的配额,但对表空间用户没有权限。请DBA向您授予表空间用户配额看起来您对表空间数据有未提交的配额,但对表空间用户没有权限。请DBA向您授予表空间用户配额您需要重新创建表: 或者,如果您确实希望它出现在用户表空间中,那么DBA也需要:
您需要重新创建表: 或者,如果您确实希望它出现在用户表空间中,那么DBA也需要:
添加表定义-看起来它是在用户表空间而不是数据表空间中创建的。可能用户是模式的默认TS,您需要在
创建表中指定数据。你到底想把它放在哪个TS里?如果你必须在用户中创建它,那么你也需要在其中添加配额。谢谢。你是对的。我的TS是Users。添加表定义-看起来它是在Users表空间而不是DATA表空间中创建的。可能用户是模式的默认TS,您需要在创建表中指定数据。你到底想把它放在哪个TS里?如果你必须在用户中创建它,那么你也需要在其中添加配额。谢谢。你是对的。我的TS是用户。
drop table your_table;
create table your_table (...) tablespace data;
alter user your_user quota unlimited on users;