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 用户权限设置的主要内容,如果未能解决你的问题,请参考以下文章