10-Oracle用户管理

 

                                      用户管理

 

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

 

1sys登陆

 

CONN sys/change_on_install AS SYSDBA ;

 

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

 

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;

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值