Oracle管理权限(三) Oracle对象权限的管理

1、授予对象权限

是指访问其他用户方案对象的权限。

GRANT object_priv|ALL [(columns)]

ON object

TO {user|role|PUBLIC}

[WITH GRANT OPTION];

ALL:所有对象权限

PUBLIC:授给所有的用户

WITH GRANT OPTION:允许用户再次给其它用户授权。

——针对列授予对象权限

11:24:05 SQL> grant update(sal) on scott.emp to tom;

Grant succeeded.

11:29:39 SQL> conn tom/tom

Connected.

11:29:51 SQL> update scott.emp set comm=100 where empno=7788;  ——对该列无权限修改

update scott.emp set comm=100 where empno=7788

*

ERROR at line 1:

ORA-01031: insufficient privileges

SQL> update scott.emp set sal=10000 where empno=7788;

1 row updated.

SQL> rollback;

Rollback complete.

SQL> select GRANTEE,OWNER,TABLE_NAME,COLUMN_NAME,PRIVILEGE from user_col_privs;

GRANTEE    OWNER           TABLE_NAME      COLUMN_NAME     PRIVILEGE

---------- --------------- --------------- --------------- ---------------

TOM        SCOTT           EMP             SAL             UPDATE

2、显示对象权限

1)显示对象权限

04:39:24 SQL> select grantor ,owner ||'.'||table_name object,privilege

04:39:34   2   from dba_tab_privs

04:39:41   3     where grantee='HR';

GRANTOR    OBJECT          PRIVILEGE

---------- --------------- ----------

SYS        SYS.DBMS_STATS  EXECUTE

SCOTT      SCOTT.DEPT      UPDATE

SCOTT      SCOTT.DEPT      SELECT

SCOTT      SCOTT.DEPT      DELETE

2)显示列权限

04:42:15 SQL> col owner for a10

04:42:58 SQL> col table_column for a15

04:43:08 SQL> col privileg for a10

04:43:14 SQL> select owner ,table_name||'.'||column_name table_column, privilege  from dba_col_privs

04:44:00   2   where grantee='HR';

OWNER      TABLE_COLUMN    PRIVILEGE

---------- --------------- ----------------------------------------

SCOTT      EMP.SAL         UPDATE

3)显示用户授出的列权限

04:47:57 SQL> l

1   select grantee,privilege,table_name||'.'||column_name

2    tab_column

3*     from user_col_privs_made;

4)显示用户所具有的列权限

select privilege,table_name||'.'||column_name tab_column,

04:49:38   2    grantor

04:49:43   3      from all_col_privs_recd

04:49:53   4       where grantee='HR';

no rows selected

5)显示用户所授出的对象权限

04:42:47 SQL> col table_name for a10for a10

04:51:19 SQL> select grantee ,privilege ,table_name

04:51:34   2    from user_tab_privs_made;

GRANTEE                        PRIVILEGE                                TABLE_NAME

------------------------------ ---------------------------------------- ----------

HR                             DELETE                                   DEPT

HR                             SELECT                                   DEPT

HR                             UPDATE                                   DEPT

OE                             SELECT                                   EMP

6)显示用户所具有的对象权限

04:52:45 SQL> select privilege,table_name,grantor

04:52:58   2    from all_tab_privs_recd

04:53:10   3      where grantee='HR';

PRIVILEGE                                TABLE_NAME GRANTOR

---------------------------------------- ---------- ------------------------------

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/database/Oracle/

时间: 2024-09-11 20:59:03

Oracle管理权限(三) Oracle对象权限的管理的相关文章

OCP1z0-047 : 权限――角色与对象权限

按题意,操作如下: 1.创建一个角色r1 sys@OCM> create role r1; Role created. 2.角色r1可以查询和插入oe用户下的orders表 sys@OCM> grant select,insert on oe.orders to r1; Grant succeeded. 3.把r1拥有的所有全权授权给scott用户 sys@OCM> grant r1 to scott; Grant succeeded. 4.授予scott用户可以查oe用户下的order

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

--================================ --Oracle 用户.对象权限.系统权限 --================================   一.用户与模式     用户:对数据库的访问,需要以适当用户身份通过验证,并具有相关权限来完成一系列动作        SYS用户,缺省始终创建,且未被锁定,拥有数据字典及其关联的所有对象        SYSTEM用户,缺省始终创建,且未被锁定,可以访问数据库内的所有对象     模式(schema):是某个

Oracle的对象权限、角色权限、系统权限

Oracle的对象权限.角色权限.系统权限 一.用户与模式     用户:对数据库的访问,需要以适当用户身份通过验证,并具有相关权限来完成一系列动作        SYS用户,缺省始终创建,且未被锁定,拥有数据字典及其关联的所有对象        SYSTEM用户,缺省始终创建,且未被锁定,可以访问数据库内的所有对象     模式(schema):是某个用户拥有所有对象的集合.具有创建对象权限并创建了对象的用户称为拥有某个模式       注意:创建数据库对象(视图,表等)的任一用户都拥有一个以

Objective-C之集合对象的内存管理

集合对象的内存管理 本小节知识点: [掌握]集合对象的内存管理 [理解]集合对象内存管理总结 1.集合对象的内存管理 当一个对象加入到集合中,那么该对象的引用计数会+1 当集合被销毁的时候,集合会向集合中的元素发送release消息 NSMutableArray *arr = [[NSMutableArray alloc] init]; Person *p = [[Person alloc] init]; NSLog(@"retainCount = %lu", [p retainCou

Oracle的SYS用户登录报权限不足(insufficient privileges)

Oracle的SYS用户登录报权限不足(insufficient privileges) D:\Users\xiaomaimiao>sqlplus sys/lhr@192.168.1.31/orastrac  as sysdba SQL*Plus: Release 11.2.0.1.0 Production on Sat Jul 15 11:36:54 2017 Copyright (c) 1982, 2010, Oracle.  All rights reserved. ERROR:ORA-0

oracle学习笔记(三)_oracle

一.创建和管理表 1.创建表语法 create table 表名(column datatype [default expr][,column ...]) default 约束 说明略 2.利用子查询创建表 create table 表名 as select * from u表 二.修改表 1.添加一个新列 oracle:alter table table_name add(column datatype [default expr][,column datatype]...); 2.修改现有的

【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之RAC 工作原理和相关组件(三)

RAC 工作原理和相关组件(三) RAC 工作原理和相关组件       OracleRAC 是多个单实例在配置意义上的扩展,实现由两个或者多个节点(实例)使用一个共同的共享数据库(例如,一个数据库同时安装多个实例并打开).在这种情况下,每一个单独的实例有它自己的 cpu 和物理内存,也有自己的 SGA 和后台进程.和传统的 oracle 实例相比,在系统全局区(SYSTEM CLOBAL AREA,SGA)与后台进程有着显著的不同.最大的不同之处在于多了一个GRD,GRD内存块主要是记录此ra

springBoot+springSecurity 数据库动态管理用户、角色、权限

  使用spring Security3的四种方法概述 那么在Spring Security3的使用中,有4种方法: 一种是全部利用配置文件,将用户.权限.资源(url)硬编码在xml文件中,已经实现过,并经过验证: 二种是用户和权限用数据库存储,而资源(url)和权限的对应采用硬编码配置,目前这种方式已经实现,并经过验证. 三种是细分角色和权限,并将用户.角色.权限和资源均采用数据库存储,并且自定义过滤器,代替原有的FilterSecurityInterceptor过滤器, 并分别实现Acce

Listings of System and Object Privileges--系统和对象权限列表

Listings of System and Object Privileges--系统和对象权限列表 https://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_9013.htm#i2077938 Listings of System and Object Privileges