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:①创建profile:create profile password_history limit password_life_time 10
password_grace_time 2 password_reuse_time 10;
②将profile文件分配给某个用户:alter user panda profile password_history;
5.删除profile:
概述:当不需要某个profile文件时,可以删除该文件。
drop profile profile_name [cascade];
七、常用查询:
查看表结构 : desc emp;
查询所有用户:select * from all_users;
查询用户的所有表:select * from user_tables;
查询用户表空间:select * from user_all_tables;
查询所有函数和存储过程:select * from user_source;
查询当前用户拥有的系统权限:select * from session_privs;
上一篇: 究竟什么是真正的用户运营
下一篇: oracle用户、权限分配