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 删除。

扫描二维码关注公众号,回复: 1264713 查看本文章

        注意: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;

猜你喜欢

转载自710542316.iteye.com/blog/1954420