`

oracle中的权限

阅读更多

oracle中的权限

一、权限

系统权限: 取得操作数据库的权限,如表的创建(目前理解好像只有create命令是系统级的)

Object权限:对数据对象object的内容进行操作的权限,如表的insert delete update select,可以将object的权限授予user或role


二、用户

(一)创建:
语法:
           CREATE USER user
         IDENTIFIED {BY password | EXTERNALLY|GLOBALLY AS external name}
         [ DEFAULT TABLESPACE tablespace ]
         [ TEMPORARY TABLESPACE tablespace ]
         [ QUOTA {integer [K | M ] | UNLIMITED } ON tablespace
         [ QUOTA {integer [K | M ] | UNLIMITED } ON tablespace     ]...]
         [ PASSWORD EXPIRE ]
         [ ACCOUNT { LOCK | UNLOCK }]
         [ PROFILE { profile | DEFAULT }]
 例子:
        SYS>create user user_a identified by user_a
        SYS>alter user user_a account unlock;

(二) 删除:
        SYS> drop user user_a cascade;

(三)修改密码

       SYS>alter user app identified by app123;


三、给用户授予系统权限

(1)   语法:
           GRANT privilege [, privilege...]           
                TO user [, user| role, PUBLIC...];
   例子:
        SYS>grant create session to user_a;//此时user_a可以与数据库进行对话了
        SYS> grant create table to user_a;//授权create table的权利
        SYS> alter user user_a quota 5m on users;//user_a可以用数据库中5M空间 5m可以用unlimited替换,表示没空间限制

(2)系统权限WITH ADMIN OPTION

        用户只有具有了admin option后才可以将系统权限授予其他用户,
        sys将系统权限如create table授予user_a,而user_a将权限再授予user_b
        create table
        sys-->user_a--->user_b
        当sys回收revoke权限时,user_b中还create table权限,user_b可以将create table的权限重新给user_b;
  例子:
        SYS>grant create table to user_a with admin option;
        user_a>grant create table to user_b with admin option;   
        user_a>create table t1(id int);//OK
        user_b>create table t1(id int);//OK
        SYS>revoke create table from user_a;
        user_a>create table t2(id int);//fail user_b权限已被回收
        user_b>create table t2(id int);//OK   user_a权限没有被级联回收
        user_b>grant create table to user_a with admin option;// user_b具有asmin option 可以将系统权限授予其他用户
        user_a>create table t2(id int);//OK

四、Object权限privilege

(一)创建
       语法:
              GRANT object_priv [(columns)]
              ON object
              TO {user|role|PUBLIC}
              [WITH GRANT OPTION]
              [WITH ADMIN OPTION];

       例子:
              grant select on user_a.t1 to user_b;

(二)回收

     语法:

                  REVOKE {privilege [, privilege...]|ALL}
                  ON object
                  FROM  {user[, user...]|role|PUBLIC};
      例子:
                  REVOKE select,insert ON departments FROM scott;

 

五、 角色(role)

角色可以看做是带有一堆权限的抽象用户

(一)创建

sys>create role role_test identified by test;

(二)授权

grant role_test to scott

(三)删除

drop role role_test;

(四)回收

sys>revoke role_test from scott;

 

六、涉及到的数据字典

用户:
     USER_ROLE_PRIVS   
     USER_SYS_PRIVS       

session:
    session_privs
    session_roles

dba:

     dba_roles
     dba_role_privs

role:     
     role_role_privs
     role_sys_privs
     role_tab_privs



 

 



 

练习见附件

  • 大小: 40.8 KB
  • 大小: 40.8 KB
  • 大小: 43.6 KB
  • 大小: 59.6 KB
  • 大小: 50.5 KB
分享到:
评论

相关推荐

    Oracle权限大全

    Oracle 权限大全是 Oracle 数据库管理系统中的一种安全机制,用于控制用户对数据库的访问权限。该机制包括用户管理、权限授予、撤销、查看、权限传递、角色的增删改查等多方面的内容。 用户管理是 Oracle 权限大全...

    oracle数据库权限管理

    在Oracle环境中,权限控制是通过授权(GRANT)和回收(REVOKE)操作来实现的,以决定用户或角色可以访问哪些资源以及他们可以执行的操作。 首先,让我们详细了解一下Oracle中的权限类型: 1. **系统权限**:这些...

    oracle 权限

    ### Oracle权限管理详解 在Oracle数据库管理中,权限管理是一项重要的功能,它涉及到数据库的安全性和数据访问控制。本文将基于提供的文件信息,详细介绍Oracle中如何创建用户、分配及撤销权限等关键操作,并深入...

    查看ORACLE用户权限

    在Oracle数据库管理中,了解和控制用户权限是至关重要的任务之一。这不仅涉及到数据库的安全性,也直接影响到数据的完整性和系统的高效运行。通过查询Oracle中的特定视图,我们可以详细了解用户的权限分配情况,包括...

    修改oracle表权限

    根据题目提供的内容,主要涉及到的是对象权限中的插入、更新和删除操作。下面将详细介绍如何通过SQL语句来实现这些操作。 #### 3. SQL语句示例 题目中给出了具体的SQL语句示例,用于授予用户`ah_yjcz`对几个表的...

    Oracle 常用系统权限

    Oracle 系统权限是 Oracle 数据库中的一种安全机制,用于控制用户对数据库对象的访问权限。了解这些权限对于开发人员来说非常重要,因为它们可以帮助开发人员更好地控制数据库的安全性和访问权限。 Create Session ...

    Oracle设置用户权限

    在Oracle中,用户权限分为多个级别,不同的权限级别允许用户执行不同的操作。 1. **DBA (Database Administrator)**:拥有最高级别的权限,可以执行所有数据库操作,包括创建数据库结构。 2. **RESOURCE**:具有...

    oracle用户权限、角色管理详解

    Oracle 权限设置 一、权限分类: 系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。 实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。 二、系统权限管理: 1、...

    oracle数据库的权限系统分为系统权限与对象权限

    Oracle数据库权限系统是指Oracle数据库中的一套完整的权限管理机制,旨在确保数据库安全和数据完整性。该系统分为系统权限和对象权限两大类。 系统权限(Database System Privilege) --------------------------- ...

    oracle应用程序要求的数据库权限超出了您当前具有的权限

    在 Oracle 数据库中,有多种类型的权限,包括系统权限和对象权限。系统权限控制着用户可以在数据库中执行的操作,如创建、修改和删除对象等。对象权限控制着用户可以对特定对象执行的操作,如 select、insert、...

    oracle权限函数

    ### Oracle权限函数详解 在Oracle数据库管理中,权限管理是一项重要的任务,它涉及到对用户、角色及对象等数据库实体的访问控制。通过合理地分配权限,可以有效地保护数据的安全性和完整性,同时确保业务流程的正常...

    oracle权限设置

    本文将基于提供的文件信息中的内容,详细介绍Oracle权限设置的相关知识点。 #### 一、Oracle常用权限概述 在Oracle数据库中,权限主要分为系统权限(System Privileges)和对象权限(Object Privileges)两大类。 ...

    oracle权限全集

    在这个“Oracle权限全集”中,我们将深入探讨Oracle数据库中的各种权限类型、权限的授予与撤销、角色的使用以及与权限相关的其他关键概念。 1. **权限类型** - **对象权限**:针对特定对象(如表、视图、序列、...

    oracle用户的权限详细说明以及赋权的操作

    Oracle数据库的权限管理是关系数据库管理系统(RDBMS)中非常关键的一部分。它允许数据库管理员(DBA)对用户进行精细化的权限控制,以确保数据的安全性和完整性。在Oracle中,权限可以细分为系统权限(System Privileges...

    Oracle用户与对象权限与系统权限

    Oracle权限管理是指对用户和模式的权限管理。权限可以授予用户或模式,可以控制用户和模式对数据库对象的访问和操作权限。权限管理是 Oracle 安全机制的核心组件,可以确保数据库的安全和可靠性。 Oracle用户与...

    Oracle权限

    ### Oracle权限管理详解 #### 一、Oracle权限概述 Oracle数据库通过权限管理机制来确保数据的安全性和完整性。权限主要包括系统权限(SYS PRIVILEGES)和对象权限(OBJECT PRIVILEGES)。系统权限允许用户执行特定...

    使用PLSQL 创建Oracle数据库用户并设置权限

    在本文中,我们将使用 PLSQL 创建 Oracle 数据库用户并设置权限,包括创建用户、设置权限和创建表。 一、创建用户 在 PLSQL Developer 中,首先需要连接到 Oracle 数据库。在连接到数据库时,需要输入数据库名称、...

    Oracle系统权限和对象权限

    本文将详细介绍Oracle中的系统权限和对象权限,并结合给定的部分内容,深入解析其中的关键概念。 #### 二、系统权限(System Privileges) 系统权限是指授予用户的能够执行某些特定数据库操作的权利。这些权限通常不...

    Oracle权限不足问题集锦

    我现在想从我的存储过程中使用其他 schema 表来执行 SQL 语句。存储过程是一个 Schema,表是在另一个 Schema。...是在同一个 Oracle 实例中,数据库是 Oracle 10g。 答:你的两个 Schema 是在同一个 Oracle 实

Global site tag (gtag.js) - Google Analytics