ORA-01950: no privileges on tablespace

本文介绍了解决在Oracle数据库中遇到ORA-01950错误的方法,该错误通常是因为用户没有在指定表空间上的配额。通过使用SYS用户为特定用户分配表空间配额,可以有效解决这一问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:在想刚创建的表中插入数据竟然报:ORA-01950: no privileges on tablespace

解决办法:使用sys用户添加用户在某个表空间上的配额,具体如下:

SQL> select count(*) from tab_test;

  COUNT(*)
----------
         0

SQL> insert into tab_test values(1);
insert into tab_test values(1)
            *
ERROR at line 1:
ORA-01950: no privileges on tablespace 'CHENHAO_TBS'

SQL> conn / as sysdba
Connected.

SQL> alter user "CHENHAO" quota 50M on "CHENHAO_TBS";

User altered.

conn chenhao/oracle
Connected.
SQL> CREATE OR REPLACE PROCEDURE sp_test 
  2  AS  
  3  BEGIN  
  4  FOR I IN 1 .. 100000 LOOP  
  5  INSERT INTO tab_test VALUES (I);  
  6  END LOOP;  
  7  COMMIT;  
  8  END;  
  9  /  

Procedure created.

SQL> exec sp_test;

PL/SQL procedure successfully completed.
问题解决不报错了!
[I] 2025-05-29:17:46:36 sync2/18.xf1, "PACS31"."PATIENTDIAGRPTBAK" row 0 ~12, insert error retry delete OK. [E] 2025-05-29:17:46:36 sync2/18.xf1 bind exec PACS31.PATIENTDIAGRPTBAK opc i err: OXA-1000 OCI for Oracle error -1 occurred at api/sql/execute.c:113, sid renm, tns . ORA-01950: no privileges on tablespace 'PACS31' Error - OCI_ERROR insert into "PACS31"."PATIENTDIAGRPTBAK"("DIAGRPTID","VERSION","REPORTDESCRIBE","REPORTDIAGNOSE","REPORTADVICE","DOCID1","DOCID2","DOCID3","DOCID4","DOCID5","DOCID6","FHDOCTOR","OPERATORID","OPERATETIME","VIEWUNDERMICROSCOPE","IDENTIFYKEY","MEDIAPATH","RIS_HOSTID","MEDIAID","FILEPATH") values(:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11,:12,:13,:14,:15,:16,:17,:18,:19,:20) [E] 2025-05-29:17:46:36 sync2/18.xf1, PACS31.PATIENTDIAGRPTBAK insert err: sync2/18.xf1 bind exec PACS31.PATIENTDIAGRPTBAK opc i err: OXA-1000 OCI for Oracle error -1 occurred at api/sql/execute.c:113, sid renm, tns . ORA-01950: no privileges on tablespace 'PACS31' Error - OCI_ERROR insert into "PACS31"."PATIENTDIAGRPTBAK"("DIAGRPTID","VERSION","REPORTDESCRIBE","REPORTDIAGNOSE","REPORTADVICE","DOCID1","DOCID2","DOCID3","DOCID4","DOCID5","DOCID6","FHDOCTOR","OPERATORID","OPERATETIME","VIEWUNDERMICROSCOPE","IDENTIFYKEY","MEDIAPATH","RIS_HOSTID","MEDIAID","FILEPATH") values(:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11,:12,:13,:14,:15,:16,:17,:18,:19,:20), nrow 12, 2 retry delete. [I] 2025-05-29:17:46:36 sync2/18.xf1, "PACS31"."PATIENTDIAGRPTBAK" row 0 ~12, insert error retry delete OK. [E] 2025-05-29:17:46:36 sync2/18.xf1 bind exec PACS31.PATIENTDIAGRPTBAK opc i err: OXA-1000 OCI for Oracle error -1 occurred at api/sql/execute.c:113, sid renm, tns . ORA-01950: no privileges on tablespace 'PACS31' Error - OCI_ERROR insert into "PACS31"."PATIENTDIAGRPTBAK"("DIAGRPTID","VERSION","REPORTDESCRIBE","REPORTDIAGNOSE","REPORTADVICE","DOCID1","DOCID2","DOCID3","DOCID4","DOCID5","DOCID6","FHDOCTOR","OPERATORID","OPERATETIME","VIEWUNDERMICROSCOPE","IDENTIFYKEY","MEDIAPATH","RIS_HOSTID","MEDIAID","FILEPATH") values(:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11,:12,:13,:14,:15,:16,:17,:18,:19,:20)
最新发布
05-30
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值