精华内容
下载资源
问答
  • oracle 系统权限和对象权限

    千次阅读 2017-02-07 11:32:41
    oracle的权限分为系统权限和对象权限系统权限使用with admin option 进行递归管理,系统权限收回必须有DBA权限,revoke收回时不会递归收回。 对象权限使用with grant option进行递归管理,收回权限时会递归回收...

    oracle privs

    oracle的权限分为系统权限和对象权限。
    系统权限使用with admin option 进行递归管理,系统权限收回必须有DBA权限,revoke收回时不会递归收回。
    对象权限使用with grant option进行递归管理,收回权限时会递归回收。

    eg1:
    当用户被赋予了resource角色权限的时候,则赋予了quota unlimited的权限。

    这里有俩个重要的视图 user_ts_quotas,dba_ts_quotas

    其中MAX_BYTES : -1,表示无限制;0,表示是没有空间分配;非空值则代表不大于此值。

    展开全文
  • 2.查询Oracle所有对象权限 select * from table_privilege_map 3.将'授予系统权限'这个权限给某用户--当然一般采用 dba 给其他用户授予“其他权限”,这个权限一般不需要给别人 grant any privilege to TestUser ...
    1.
    查询Oracle所有系统权限 
    
    select * from system_privilege_map 

    2. 查询Oracle所有对象权限
    select * from table_privilege_map 

    3.将'授予系统权限'这个权限给某用户--当然一般采用 dba 给其他用户授予“其他权限”,这个权限一般不需要给别人
    grant any privilege to TestUser 【with admin option】//表示 TestUser 用户有权利 给其他用户授予 系统权限 。后面 表示对这个权限的维护(能否再授予其他用户) 

    4.举例: 授予系统权限 create session (连接数据库的关键权限,connect角色中有这个权限, oracle角色 文章中有介绍)
    1.grant create session to TestUser //TestUser就可以连接数据库了
    2.grant create session to TestUser with option admin //TestUser就可以连接数据库了,并且 可以 将这个权限 给其他用户
    

    5.收回 系统权限 不会级联回收
     revoke create session from TestUser

    6. 关于 系统权限 的维护
    with admin option //表示继承后可以 授予其他用户

    7. 关于 对象权限 的维护
    with grant option //表示继承后可以 授予其他用户

    8.举例: 授予对象权限 update,select,insert,delete,all [4种等于 all]
    grant select on scott.emp to TestUser 【with grant option】 //表示给TestUser 授予scott.emp的查询权限
    grant all on scott.emp to TestUser //表示给TestUser 授予scott.emp的select,update,insert,delete 权限

    9.举例: 授予 某几列 对象权限
    grant update on scott.emp(sal) to luob //指定修改某列
    grant select on emp(ename,sal) to luob //只能查询这指定字段

    10.举例:授予 alter 权限
    grant alter on scott.emp to luob //授予这个表结构的修改权限

    11.举例:授予 execute 权限 (用于用户执行其他方案的包、过程,函数)
    grant execute on dbms_transaction to luob; --执行 dbms_transaction 包的权限

    12.举例:授予 index 权限
     grant index on scott.emp to luob 【with grant option】 //授予创建索引的权限

    13.收回 对象权限 【cascade】会级联回收
     revoke select on scott.emp from TestUser【cascade】//撤销查询权限或者级联撤销

    14.举例:级联回收的
    grant select on emp to luobing with grant option; //授予权限 并维护
    conn luobin/m123@ORACLE; //登录后 给 xiaoming 权限
    grant select on emp to xiaoming;
    conn scott/tiger@ORACLE //scott 撤销 luobing的权限
    revoke select on emp from luobing cascade
    conn xiaoming/m123@ORACLE;
    select * from scott.emp; //表和视图不存在

    15.查询当前用户具有的系统权限
    select * from dba_sys_privs where grantee='SYSTEM'

    16.查询当前用户具有的对象权限
    select * from dba_tab_privs where grantee='SYSTEM';

    17.查询当前用户具有的列权限
    select * from dba_col_privs where grantee='SYSTEM';

    18.查询用户 SCOTT 所拥有的系统权限
    select * from dba_sys_privs where grantee in (select granted_role from dba_role_privs where grantee='SCOTT');

    19.数据库管理员 DBA的一些职责
    1.安装和升级 oracle 数据库
    2.建库建表建空间 视图,索引。。。。
    3.指定和并实施 备份和恢复计划
    4.数据库权限管理,调优,故障排除
    5.对高级的dba,要求能参加项目开发,会编写sql语句 ,存储过程,触发器,规则,约束,包
    6.管理员 还有管理初始化参数
         show  parameter; 有 200多参数 有参数可以配置的
    7.管理数据库的用户主要是 sys (董事长)> 和system  (总经理)
    

    20.sys,sysdba,sysoper的区别
    sys:拥有oracle的基表和视图,拥有 dba 数据库管理
    sysdba:系统管理员
    sysoper:系统操作员  的角色和权限
    system:主要存储次一级的数据 如:oracle的特性和工具的管理信息和 
    dba,sysdba 角色权限 区别   
    1.存储的数据重要性不一样 ,权限不一样 
    2.sys 必须 利用 as sysdba 或者 as sysoper 不能用normal(标准)方式登录
    3.system 默认登录角色是  dba   (conn system/manager)
    4.如果用  conn system/manager as sysdba  登录结果和 sys 登录一样
    

    21. sysdba 和 sysoper的权限区别
    权限sysdbasysoper
    能够 Startup/Shutdown 启动/关闭数据库yy
    alter database open/mount/backup(设置数据库不同的状态)yy
    改变字符集yn
    采用 create/drop database(创建/删除数据库)yn
    create spfileyy
    alter database archivelog(归档日志)yy
    alter database recover(完全和部分恢复数据库)y只能完全恢复,不能执行部分恢复
    拥有 restricted session(会话限制)权限yy
    可以让用户作为sys 用户连接yy
    登录之后 syspublic
    展开全文
  • 权限、角色、用户:

    权限、角色、用户:
    Oracle 权限
    权限允许用户访问属于其它用户的对象或执行程序,ORACLE系统提供三种权限:Object 对象级、System 系统级、Role 角色级。这些权限可以授予给用户、特殊用户public或角色,如果授予一个权限给特殊用户”Public”(用户public是oracle预定义的,每个用户享有这个用户享有的权限),那么就意味作将该权限授予了该数据库的所有用户。
    对管理权限而言,角色是一个工具,权限能够被授予给一个角色,角色也能被授予给另一个角色或用户。用户可以通过角色继承权限,除了管理权限外角色服务没有其它目的。权限可以被授予,也可以用同样的方式撤销。
    权限分类
    1、系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。
    2、实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。
    系统权限管理
    系统权限分类:
    DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
    RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
    RESOURCE:是系统一个角色;
    拥有的系统权限有:
    拥有的系统权限
    CREATE SEQUENCE –创建序列权限
    CREATE TRIGGER –创建触发器
    CREATE CLUSTER –创建游标
    CREATE PROCEDURE –创建存储过程
    CREATE TYPE –自定义类型
    CREATE OPERATOR –创建操作符
    CREATE TABLE –创建表
    CREATE INDEXTYPE –创建索引
    CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
    拥有的系统权限有:
    这里写图片描述
    CREATE SESSION – 用户被创建后,没有任何权限,包括登录。用户如果想登录,至少需要有 CREATE SESSION 的权限
    对于普通用户:授予connect, resource 系统角色。
    对于DBA管理用户:授予connect,resource, dba 系统角色。
    系统权限授权命令:
    系统权限只能由DBA用户授出:sys, system(最开始只能是这两个用户)
    授权命令:SQL> grant connect, resource, dba to 用户名1 [,用户名2]…;
    注:普通用户通过授权可以具有与system相同的用户权限,但永远不能达到与sys用户相同的权限,system用户的权限也可以被回收。
    例:
    SQL> connect system/manager
    SQL> create user user50 identified by user50;
    SQL> grant connect, resource to user50;

    查当前用户拥有哪些系统权限和角色
    select * from session_privs; –查看当前用户拥有的权限
    select * from session_roles; –查看当前用户拥有的角色
    删除用户
    SQL> drop user 用户名 cascade; //加上cascade则将用户连同其创建的东西全部删除
    系统权限传递:
    增加WITH ADMIN OPTION选项,则得到的权限可以传递。
    SQL> grant connect, resorce to user50 with admin option; //可以传递所获权限。
    系统权限回收:系统权限只能由DBA用户回收
    SQL> Revoke connect, resource from user50;
    说明:
    1)如果使用WITH ADMIN OPTION为某个用户授予系统权限,那么对于被这个用户授予相同权限的所有用户来说,取消该用户的系统权限并不会级联取消这些用户的相同权限。
    2)系统权限无级联,即A授予B权限,B授予C权限,如果A收回B的权限,C的权限不受影响;系统权限可以跨用户回收,即A可以直接收回C用户的权限。
    实体权限管理
    实体权限分类
    select, update, insert, alter, index, delete, all //all包括所有权限
    execute //执行存储过程权限
    user01:
    SQL> grant select, update, insert on product to user02;
    SQL> grant all on product to user02;
    user02:
    SQL> select * from user01.product;
    // 此时user02查user_tables,不包括user01.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_privs; // 授出权限的表(授出的权限)
    DBA用户可以操作全体用户的任意基表(无需授权,包括删除):
    DBA用户:
    SQL> Create table stud02.product(
    id number(10),
    name varchar2(20));
    SQL> drop table stud02.emp;

    SQL> create table stud02.employee
    as
    select * from scott.emp;
    实体权限传递(with grant option):
    user01:
    SQL> grant select, update on product to user02 with grant option; // user02得到权限,并可以传递。
    实体权限回收:
    user01:
    SQL>Revoke select, update on product from user02; //传递的权限将全部丢失。
    说明
    1)如果取消某个用户的对象权限,那么对于这个用户使用WITH GRANT OPTION授予权限的用户来说,同样还会取消这些用户的相同权限,也就是说取消授权时级联的。
    Oracle 角色管理
    角色是一组权限的集合,将角色赋给一个用户,这个用户就拥有了这个角色中的所有权限。系统预定义角色是在数据库安装后,系统自动创建的一些常用的角色。下介简单的介绍一下这些预定角色。角色所包含的权限可以用以下语句查询:
    sql>select * from role_sys_privs where role=’角色名’;
    CONNECT, RESOURCE, DBA:这些预定义角色主要是为了向后兼容。其主要是用于数据库管理。oracle建议用户自己设计数据库管理和安全的权限规划,而不要简单的使用这些预定角色。将来的版本中这些角色可能不会作为预定义角色。
    DELETE_CATALOG_ROLE, EXECUTE_CATALOG_ROLE, SELECT_CATALOG_ROLE:这些角色主要用于访问数据字典视图和包。
    EXP_FULL_DATABASE, IMP_FULL_DATABASE:这两个角色用于数据导入导出工具的使用。
    AQ_USER_ROLE, AQ_ADMINISTRATOR_ROLE:AQ:Advanced Query。这两个角色用于oracle高级查询功能。
    SNMPAGENT:用于oracle enterprise manager和Intelligent Agent
    RECOVERY_CATALOG_OWNER:用于创建拥有恢复库的用户。关于恢复库的信息,参考oracle文档《Oracle9i User-Managed Backup and Recovery Guide》
    HS_ADMIN_ROLE:A DBA using Oracle’s heterogeneous services feature needs this role to access appropriate tables in the data dictionary.
    管理角色
    建一个角色
    sql>create role role1;
    授权给角色
    sql>grant create any table,create procedure to role1;
    授予角色给用户
    sql>grant role1 to user1;
    查看角色所包含的权限
    sql>select * from role_sys_privs;
    创建带有口令以角色(在生效带有口令的角色时必须提供口令)
    sql>create role role1 identified by password1;
    修改角色:是否需要口令
    sql>alter role role1 not identified;
    sql>alter role role1 identified by password1;
    设置当前用户要生效的角色
    (注:角色的生效是一个什么概念呢?假设用户a有b1,b2,b3三个角色,那么如果b1未生效,则b1所包含的权限对于a来讲是不拥有的,只有角色生效了,角色内的权限才作用于用户,最大可生效角色数由参数MAX_ENABLED_ROLES设定;在用户登录后,oracle将所有直接赋给用户的权限和用户默认角色中的权限赋给用户。)
    sql>set role role1; //使role1生效
    sql>set role role,role2; //使role1,role2生效
    sql>set role role1 identified by password1; //使用带有口令的role1生效
    sql>set role all; //使用该用户的所有角色生效
    sql>set role none; //设置所有角色失效
    sql>set role all except role1; //除role1外的该用户的所有其它角色生效。
    sql>select * from SESSION_ROLES; //查看当前用户的生效的角色。
    修改指定用户,设置其默认角色
    sql>alter user user1 default role role1;
    sql>alter user user1 default role all except role1;
    详见oracle参考文档
    9.删除角色
    sql>drop role role1;
    角色删除后,原来拥用该角色的用户就不再拥有该角色了,相应的权限也就没有了。
    说明:
    1)无法使用WITH GRANT OPTION为角色授予对象权限
    2)可以使用WITH ADMIN OPTION 为角色授予系统权限,取消时不是级联

    与权限安全相关的数据字典表有:
    ALL_TAB_PRIVS
    ALL_TAB_PRIVS_MADE
    ALL_TAB_PRIVS_RECD
    DBA_SYS_PRIVS
    DBA_ROLES
    DBA_ROLE_PRIVS
    ROLE_ROLE_PRIVS
    ROLE_SYS_PRIVS
    ROLE_TAB_PRIVS
    SESSION_PRIVS
    SESSION_ROLES
    USER_SYS_PRIVS
    USER_TAB_PRIV
    oracle的系统和对象权限列表
    alter any cluster 修改任意簇的权限
    alter any index 修改任意索引的权限
    alter any role 修改任意角色的权限
    alter any sequence 修改任意序列的权限
    alter any snapshot 修改任意快照的权限
    alter any table 修改任意表的权限
    alter any trigger 修改任意触发器的权限
    alter cluster 修改拥有簇的权限
    alter database 修改数据库的权限
    alter procedure 修改拥有的存储过程权限
    alter profile 修改资源限制简表的权限
    alter resource cost 设置佳话资源开销的权限
    alter rollback segment 修改回滚段的权限
    alter sequence 修改拥有的序列权限
    alter session 修改数据库会话的权限
    alter sytem 修改数据库服务器设置的权限
    alter table 修改拥有的表权限
    alter tablespace 修改表空间的权限
    alter user 修改用户的权限
    analyze 使用analyze命令分析数据库中任意的表、索引和簇
    audit any 为任意的数据库对象设置审计选项
    audit system 允许系统操作审计
    backup any table 备份任意表的权限
    become user 切换用户状态的权限
    commit any table 提交表的权限
    create any cluster 为任意用户创建簇的权限
    create any index 为任意用户创建索引的权限
    create any procedure 为任意用户创建存储过程的权限
    create any sequence 为任意用户创建序列的权限
    create any snapshot 为任意用户创建快照的权限
    create any synonym 为任意用户创建同义名的权限
    create any table 为任意用户创建表的权限
    create any trigger 为任意用户创建触发器的权限
    create any view 为任意用户创建视图的权限
    create cluster 为用户创建簇的权限
    create database link 为用户创建的权限
    create procedure 为用户创建存储过程的权限
    create profile 创建资源限制简表的权限
    create public database link 创建公共数据库链路的权限
    create public synonym 创建公共同义名的权限
    create role 创建角色的权限
    create rollback segment 创建回滚段的权限
    create session 创建会话的权限
    create sequence 为用户创建序列的权限
    create snapshot 为用户创建快照的权限
    create synonym 为用户创建同义名的权限
    create table 为用户创建表的权限
    create tablespace 创建表空间的权限
    create user 创建用户的权限
    create view 为用户创建视图的权限
    delete any table 删除任意表行的权限
    delete any view 删除任意视图行的权限
    delete snapshot 删除快照中行的权限
    delete table 为用户删除表行的权限
    delete view 为用户删除视图行的权限
    drop any cluster 删除任意簇的权限
    drop any index 删除任意索引的权限
    drop any procedure 删除任意存储过程的权限
    drop any role 删除任意角色的权限
    drop any sequence 删除任意序列的权限
    drop any snapshot 删除任意快照的权限
    drop any synonym 删除任意同义名的权限
    drop any table 删除任意表的权限
    drop any trigger 删除任意触发器的权限
    drop any view 删除任意视图的权限
    drop profile 删除资源限制简表的权限
    drop public cluster 删除公共簇的权限
    drop public database link 删除公共数据链路的权限
    drop public synonym 删除公共同义名的权限
    drop rollback segment 删除回滚段的权限
    drop tablespace 删除表空间的权限
    drop user 删除用户的权限
    execute any procedure 执行任意存储过程的权限
    execute function 执行存储函数的权限
    execute package 执行存储包的权限
    execute procedure 执行用户存储过程的权限
    force any transaction 管理未提交的任意事务的输出权限
    force transaction 管理未提交的用户事务的输出权限
    grant any privilege 授予任意系统特权的权限
    grant any role 授予任意角色的权限
    index table 给表加索引的权限
    insert any table 向任意表中插入行的权限
    insert snapshot 向快照中插入行的权限
    insert table 向用户表中插入行的权限
    insert view 向用户视图中插行的权限
    lock any table 给任意表加锁的权限
    manager tablespace 管理(备份可用性)表空间的权限
    references table 参考表的权限
    restricted session 创建有限制的数据库会话的权限
    select any sequence 使用任意序列的权限
    select any table 使用任意表的权限
    select snapshot 使用快照的权限
    select sequence 使用用户序列的权限
    select table 使用用户表的权限
    select view 使用视图的权限
    unlimited tablespace 对表空间大小不加限制的权限
    update any table 修改任意表中行的权限
    update snapshot 修改快照中行的权限
    update table 修改用户表中的行的权限
    update view 修改视图中行的权限

    展开全文
  • oracle系统和对象权限 Oracle 查看用户权限
  • oracle数据库的权限系统分为系统权限与对象权限
  • Oracle用户与对象权限系统权限 Oracle用户与对象权限系统权限
  • Oracle中的系统权限和对象权限

    千次阅读 2012-02-16 09:51:09
    Oracle中的系统权限和对象权限 系统权限的定义:  系统权限(system privilege):指在系统级控制数据库的存取和使用的机制,即执行某种SQL语句的能力。如,是否能启动、停止数据库,是否能修改数据库参数,...

                                             Oracle中的系统权限和对象权限

    系统权限的定义:


                 系统权限(system privilege):指在系统级控制数据库的存取和使用的机制,即执行某种SQL语句的能力。如,是否能启动、停止数据库,是否能修改数据库参数,是否能连接到数据库,是否能创建、删除、更改方案对象(如表、索引、视图、过程)等。它一般是针对某一类方案对象或非方案对象的某种操作的全局性能力。


                 提 示没有系统权限的用户实际上是个连登录能力都没有的、有名无实的用户在Oracle数据库中,SYSTEM是数据库管理员,他具有DBA角色,即具有DBA角色的所有系统权限,包括SELECT  ANY  DICTIONARY,所以,他可以查询数据字典中的、以“DBA_”开头的数据字典视图,如DBA_USERS。


    系统权限的分类:


                   每种系统权限都为用户提供了执行某一种或某一类系统级的数据库操作的权力,即系统级的DDL(Data Definition Language)语句、DML(Data Manipulation Language)语句的权力。数据字典视图system_privilege_map中包括了Oracle数据库中的所有系统权限。查询该视图可以了解系统权限的信息,


    查询系统权限的个数:


    select  coiunt(*) from system_privilege_map;


    查询具体的系统权限


    select  *  from system_privilege_map;


    系统权限的类型、名称、说明

    类型/系统权限

    说明

    群集权限

    CREATE CLUSTER

    在自己的方案中创建、更改和删除群集

    CREATE ANY CLUSTER

    在任何方案中创建群集

    ALTER ANY CLUSTER

    在任何方案中更改群集

    DROP ANY CLUSTER

    在任何方案中删除群集

    数据库权限

    ALTER DATABASE

    运行ALTER DATABASE语句,更改数据库的配置

    ALTER SYSTEM

    运行ALTER SYSTEM语句,更改系统的初始化参数

    AUDIT SYSTEM

    运行AUDIT SYSTEM和NOAUDIT SYSTEM语句,审计SQL

    AUDIT ANY

    运行AUDIT和NOAUDIT语句,对任何方案的对象进行审计

    索引权限

    CREATE ANY INDEX

    在任何方案中创建索引

    注意:没有CREATE INDEX权限,CREATE TABLE权限包含了CREATE INDEX权限

    ALTER ANY INDEX

    在任何方案中更改索引

    DROP ANY INDEX

    任何方案中删除索引

    过程权限

    CREATE PROCEDURE

    在自己的方案中创建、更改或删除过程、函数和包

    CREATE ANY PROCEDURE

    在任何方案中创建过程、函数和包

    ALTER ANY PROCEDURE

    在任何方案中更改过程、函数和包

    DROP ANY PROCEDURE

    在任何方案中删除过程、函数或包

    EXECUTE ANY PROCEDURE

    在任何方案中执行或者引用过程

    概要文件权限

    CREATE PROFILE

    创建概要文件

    ALTER PROFILE

    更改概要文件

    DROP PROFILE

    删除概要文件

    角色权限

    CREATE ROLE

    创建角色

    ALTER ANY ROLE

    更改任何角色

    DROP ANY ROLE

    删除任何角色

    GRANT ANY ROLE

    向其他角色或用户授予任何角色

    注意:没有对应的REVOKE ANY ROLE权限

    回退段权限

    CREATE ROLLBACK SEGMENT

    创建回退段

    注意:没有对撤销段的权限

    ALTER ROLLBACK SEGMENT

    更改回退段

    DROP ROLLBACK SEGMENT

    删除回退段

    序列权限

    CREATE SEQLENCE

    在自己的方案中创建、更改、删除和选择序列

    CREATE ANY SEQUENCE

    在任何方案中创建序列

    ALTER ANY SEQUENCE

    在任何方案中更改序列

    DROP ANY SEQUENCE

    在任何方案中删除序列

    SELECT ANY SEQUENCE

    在任何方案中从任何序列中进行选择

    会话权限

    CREATE SESSION

    创建会话,登录进入(连接到)数据库

    ALTER SESSION

    运行ALTER SESSION语句,更改会话的属性

    ALTER RESOURCE COST

    更改概要文件中的计算资源消耗的方式

    RESTRICTED SESSION

    在数据库处于受限会话模式下连接到数据

    同义词权限

    CREATE SYNONYM

    在自己的方案中创建、删除同义词

    CREATE ANY SYNONYM

    在任何方案中创建专用同义词

    CREATE PUBLIC SYNONYM

    创建公共同义词

    DROP ANY SYNONYM

    在任何方案中删除同义词

    DROP PUBLIC SYNONYM

    删除公共同义词

    表权限

    CREATE TABLE

    在自己的方案中创建、更改和删除表

    CREATE ANY TABLE

    在任何方案中创建表

    ALTER ANY-TABLE

    在任何方案中更改表

    DROP ANY TABLE

    在任何方案中删除表

    COMMENT ANY TABLE

    在任何方案中为任何表、视图或者列添加注释

    SELECT ANY TABLE

    在任何方案中选择任何表中的记录

    INSERT ANY TABLE

    在任何方案中向任何表插入新记录

    UPDATE ANY TABLE

    在任何方案中更改任何表中的记录

    DELETE ANY TABLE

    在任何方案中删除任何表中的记录

    LOCK ANY TABLE

    在任何方案中锁定任何表

    FLASHBACK ANY TABLE

    允许使用AS OF子句对任何方案中的表、视图执行一个SQL语句的闪回查询

    表空间权限

    CREATE TABLESPACE

    创建表空间

    ALTER TABLESPACE

    更改表空间

    DROP TABLESPACE

    删除表空间,包括表、索引和表空间的群集

    MANAGE TABLESPACE

    管理表空间,使表空间处于ONLINE(联机)、OFFLINE(脱机)、BEGIN BACKUP(开始备份)、END BACKUP(结束备份)状态

    UNLIMITED TABLESPACE

    不受配额限制地使用表空间

    注意:只能将UNLIMITED TABLESPACE授予账户而不能授予角色

    用户权限

    CREATE USER

    创建用户

    ALTER USER

    更改用户

    BECOME USER

    当执行完全装入时,成为另一个用户

    DROP USER

    删除用户

    视图权限

    CREATE VIEW

    在自己的方案中创建、更改和删除视图

    CREATE ANY VIEW

    在任何方案中创建视图

    DROP ANY VIEW

    在任何方案中删除视图

    COMMENT ANY TABLE

    在任何方案中为任何表、视图或者列添加注释

    FLASHBACK ANY TABLE

    允许使用AS OF子句对任何方案中的表、视图执行一个SQL语句的闪回查询

    触发器权限

    CREATE TRIGGER

    在自己的方案中创建、更改和删除触发器

    CREATE ANY TRIGGER

    在任何方案中创建触发器

    ALTER ANY TRIGGER

    在任何方案中更改触发器

    DROP ANY TRIGGER

    在任何方案中删除触发器

    ADMINISTER DATABASE TRIGGER

    允许创建ON DATABASE触发器。在能够创建ON DATABASE触发器之前,还必须先拥有CREATE TRIGGER或CREATE ANY TRIGGER权限

    专用权限

    SYSOPER

    (系统操作员权限)

    STARTUP

    SHUTDOWN

    ALTER DATABASE MOUNT/OPEN

    ALTER DATABASE BACKUP CONTROLFILE

    ALTER DATABASE BEGIN/END BACKUP

    ALTER DATABASE ARCHIVELOG

    RECOVER DATABASE

    RESTRICTED SESSION

    CREATE SPFILE/PFILE

    SYSDBA

    (系统管理员权限)

    SYSOPER的所有权限,并带有WITH ADMIN OPTION子句

    CREATE DATABASE

    RECOVER DATABASE UNTIL

    其他权限

    ANALYZE ANY

    对任何方案中的任何表、群集或者索引执行ANALYZE语句

    GRANT ANY OBJECT PRIVILEGE

    授予任何方案上的任何对象上的对象权限

    注意:没有对应的REVOKE ANY OBJECT PRIVILEGE

    GRANT ANY PRIVILEGE

    授予任何系统权限

    注意:没有对应的REVOKE ANY PRIVILEGE

    SELECT ANY DICTIONARY

    允许从sys用户所拥有的数据字典表中进行选择


    对象权限的定义:


                  对象权限(object privilege):指在对象级控制数据库的存取和使用的机制,即访问其他用户的方案对象的能力。如,用户可以存取哪个用户的方案中的哪个对象,是否能对该对象进行查询、插入、更新等。对象权限一般是针对其他用户的某个特定的方案对象的某种操作的局部性能力。


    提示”一个用户可以访问自己方案中的任何对象,并对其进行任何操作,即对自己的任何对象有任何对象权限。


    对象权限的分类:


                Oracle数据库的方案对象主要是指:表、索引、视图、序列、同义词、过程、函数、包、触发器。

    创建对象的用户拥有该对象的所有对象权限,不需要授予。所以,对象权限的设置实际上是为对象的所有者给其他用户提供操作该对象的某种权力的一种方法。


                   Oracle数据库中总共有9种不同的对象权限。不同类型的对象有不同的对象权限。有些对象(如集群、索引、触发器、数据库连接)没有对应的对象权限,即他们是通过系统权限来控制的,例如,如要修改集群,用户必须要具有ALTER ANY CLUSTER系统权限。


    对象、对象权限的对应关系如表所示。能够在该对象上授予的对象权限用“√”表示。

    对象

    对象权限

    Alter

    更改

    Delete

    删除

    Execute

    运行

    Index

    索引

    Insert

    插入

    Read

    Reference

    引用

    Select

    选择

    Update

    更新

    Directory

    目录

    Function

    函数

    Procedure

    子程序

    Package

    DB Object

    数据库对象

    Library

    Operator

    操作符

    Sequence

    序列

    Table

    Type

    类型

    View

    视图

    对象权限及说明


    对象权限

    说明

    Alter

    更改

    表上的ALTER权限保证在相关的表上执行ALTER TABLE或LOCK TABLE语句。可以重命名表、添加列、删除列、更改数据类型和列的长度,以及把表转换成一个分区(partitioned)表。

    序列上的ALTER权限可以保证能够在相关序列上执行ALTER SEQUENCE语句,可以重设授权序列对象的最小值、增量和缓冲区大小

    Delete

    删除

    允许在授权对象上执行DELETE语句,以便从表或者视图中删除行。SELECT权限必须随同DELETE权限授予,否则被授权的人将不能够选择行,因此也就无法删除行。DELETE权限还允许被授权者锁定相应的表

    Execute

    运行

    包上的EXECUTE权限允许被授权者执行或者使用在相应的包规定中声明的任何程序或者程序对象(如一个记录类型,即record type或者指针即cursor)。

    操作符(operator)或者类型(type)上的EXECUTE权限允许在SQL或者PL/SQL中使用该操作符。

    数据库对象上的EXECUTE权限允许被授权者使用相关的数据库对象并且调用其方法

    Index

    索引

    允许被授权者在相关的表上创建索引或者锁定该表。

    当一个方案(schema)拥有一个表而另一个方案拥有其索引的时候,会出现混乱。在授予这种权限时要小心

    Insert

    插入

    允许被授权者在相关的表或视图中创建行。

    如果该INSERT权限建立在相关表或者视图的特定列上,则只能在具有INSERT权限的列上插入数据。

    INSERT权限还隐含地给被授权者以锁定该表的能力

    Read

    只能在目录上授予。

    允许被授权者读取指定目录中的BFILE。

    Read权限与SELECT权限有区别,后者允许用户读取一个表或者视图

    Reference

    引用

    只能在表上授予用户,而不能授予角色。

    允许被授权者创建引用该表的参照完整性约束。被授权者可以锁定该表

    Select

    选择

    允许被授权者在表或者视图上执行SELECT语句。

    允许被授权者读取表或者视图的内容。

    序列上的SELECT权限允许被授权者获取当前值(CURRVAL)或者通过选择NEXTVAL增大该值。

    SELECT权限只能授予整个表,不能授予表中的列。因此,如果希望用户只能查询表中的部分列,就需要在该表上创建视图,然后将该视图的SELECT权限授予用户。

    Update

    更新

    允许被授权者更改表或者视图中的数据值。SELECT权限必须随同UPDATE权限一起授予,这样就使被授权者隐含具有了锁定表的能力

    All

    所有

    对于可以具有多项权限的对象,可以授予或者撤消专门的权限ALL。

    对于表而言,ALL中包含了SELECT、INSERT、UPDATE和DELETE以及INDEX、ALTER和REFERENCE。所以,在表上授予AIL权限时要小心,因为可能并不想授予INDEX、ALTER和REFERENCE权限


    角色定义:


       我在前面的篇幅中说明权限和用户。慢慢的在使用中你会发现一个问题:如果有一组人,他们的所需的权限是一样的,当对他们的权限进行管理的时候会很不方便。因为你要对这组中的每个用户的权限都进行管理。


      有一个很好的解决办法就是:角色。角色是一组权限的集合,将角色赋给一个用户,这个用户就拥有了这个角色中的所有权限。那么上述问题就很好处理了,只要第一次将角色赋给这一组用户,接下来就只要针对角色进行管理就可以了。


      以上是角色的一个典型用途。其实,只要明白:角色就是一组权限的集合。下面分两个部门来对oracle角色进行说明。

    二、系统预定义角色


      预定义角色是在数据库安装后,系统自动创建的一些常用的角色。下介简单的介绍一下这些预定角色。角色所包含的权限可以用以下语句查询:


    sql>select * from role_sys_privs where role='角色名';

    Eg: select * from role_sys_privs where role='DBA';


    1.CONNECT, RESOURCE,  DBA
    这些预定义角色主要是为了向后兼容。其主要是用于数据库管理。oracle建议用户自己设计数据库管理和安全的权限规划,而不要简单的使用这些预定角色。将来的版本中这些角色可能不会作为预定义角色。


    2.DELETE_CATALOG_ROLE, EXECUTE_CATALOG_ROLE, SELECT_CATALOG_ROLE
    这些角色主要用于访问数据字典视图和包。


    3.EXP_FULL_DATABASE, IMP_FULL_DATABASE
    这两个角色用于数据导入导出工具的使用。


    4.AQ_USER_ROLE, AQ_ADMINISTRATOR_ROLE
    AQ:Advanced Query。这两个角色用于oracle高级查询功能。


    5.SNMPAGENT
    用于oracle enterprise manager和Intelligent Agent


    6.RECOVERY_CATALOG_OWNER
    用于创建拥有恢复库的用户。关于恢复库的信息,参考oracle文档《Oracle9i User-Managed Backup and Recovery Guide》


    7.HS_ADMIN_ROLE
    A DBA using Oracle's heterogeneous services feature needs this role to access appropriate tables in the data dictionary. 

    展开全文
  • 全面解析Oracle数据库的系统和对象权限
  • Oracle权限-系统权限与对象权限

    千次阅读 2017-09-25 13:46:15
    系统权限与对象权限 一、系统权限 1、创建用户 SQL> create user dog identified by wangwang; User created SQL> create user pig identified by hengheng; User created SQL> create user fox ...
  • Oracle数据库用户权限查询一些查看操作(汇总) 2018年07月22日 20:32:38 茶木君 阅读数:1222 标签: oracle 更多 个人分类: oracle dba权限:user为有dba权限的账号,如sys,system,或者是已经被授予...
  • Oracle系统权限说明

    2011-09-02 14:13:02
    Oracle数据库的系统和对象权限:: alter any cluster 修改任意簇的权限  alter any index 修改任意索引的权限  alter any role 修改任意角色的权限  alter any sequence 修改任意序列的权限
  • 查看某个用户在某个对象权限,可以查dba_tab_privs 或者user_tab_privs   如下:某普通用户登陆,查自己的角色 SQL> select * from user_role_privs;   查自己拥有哪些系统权限 ...
  • Oracle 用户、对象权限系统权限
  • Oracle数据库的系统和对象权限:  alter any cluster 修改任意簇的权限  alter any index 修改任意索引的权限  alter any role 修改任意角色的权限  alter any sequence 修改任意...
  • --系统权限:是针对oracle系统操作...--角色权限:角色其实是特定系统权限和对象权限的组合,是一组权限的组合,便于对用户授权,Oracle内置了一些角色,如经常使用的 connnet,reseource和dba等。  关于几种常见的
  • 对象权限系统权限 创建表创建session是系统权限; 系统管理员是有权限去访问其他表的 以sys登录  sqlplus sys/on_change_install as sysdba; 创建用户wangwu  create user wangwu identified by...
  • Oracle 用户、对象权限系统权限

    万次阅读 2010-06-23 11:48:00
    本文详细介绍了Oracle用户的创建,对象权限系统权限的授予,回收等。 一、用户与模式 用户:对数据库的访问,需要以适当用户身份通过验证,并具有相关权限来完成一系列动作 SYS用户,缺省始终创建,且未被...
  • 听完网络直播公开课后,继续完成对后续视频的学习。学习了Java Web之后,接下来是对数据库的知识进行学习,但是关于Oracle的视频暂时有限,目前只能看到关于管理Oracle的知识...总共有六段视频:系统权限管理、对象权限
  • Oracle 用户 对象权限 系统权限

    千次阅读 2018-11-03 19:34:56
    用户、对象权限系统权限 --================================   一、用户与模式   用户:对数据库的访问,需要以适当用户身份通过验证,并具有相关权限来完成一系列动作   SYS 用户,缺省始终创建,且未被锁定...
  • Oracle 系统权限分类

    千次阅读 2018-08-20 15:17:28
    在自己的方案中创建、更改删除群集 CREATE ANY CLUSTER 在任何方案中创建群集 ALTER ANY CLUSTER 在任何方案中更改群集 DROP ANY...
  • 实用标准文案 1 用户与模式 用户 对数据库的访问需要以适当用户身份通过...模式 (schema) 是某个用户拥有所有对象的集合具有创建对象权限并创建了对象的 用户称为拥有某个模式 注意创建数据库对象 ( 视图 , 表等 ) 的任
  • 1. 系统权限SELECT * FROM dba_sys_privs WHERE grantee = 'SCOTT' UNION ALL SELECT * FROM dba_sys_privs WHERE grantee IN (SELECT granted_role FROM dba_role_privs
  • Oracle 系统权限详细列表

    千次阅读 2017-10-18 15:54:44
    Oracle 系统权限详细列表  alter any cluster 修改任意簇的权限  alter any index 修改任意索引的权限  alter any role 修改任意角色的权限  alter any sequence 修改任意序列的权限  alter any snapshot ...
  • oracle 系统权限

    千次阅读 2009-07-29 23:36:00
    DBA_SYS_PRIVS授予给所有用户角色的系统权限USER_SYS_PRIVS授予给当前用户的系统权限ROLE_SYS_PRIVS此视图包含了授予给角色的系统权限的信息。它提供的只是该用户可以访问的角色的信息SESSION_PRIVS当前会话可以...
  • oracle用户分配对象权限

    千次阅读 2019-04-05 14:08:59
    oracle用户分配对象权限 用户system有EMPLOYEES表,而用户TestUser想要操作用户system的EMPLOYEES表, 那么用户system可以给用户TestUser分配表 EMPLOYEES 的操作权限 对象权限 不同的对象具有不同的对象权限 ...
  • Oracle管理权限和角色

    千次阅读 2015-11-26 13:05:08
    oracle管理权限和角色 基本介绍  当刚刚建立用户时,用户没有任何权限,也不能执行任何操作。...权限是指执行特定类型sql命令或是访问其它方案对象的权利,包括系统权限和对象权限两种。     系统权限介绍
  • Oracle中的角色权限和对象权限简介

    千次阅读 2010-04-09 18:02:00
    Oracle中的系统权限类型非常多,使用起来有一定的困难,为了简化对权限的管理,Oracle中提供了角色的概念,一个角色对应了一组系统操作(即系统权限),大家可以从OEM中“安全性->角色”中可以看到每个角色具体包含...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 87,626
精华内容 35,050
关键字:

oracle系统权限和对象权限