在存储数据时出现ORA-01950:对表空间 'USERS' 无权限 错误,解决如下:

找到对象Users下的用户名,然后点编辑,角色权限添加dba

在oracle创建了一个新的表空间和一个新的用户,当用这个新用户创建表时, 却出现:ORA-01950: 表空 间'USERS'中无权限 。 我已经把创建表的权限赋给了此用户,怎么还会缺少权限呢? 解决办法 方法1:赋予该用户RESOURCE角色 SQL> connect / as sysdba 已连接。 SQL> grant resource to zhaoh; 授权成功。 SQL> connect zhaoh/a 已连接。 SQL> create table test (ID number,name varchar2(40)); 表已创建。 方法2:增加该用户表空 间'USERS'中的配额 SQL> select * from user_sys_privs; USERNAME PRIVILEGE ADM ------------------------------ ---------------------------------------- --- ZHAOH CREATE TABLE NO SQL> connect / as sysdba; 已连接。 SQL> ALTER USER "ZHAOH" QUOTA UNLIMITED ON "USERS"; 用户已更改。 SQL> connect zhaoh/a 已连接。 SQL> create table test (ID number,name varchar2(40)); 表已创建。 创建新的用户时,要指定default tablespace,否则它会把system表空间当成自己的缺省表空间。这样做是不提倡的。估计原来创建某个用户的时候没有指定缺省表空间,而现在它使用系统表空间的权限被DBA给收回了。 先用的简单的办法试试,一般缺省的ORACLE安装都是有USERS表空间的。 比如你要在用户(或SCHEMA)usera中建表,那么你用SYSTEM登录ORACLE后,执行如下SQL ALTER USER usera QUOTA UNLIMITED ON USERS; 如果没有USERS表空间,则会报错,你可以找一个其他的表空间,从v$tablespace可以看到所有的表空间。 下面情况sany用户开始创建的时候没有制定default tablespace ******** SQL> connect sany/as646333 已连接。 SQL> select * from user_sys_privs 2 ; USERNAME PRIVILEGE ADM ------------------------------ ---------------------------------------- --- SANY CREATE SESSION NO SANY EXECUTE ANY PROCEDURE NO SANY CREATE USER NO SANY CREATE TABLE NO SQL> create table bjwh(user_id number(5),user_name varchar2(20),phone varchar2(12),email varchar2(20 )); create table bjwh(user_id number(5),user_name varchar2(20),phone varchar2(12),email varchar2(20)) * 第 1 行出现错误: ORA-01950: 对表空间 'USERS' 无权限 SQL> connect system/oracle 已连接。 SQL> alter user sany quota unlimited on users; 用户已更改。 SQL> connect sany/as646333 已连接。 SQL> create table bjwh(user_id number(5),user_name varchar2(20),phone varchar2(12),email varchar2(2 0)); 表已创建。 SQL> disconnect 从 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 断开 SQL> desc bjwh SP2-0640: 未连接 SP2-0641: "DESCRIBE" 需要连接至服务器 SQL> connect sany/as646333 已连接。 SQL> desc bjwh 名称 是否为空? 类型 ----------------------------------------- -------- ---------------------------- USER_ID NUMBER(5) USER_NAME VARCHAR2(20) PHONE VARCHAR2(12) EMAIL VARCHAR2(20) 问题解决。 以前执行了grant dba to 用户 查了一下dba角色中有一项 : DBA UNLIMITED TABLESPACE YES 现在执行了revoke dba from 用户 报错:ora-01950:对表空间XXX无权限 办法: alter user username quota umlimited on tablespacename; 或者 grant resource to username 也可以 因为 grant resource to username 时 自动获得了有unlimited tablespace的系统权限 从online documents 找到这段话: When you grant the DBA and RESOURCE roles to a user or role with Oracle7 release 7.2.2 or later, the user or role is also granted the UNLIMITED TABLESPACE system privilege. When you revoke either role from a user or role, the UNLIMITED TABLESPACE system privilege is also revoked. The UNLIMITED TABLESPACE can also be revoked independent of the DBA and RESOURCE roles.

ORA-01950:对表空间 'USERS' 无权限的更多相关文章

  1. ORA-01950: no privileges on tablespace xxx ORA-01950: 对表空间 'xxx'无权限

    场景: 创建用户,在用户scheme下新建了一张表,插入数据时报错 ORA-01950: 对表空间 'xxx'无权限 创建用户 /*第1步:创建临时表空间 */ create temporary ta ...

  2. 对表空间 'USERS' 无权限

    保存对表 "CHENGYU"."T_USER" 的更改时出现一个错误: 行 1: ORA-01950: 对表空间 'USERS' 无权限   更改用户的默认表空 ...

  3. ORA-01950:对表空间“”XXXX”无权限,解决办法

    上图报错 解决方案比如你要在用户(或SCHEMA)usera中建表,那么你用SYSTEM登录ORACLE后,执行如下SQL : ALTER USER 用户名 QUOTA UNLIMITED ON 表空 ...

  4. ORA-01950: 对表空间 'NAMETABLESPACE' 无权限

    只要将Role下的Resource权限赋予给当前用户即可解决上述问题.

  5. pL/Sql插入语句时报错,对表空间没有权限 对表空间 'USERS' 无权限

    进入dba为其授予权限:sqlplus sys/admin as sysdba; 为用户授予权限即可 grant unlimited tablespace to username;

  6. Oracle对表空间无权限

    有的时候我们在Oracle数据库中对执行insert.update之类的语句时会出错,Oracle说我们对表空间无权限.执行下面的语句就可以修改用户对表空间的权限了. 执行语句: alter user ...

  7. ORA-01950:表空间“USERS”中无权限

    ORA-01950:表空间“USERS”中无权限 解决方案: A)确认给用户授权了resource角色 B)取消限制 ALTER USER "HCCPMS" QUOTA UNLIM ...

  8. ORA-01950: 表空间'USERS'中无权限的2种解决办法

    在创建了一个新的表空间和一个新的用户,当用这个新用户创建表时, 却出现:ORA-01950: 表空 间'USERS'中无权限.   我已经把创建表的权限赋给了此用户,怎么还会缺少权限呢?解决办法   ...

  9. Oracle对表空间、用户、用户权限的操作

    一.对表空间的操作 1.创建表空间(create tablespace) -- 'hpdb_tablespace' 指定表空间名称 -- 'e:\hpdb.dbf' 指定表空间数据文件名称 -- si ...

随机推荐

  1. [linux]解决DNS配置重启丢失

    DNS配置重启丢失 每次重启后都修改DNS配置文件 /etc/resolv.conf从网上得知 /etc/resolv.conf中的DNS配置是从/etc/resolvconf/resolv.conf ...

  2. VS2008调试程序时出现"XXX mutex not created."

    1. 在 VS2008中调试一个程序,怎样都运行不起来(在IDE中无法运行) 出现恶心信息: 2. 但神奇的是,在工程目录下,直接双击exe文件 却可以启动起来,说明编译的文件没问题,有可能是IDE的 ...

  3. 原生js与jquery的区别

    1.选择器: js: $('.car_img_con img')[0]; var jsObj = document.getElementsByClassName('sel_index_block')[ ...

  4. 使用ANY、Some或All关键字

    可以使用All或Any关键字修改引入子查询的比较运算符.Some是与Any等效的ISO标准,All要求Where表达式与子查询返回的每个值进行比较时都应满足比较条件,Any则要求Where表达式与子查 ...

  5. hibernate的查询 (比较get 与load)

    hibernate的查询的比较hibernate的查询有很多,Query,find,Criteria,get,load query使用hsql语句,可以设置参数是常用的一种方式 criteria的方式 ...

  6. PAT 1024 Palindromic Number

    #include <cstdio> #include <iostream> #include <cstdlib> #include <algorithm> ...

  7. 项目在低版本浏览器下不兼容?友情提示客户升级浏览器(以下只针对IE浏览器)

    (function (window) { var win = window, sys = {}, ua = navigator.userAgent.toLowerCase(); (/msie\s+(\ ...

  8. css浮动布局小技巧

    父元素如何围住浮动的子元素的三种办法: 一.为父元素应用overflow:hidden. overflow真正用途是防止包含元素被大的内容撑开,设定了宽度之后,包含元素将超过容器的内容减掉:而它还有另 ...

  9. javascript实现数据结构:稀疏矩阵的十字链表存储表示

    当矩阵的非零个数和位置在操作过程中变化大时,就不宜采用顺序存储结构来表示三元组的线性表.例如,在作“将矩阵B加到矩阵A上”的操作时,由于非零元的插入或删除将会引起A.data中元素的移动.为此,对这种 ...

  10. AS打包出现app:transformClassesAndResourcesWithProguardForRelease错误

    今天打包项目的正式签名APK出现以下错误,当时挺着急用的实在没办法就只能用测试apk凑合来对付一下了 Error:Execution failed for task ':app:transformCl ...