欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

oracle用户角色管理

程序员文章站 2022-05-07 23:31:52
...

一、创建用户(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;