今天晚上在oracle创建了一个新的表空间和一个新的用户,当我用这个新用户创建表时,却出现:ORA-01950: 表空间'USERS'中无权限 。我已经把创建表的权限赋给了此用户,怎么还会缺少权限呢?
后面到网上找了一下,原来是没有把resource和connect 权限赋给用户,赋予权限:grant resource,connect to 用户名;,就ok了。
下面是用户权限列表:
CONNECT角色: --是授予最终用户的典型权利,最基本的
ALTER SESSION --修改会话
CREATE CLUSTER --建立聚簇
CREATE DATABASE LINK --建立数据库链接
CREATE SEQUENCE --建立序列
CREATE SESSION --建立会话
CREATE SYNONYM --建立同义词
CREATE VIEW --建立视图
RESOURCE角色: --是授予开发人员的
CREATE CLUSTER --建立聚簇
CREATE PROCEDURE --建立过程
CREATE SEQUENCE --建立序列
CREATE TABLE --建表
CREATE TRIGGER --建立触发器
CREATE TYPE --建立类型
附带说明:
sys用户拥有SYSDBA,SYSOPER的权限,登录也只能用这两种身份登录,不能以normal登录。是ORACLE权限最高的用户;
SYSTEM只能是NORMAL登录,除非给他授SYSDBA,SYSOPER权;
创建用户的语句没有区别,区别的是授权;
创建用户后授予SYSDBA的权限就可以以SYSDBA登录
system是数据库内置的一个普通管理员,你手工创建的任何用户在被授予dba角色后都跟这个用户差不多。sys用数据库的超级用户,数据库内很多重要的东西(数据字典表、内置包、静态数据字典视图等)都属于这个用户,sys用户必须以sysdba身份登录。以上就是2个用户的区别。另外你说的,system用户as sysdba登录时和sys一样的问题:system用户以sysdba身份登录时就是sys,准确地说,任何用户以sysdba身份登录时都是sys,这一点,你登陆后执行show user可以验证。