【转载】用户管理

1、创建新用户

概述:在Oracle中药创建一个新的用户使用createuser语句,一般是具有DBA(数据库管理员)的权限才能使用。

命令:sql>create user 用户名 identified by 密码

案例:sql>create user kevin identified by m123

说明:创建了一个名为kevin的用户,密码是m123。



2、给用户修改密码

概述:如果给自己修改密码可以直接使用sql>password 用户名。如果给别人修改密码则需要具有DBA的权限,或是拥有alteruser的系统权限

命令:sql>alter user 用户名 identified by 密码

案例:sql>alter user kevin identified by m456

说明:修改用户名为kevin的用户的密码为m456。



3、删除用户

概述:一般以DBA的身份去删除某个用户,如果用其他用户去删除用户则需要具有drop user的权限。

命令:sql>drop user 用户名[cascade]

案例:sql>drop user kevin

说明:删除用户名为Kevin的用户,如果改用户在数据库有创建表,必须带上参数cascade。



4、给用户授权

概述:给一个用户赋权限使用命令grant。如果要将该权限的权限分配权传递下去的话,需要跟上with admin option。

命令:sql>grant 权限 to 用户名

案例:sql>grant create session to kevin

说明:将create session权限赋予用户kevin。



5、回收权限

概述:回收权限使用命令revoke。

命令:sql>revoke 权限from 用户名

案例:sql>revoke create user from kevin

说明:回收kevin的create session权限。



6、给用户赋予角色

概述:给一个用户赋角色使用命令grant。如果要将该权限的权限分配权传递下去的话,需要跟上with admin option。

命令:sql>grant 角色 to 用户名

案例:sql>grant connect to kevin

说明:将connect角色赋予用户kevin。



7、回收角色

概述:回收角色使用命令revoke。

命令:sql>revoke 角色from 用户名

案例:sql>revoke connect from kevin

说明:回收用户kevin的connect角色。



8、给用户赋予对象权限

概述:如果要将分配此权限的权限传递下去的话,需要跟上with grant option。

命令:sql>grant 权限 on 数据对象 to 用户名 [with grant option]

案例:sql>grant select on emp to kevin

说明:将对emp表的查询权限赋予用户kevin。



9、回收对象权限

概述:如果收回了直接授权者的权限,那么该直接授权者所传递下去的授权一并收回。

命令:sql>revoke 权限 on 数据对象 from 用户名

案例:sql>revoke all on emp from kevin

说明:回收用户Kevin对emp表的所有权限。



10、使用profile管理用户口令

概述:profile是口令限制,资源限制的命令集合,当建立数据库时,Oracle会自动建立名称为default的profile。当建立用户没有指定profile选项,那Oracle就会将default分配给用户。

(1)帐户锁定

概述:指定该账户(用户)登录时最多可以输入密码的次数,也可以指定用户锁定的时间(天),一般DBA的身份去执行该命令。

案例:sql>create profile lock_account limit failed_login_attempts 3password_lock_time 2;

sql>alter user tea profilelock_account;

说明:指定tea这个用户最多只能尝试3次登录,锁定时间为2天。

(2)给帐户(用户)解锁

案例:sql>alter user tea account unlock;

说明:给tea这个用户进行帐户解锁。

(3)终止口令

概述:为了让用户定期修改密码可以使用终止口令的指令来完成。同样这个命令需要DBA身份的用户来操作。

案例:sql>create profile myprofile limit password_life_time 10password_grace_time 2;

sql>alter user tea profilemyprofilel

说明:给前面创建的用户tea创建一个profile文件,要求该用户每隔10天要修改自家的登录密码,宽限期为2天。

(4)口令历史

概述:如果希望用户在修改密码时,不能使用以前使用过的密码,可使用口令历史,这样Oracle就会将口令修改的信息存放到数据字典中,这样当用户修改密码时,Oracle就会对新旧密码进行比较,当发现新旧密码一样时,就提示用户重新输入密码。

案例:sql>create profile password_history limit password_life_time 10password_grace_time 2 password_reuse_time 10;

sql>alter user tea profilepassword_history;

说明:要求签名创建的用户tea,输入的密码在10天内不能重复。

(5)删除profile

概述:当不需要某个profile文件时,可以删除该文件

命令:drop profile profile名称 [cascade]

案例:drop profile password_history;

说明:删除名为 password_history的profile。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值