oracle 用户权限设置

Posted wanglaing-q123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 用户权限设置相关的知识,希望对你有一定的参考价值。

create user +用户名 identified by +密码 default tablespace +表空间名称 temporary tablespace +临时表空间名称 --创建新用户  在oracle之后 普通用户的用户名必须以C##开头(如果不指定表空间,该用户的表空间为系统默认的表空间)

create tablespace +表空间名称 +datafile +存储路径+ size 表空间大小(单位m)--创建表空间

alter tablespace 旧名称 rename to 新名称--更改表空间名称’

创建用户后,该用户无任何权限,处于封存状态,需要授权

授权命令为 

grant  权限 to 用户名   --将权限赋予给哪个用户

grant create session to test  --给与创建链接权限    (基本权限,没有该权限用户无法链接数据库)

grant create table to test   --给与创建表格权限

grant unlimited tablespace to test --给与用户不受限制的表空间权限(慎重对待,一般用户表空间给与特定的表空间权限)

取消授权命令

revoke 权限 from 用户   -- 将该用户的权限取消

revoke create session from test  -- 取消创建链接的权限

。。。。

对特定对象的授权

对于a表,A用户向B用户授权(A用户必须是a的拥有者或者有该表授权的权限)(权限可以继承)

grant insert/update/select on 表名 to 用户名  将特定表的读取修改权限给与某用户

 

角色

角色就是一类权限的集合

将一个角色赋予某个用户,该用户就拥有了该角色的所有权限(批量授权)

create role +角色名      --创建一个角色

创建一个角色后,可以向该角色授权

grant 权限 to 角色名 

将角色赋予给用户

grant 角色名 to 用户名  --将该角色的所有权限给与该用户

drop 角色名  --删除该角色

 

 

 

查询用户拥有哪里权限:
SQL> select * from dba_role_privs;
SQL> select * from dba_sys_privs;
SQL> select * from role_sys_privs;

 

增加WITH ADMIN OPTION选项,则得到的权限可以传递(继承)。

SQL> grant connect, resorce to user50 with admin option;  //可以传递所获权限。

 

select * from dba_users; 查看数据库里面所有用户
select * from all_users;  查看你能管理的所有用户
select * from user_users; 查看当前用户信息 

 

1、系统权限分类:
DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。

RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。

CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。

对于普通用户:授予connect, resource权限。
对于DBA管理用户:授予connect,resource, dba权限。

 

2、系统权限授权命令:
[系统权限只能由DBA用户授出:sys, system(最开始只能是这两个用户)]
授权命令:SQL> grant connect, resource, dba to 用户名1 [,用户名2]...;

[普通用户通过授权可以具有与system相同的用户权限,但永远不能达到与sys用户相同的权限,system用户的权限也可以被回收。]

 











以上是关于oracle 用户权限设置的主要内容,如果未能解决你的问题,请参考以下文章

Oracle权限设置

转载:oracle用户创建及权限设置

oracle用户创建及权限设置

oracle 用户权限设置

oracle用户创建及权限设置

oracle用户创建及权限设置