设为首页 加入收藏

TOP

Oracle03、用户授权以及用户解锁问题
2017-10-11 13:09:33 】 浏览:9643
Tags:Oracle03 用户 授权 以及 解锁 问题

一、关于Oracle用户权限表的认知

在Oracle中有很多的用户,不同的用户有着不同的权限,在学习阶段,一般使用的是scott用户,并且对该用户的表进行增删改查等操作。下面就简单介绍一下常见的用户。

sys;//系统管理员,拥有Oracle的最高的权限;

system;//本地管理员,拥有次高的权限;

scott;//普通的用户,密码默认是tiger,默认未解锁。

二、解锁用户

oracle中,除了sys没有锁住之外,其他的用户一般都是锁住的,所以我们需要将之解锁,解锁命令如下:

/*解锁scott用户*/
alter user scott account unlock;
/*修改scott密码*/
alter user scott identified by tiger;

当我们执行了上述的操作之后我们就可以使用scott的normal用户了。

三、创建用户

当我们想要创建一个新的用户的时候,必须处于管理员用户权限下面才可以创建并且给他赋予权限,命令如下:

/*创建用户并且给用户设置密码*/
create user zhangsan identified by tiger; 

四、授予权限

1、系统管理员给创建用户赋予权限

当我们创建了一个用户后,这个用户其实是没有任何权限的,需要系统管理员给他赋予权限,比如:

/*授予(回收)zhangsan用户创建session的权限,即登陆权限*/
grant create session to lisi;
revoke create session from lisi;
/*赋予zhangsan用户使用表空间的权限*/
grant unlimited tablespace to zhangsan;
/*授予用户创建表的权限*/
grant create table to zhangsan;
revoke create table from zhangsan;

以上按照顺序才可以正式使用。对用户赋予权限在网络上查找资料的时候还有一些如下命令,但是在PL/SQL Developer中使用不了,这里也作为一个参考,命令如下:

grant create table to zhangsan;//授予创建表的权限
grante drop table to zhangsan;//授予删除表的权限
grant insert table to zhangsan;//插入表的权限
grant update table to zhangsan;//修改表的权限
grant all to public;//这条比较重要,授予所有权限(all)给所有用户(public)

2、普通用户之间的相互访问

oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的,需要互相授权

/*授予(回收)zhangsan查询scott用户中的emp表数据的权限,执行语句所在用户必须有这张表*/
grant select on emp to zhangsan;
revoke select on emp from zhangsan;
/*授予(回收)zhangsan插入数据到scott用户中的emp表的权限,执行语句所在用户必须有这张表*/
grant insert on emp to zhangsan;
revoke insert on emp from zhangsan;
/*授予(回收)zhangsan修改scott用户中的emp表数据的权限,执行语句所在用户必须有这张表*/
grant update on emp to zhangsan;
revoke update on emp from zhangsan;
/*授予(回收)zhangsan删除scott用户中的emp表数据的权限,执行语句所在用户必须有这张表*/
grant delete on emp to zhangsan;
revoke delete on emp from zhangsan;

3、权限传递

即用户A将权限授予B,B可以将操作的权限再授予C,命令如下:

grant alert table on tablename to zhangsan with admin option;//关键字 with admin option
grant alert table on tablename to zhangsan with grant option;//关键字 with grant option效果和admin类似

4、角色

角色即权限的集合,可以把一个角色授予给用户

create role myrole;//创建角色
grant create session to myrole;//将创建session的权限授予myrole
grant myrole to zhangsan;//授予zhangsan用户myrole的角色
drop role myrole;//删除角色
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇SQL SERVER 使用ESCAPE转义 下一篇C# 乐观锁、悲观锁、共享锁、排它..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目