10-Oracle用户管理

                                      用户管理

创建一个用户从无到有,再分配权限,在到堕落以及删除的过程,如果要想进行用户的创建,那么必须有管理员的权限,本次就直接使用sys用户。使用sys登录

1sys登陆

CONN sys/change_on_install AS SYSDBA ;

2、创建一个新的用户,名字为dog,密码为:wangwang

扫描二维码关注公众号,回复: 268537 查看本文章

create user dog identified by wangwang;

那么现在用户已经创建完成了,所以能不能使用此用户登录呢?那么此时出现了如下的错误提示

conn dog/wangwang

ORA-01045: user DOG lacks CREATE SESSION privilege; logon denied

每一个新的用户本身不具备任何的权限,而在Oracle数据库里面,如果用户要想登录,则必须具有创建SESSION的权限,如果要分配权限则可以使用如下的语法:

GRANT 权限1,权限2 ,... TO 用户名;

范例:将创建SESSION的权限赋予dog

grant create session to dog;

登陆到:dog用户

conn dog/wangwang

既然已经使用了dog用户登录成功,那么下面创建序列和表?

create sequence mysql;

create table mytab(

name      varchar2(20)

);

这个时候发现出现了以下错误信息:“ORA-01031: 权限不足

实际上进来后发现依然要权限,一步一个脚印,需要创建序列的权限、需要创建表的权限,还有可能需要一堆其他的权限。这样做太麻烦了,所以在Oracle里面提供有一种角色的概念。所谓的角色指的是包含有若干个权限,那么在Oracle里面主要使用两个角色:CONNECT(了解)、RESOURCE(表以及表空间)。

范例:将两个角色授予dog用户,登陆sys用户下在执行下面语法

grant connect,resource to dog;

现在可以创建表和序列了

范例:修改用户密码,由于用户并不多,所以这种用户的维护就可以由sys进行了

alter user dog identified by miaomiao;

此时密码已修改

范例:让用户密码过期

alter user dog password expire;

范例:锁定用户

alter user dog account lock;

 

范例:用户解锁

alter user dog account unlock;

 

除了以上给出的一些系统权限之外,还可以使用一些对象权限。

         可以针对于一个对象下的数据表进行访问的定义:有四种权限:INSERTUPDATEDELETESELECT

范例:下面将scott.emp表的SELECTINSERT权限授予dog用户

 

grant select,insert on scott.emp to dog;

授权后dog用户就可以查看和更新scott用户的数据

范例:回收scott权限

 

revoke select,insert on scott.emp from dog;

收回权限后将无法查看和修改scott用户的内容

范例:回收其它所授予的权限

revoke connect,resource,create session from dog;

 

删除dog

drop user dog cascade;

 

猜你喜欢

转载自404168219.iteye.com/blog/2338170