您的位置:首页 > 数据库 > Oracle

Oracle 用户管理

2010-09-15 02:45 232 查看
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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: