日期:2014-05-16  浏览次数:20485 次

三、oracle用户角色管理

一、创建用户(create):create user panda identified by bsoft;

?

二、修改密码(password):

???? 1.给自己修改密码时,直接password;

???? 2.给其他用户修改密码时,首先需要具备dba权限,或者是拥有alter user的系统权限,如password

??????? panda,然后键入相应的新密码,或者用语句alter user panda identified by bsoft以修改密码。

?

三、删除用户(drop):

???? 1.一般以dba的的身份去删除某个用户,如果用其他用户去删除某个用户,则用户需要具备drop user的权

??????? 限(用户的此权限须由dba用户来授予)。

???? 2.用语句 drop user panda cascade 删除。

??????? 注意:cascade参数是级联删除该用户所有对象,经常遇到如用户有对象而未加此参数则用户删不了的

????????????????? 问题,所以习惯性的加此参数

???? 3.不能删除用户本身。如当前panda登陆,则无法执行drop user panda语句。

???? 4.如果要删除的用户已经创建了表,那么就需要在删除时带上cascade参数,表示删除用户的同时删除此

??????? 用户所创建的表。(级联删除)

?

四、用户授权(grant):

????? 概述:1.创建的新用户是没有任何权限的,甚至连登陆数据库的权限也没有,需要具备权限分配的用户为

?? ??????????????? 新用户分配权限,给用户赋权限用grant,回收权限用revoke。

??????????????? 2.权限分类:①系统权限(140多种):用户对数据库的相关权限;②对象权限(25种如增删改查

?????????????????? 等等):用户对其他用户的数据库对象操作的权限。

?????????????????? eg: ①scott将查询、修改自己的emp表的操作权限授予panda。

??????????????????????? ? ? grant select,update on emp to panda;

???????????????????????? ②scott将自己的emp表的所有操作权限授予panda。

??????????????????????????? grant all on emp to panda;

???????????????????????? ③soctt回收panda对其emp表的修改权限。

??????????????????????????? revoke update on emp from panda;

???????????????????????? ④scott将查询自己的所有表的操作权限授予panda。

??????????????????????????? grant select any table to panda;

??????????????? 3.权限分配管理:

?????????????????? ①如果是对象权限,则在给用户分配权限的时候加上with grant option

????????????????????? eg: scott在给panda分配对其emp表查询权限的同时希望panda将此权限可以传递给其他用户.

??????????????????????????? grant select on emp to panda with grant option;

??????????????????????????? panda登陆,将emp表的select权限分配给pandita:

??????????????????????????? grant select on scott.emp to pandita;

??????????????????????????? 注意:此种情况下,当scott收回panda对emp表查询的权限时,pandita也不具备对emp表

????????????????????????????????????? 的查询权限。

????????????????????????????????????? revoke select on emp from panda;

?????????????????? ②如果是系统权限,则在给用户分配权限的时候加上with admin option

????????????????????? eg: system在给panda分配connect权限的同时希望panda能将此权限传递给其他用户.

??????????????????????????? grant connect to panda with admin option;

?

五、角色管理:

????? 概述:角色可以理解为权限的集合。

??????????????? 1.角色分类:

?????????????????? 一、预定义角色:即系统自带的角色,如dba、resource(允许用户在任何的表空间建

?????????????????????????????????????????????? 表)、connect(具备连接数据库等权限)。

?????????????????? 二、自定义角色。

????????????

六、用户口令管理(profile):

?????? 概述:profile是口令限制,资源限制的命令集合。当建立数据库时,oracle会自动建立名称为default的

????????????????? profile,当建立用户没有指定profile选项,那么oracle就会将default分配给用户。

?????? 1.账户锁定:

????????? 概述:指定该用户登录时最多可以输入密码的次数,也可以指定用户锁定的时间(天),一般用dba的

????????? 身份去 执行该命令。

????????? eg:指定panda这个用户最多只能尝试3次登陆,锁定时间为2天。

???????????????? ①创建规则:create profile lock_account limit failed_login_attemps 3 password_lock_time 2;

???????????????? ②将此规则应用到指定的用户:alter user panda profile lock_account;

?????? 2.解锁用户:

????????? alter user panda account unlock;

?

?????? 3.终止口令:

????????? 概述:为了让用户定期修改密码可以使用终止口令完成,此命令需要dba身份来操作。

????????? eg : 给用户panda创建一个profile文件,要求panda每隔10天修改自身密码,宽限期为2天。

???????????????? ①创建规则:create profile upd_pwd limit password_life_time 10 password_grace_time 2;

???????????????? ②将此规则应用到指定的用户:alter user panda profile upd_pwd;

?

????? 4.口令历史:

???????? 概述:如果希望用户在修改密码时,不能使用以前使用过的密码,可使用口令历史。这样oracle就会将

?????????????????? 口令修改的信息存放到数据字典中,当用户修改密码时,oracle就会对新旧密码进行比较,当发

?????????????????? 现新旧密码一样时,旧提示用户重新输入密码。

?????????????????? eg:①创建p