Oracle中的权限分类

您所在的位置:网站首页 sql中有哪几种权限 Oracle中的权限分类

Oracle中的权限分类

2024-07-10 05:43| 来源: 网络整理| 查看: 265

       权限是用户对一项功能的执行权力。在Oracle中,根据系统管理方式不同,将Oracle权限分为系统权限与实体权限两类。

一、Oracle权限分类

      系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)

      实体权限:某种权限用户对其他用户的表或视图的存取权限。(是针对表或视图而言的)

二、系统权限

    1.系统权限分类:

      DBA:拥有全部权限,是系统最高权限。只有DBA才可以创建数据库结构。

      resource:拥有resource权限的用户只可以创建实体,不可以创建数据库结构。

      connect:拥有connect权限的用户只可以登录Oracle,不可以创建实体,

                    不可以创建数据库结构。

      ------

      对于普通用户:授予connect,resource权限。

      对于DBA管理用户:授予connect,resource,dba权限。

     2.系统权限授权命令:

       系统权限只能由DBA用户授出:sys,system(最开始只能是这两个用户)

       授权命令:SQL>grant connect,resource,dba to username1[,username2]...;

       [普通用户通过授权可以具有与system相同的权限,但永远不能达到与sys用户相同的

        权限,system用户的权限也可以被回收。]

        SQL> connect system/qaz123@orcl;               SQL> create user test identified by test;        SQL> grant connect,resource to test1;

        查询用户拥有哪里权限:

        SQL> select * from dba_role_privs;

        SQL> select * from dba_sys_privs;

        SQL> select * from role_sys_privs;

        查询用户拥有哪些系统权限:

        SQL> select * from session_privs;

        删除用户:

        SQL> drop user username cascade;   //cascade 会将用户连同其创建的东西

                                                                全部删除。

        3.系统权限传递,增加WITH ADMIN OPTION选项

          SQL> grant connect,resource to test with admin option;

        4.系统权限回收:系统权限只能由DBA用户回收

           SQL> revoke connect,resource from test;

二、Oracle实体权限

     1. 实体权限分类:

         select,update,insert,alter,index,delete,all   //all包括所有权限

         execute  //执行存储过程权限

      2.授权 

       *user_1:

         SQL> grant select,update,insert on product to user_2;

         SQL> grant all on product to user_2;

       *user_2:

         SQL> select * from user_1.product;

         //user_2查user_tables,不包括user_1.product这个表,如果查看all_tables

         //可以查看到,因为它有权限访问。

        *将表的权限赋予全体用户:

          SQL> grant all on product to public;

          //public表示所有用户,这里的all权限不包括drop。

         *实体权限数据字典:

           SQL> select owner,table_name from all_tables;//用户可以查询的表

           SQL> select table_name from user_tables;//用户创建的表

           SQL> select grantor,table_schema,table_name,privilege

                    from all_tab_privs;

                  //获取可以存取的表(被授权的)

           SQL> select grantee,owner,table_name,privilege from user_tab_privis;

                  //授出权限的表(授出的权限)

          *实体权限回收:            user01:            SQL>Revoke select, update on product from user02;

        



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3