`
zhoutianzhe
  • 浏览: 49524 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

oracle grant revoke

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

系统权限 是指是否被授权用户可以连接到数据库上,在数据库中可以进行哪些系统操作。

实体权限 是指用户对具体的模式实体 (schema)所拥有的权限。这样讲可以有些模糊。

举个例子来说:select any table是系统权限,它表示可以查看任何表。而select on table1是实体权限,表示对表table1的查询权限。

二、见下下面的表


三、系统权限授权命令的使用
语法:
GRANT 权限名 TO 用户|角色|PUBLIC
其中,PUBLIC表示将权限赋给数据库中所有的用户
例:赋给用户USER1权限CREATE TABLE的授权命令如下:
SQL>GRANT CREATE TABLE TO USER1;
授权语句还可以增加WITH ADMIN OPTION选项,表示被授权的用户可以将它所得权限赋给其它用户,如:
SQL>GRANT CREATE TABLE,CREATE VIEW TO USER1,USER2 WITH ADMIN OPTION;
若要了解各用户所拥有的系统权限,可以查询数据字典USER_SYS_PRIVS、ROLE_SYS_PRIVS。
若要回收权限,则使用REVOKE命令,如:
SQL>REVOKE CREATE TABLE FROM USER1;

四、实体权限管理
  实体权限是指某一用户对某一特定schema对象的操作权限。
1.实体权限分类
  不同的实体类型有不同的实体权限,如下表


2.实体权限的授命令
语法如下:
GRANT 实体权限名|ALL TO 用户|角色|PUBLIC
其中,ALL表示实体的所有实体权限。
如:
SQL>GRANT SELECT ON BOOKS_QUTHORS TO USER1;
以下语句用来查询表的实体权限的授权信息:
SQL>SELECT * FROM USER_TAB_PRIVES
若要回收实体权限,使用REVOKE,其语法如下:
REVOKE 实体权限名|ALL ON 实体名 FROM 用户名|角色名|PUBLIC。

      alter any cluster 修改任意簇的权限
  alter any index 修改任意索引的权限
  alter any role 修改任意角色的权限 alter any cluster
  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 grant
授权语句--select * from dba_users; 查询数据库中的所有用户
--alter user TEST_SELECT account lock; 锁住用户
--alter user TEST_SELECT account unlock; 给用户解锁
--create user xujin identified by   xujin; 建立用户
--grant create tablespace to xujin; 授权
--grant select on tabel1 to xujin; 授权查询
--grant update on table1 to xujin;
--grant execute on procedure1 to xujin 授权存储过程
--grant update on table1 to xujin with grant option; 授权更新权限转移给xujin用户,许进用户可以继续授权;
--收回权限
--revoke select on table1 from xujin1; 收回查询select表的权限;
--revoke all on table1 from xujin;
/*grant connect to xujin;
revoke connect from xujin
grant select on xezf.cfg_alarm to xujin;
revoke select on xezf.cfg_alarm from xujin;*/
--select table_name,privilege from dba_tab_privs where grantee='xujin' 查询一个用户拥有的对象权限
--select * from dba_sys_privs where grantee='xujin' 查询一个用户拥有的系统权限
--select * from session_privs --当钱会话有效的系统权限
--角色
--create role xujin1;--建立xujin1角色
--grant insert on xezf.cfg_alarm to xujin1; 将插入表的信息
--revoke insert on xezf.cfg_alarm from xujin1; 收回xujin1角色的权限
--grant xujin1 to xujin ; 将角色的权限授权给xujin;
-- create role xujin2;
--grant xujin1 to xujin2; 将角色xujin1授权给xujin2;
--alter user xujin default xujin1,xujin2; 修改用户默认角色
-- DROP ROLE xujin1;删除角色1;
--select * from role_sys_privs where role=xujin1;
--查看许进1角色下有什么系统权限;
--select granted_role,admin_option from role_role_privs where role='xujin2';
--查看xujin1角色下面有什么角色权限
--select * from role_sys_privs where role='xujin2';
--select table_name,privilege from role_tab_privs where role='xujin1';
--select * from dba_role_privs where grantee='xujin' --查看用户下面有多少个角色;



分享到:
评论

相关推荐

    GRANT和 revoke

    GRANT 和 REVOKE 命令的使用和权限管理 在 Oracle 中,权限是用户对一项功能的执行权力。根据系统管理方式不同,将权限分为系统权限和实体权限两类。系统权限是指是否被授权用户可以连接到数据库上,在数据库中可以...

    oracle权限管理

    ### Oracle权限管理详解 在Oracle数据库管理中,权限管理是一项非常重要的任务,它涉及如何控制用户对数据库资源的访问以及他们能执行的操作类型。本文将详细介绍Oracle中的权限管理概念、不同类型的权限及其授予与...

    Oracle 授权 ORA-00990: 权限缺失或无效

    当遇到权限问题时,可以查阅此手册获取关于`GRANT`、`REVOKE`、`ALTER USER`和`SET ROLE`等命令的用法,以及其他与权限相关的SQL语句。 5. **最佳实践**: - 定期审计权限:确保权限分配合理且安全,避免过度授权...

    SQL练习7 – GRANT/ REVOKE / AUDIT

    GRANT和REVOKE语句是SQL中用于控制用户访问数据库对象权限的关键工具。以下是对这两个语句的详细解释以及一些实际操作的例子。 1. GRANT语句: GRANT语句用于向用户或用户组授予特定的数据库操作权限。它的基本...

    Oracle学习笔记 Oracle学习笔记

    根据提供的信息,我们可以总结出以下Oracle数据库学习的关键知识点: ### Oracle 学习笔记概览 在Oracle学习过程中,掌握基础的命令与权限管理是至关重要的。以下内容将围绕Oracle数据库的基础操作、用户管理以及...

    Oracle从入门到精通

    权限的分配和回收通过"grant"和"revoke"命令完成,例如,授予xiaoming连接数据库的权限为`grant connect to xiaoming`。 总之,Oracle数据库的学习涵盖认证、用户管理、基本命令等多个方面,理解和掌握这些基础知识...

    Oracle审计功能详解

    系统级审计只能由DBA设置,用以监测成功或失败的登录要求、监测GRANT和REVOKE操作以及其他数据库级权限下的操作。 二、标准审计 Oracle中的标准审计可以分为三种类型:语句审计、特权审计和对象审计。语句审计是...

    oracle基础知识入门

    2. 权限与角色:GRANT和REVOKE语句用于授予或撤销用户的权限,角色则是一组权限的集合,便于权限管理。 六、备份与恢复 1. 数据泵(expdp/impdp):Oracle的数据导入导出工具,用于备份和恢复数据库或特定对象。 2....

    Oracle的讲义:该讲义非常适合oracle的初学者使用

    用户权限管理包括GRANT和REVOKE语句,而审计功能则可以帮助追踪和记录数据库活动。 八、备份与恢复 了解如何备份和恢复Oracle数据库是运维的关键。Oracle提供RMAN(Recovery Manager)工具和数据泵(Data Pump)...

    Oracle11g中文文档

    通过GRANT和REVOKE命令分配和回收权限,确保数据的安全访问。 7. **备份与恢复**:Oracle11g支持多种备份策略,如物理备份、逻辑备份、RMAN(Recovery Manager)备份。恢复机制包括闪回恢复、归档日志恢复、不完全...

    Oracle Database 11g:初学者指南 (中文版)

    SQL是Oracle数据库的语言,学习基本的SQL语句如SELECT、INSERT、UPDATE、DELETE以及DCL(Data Control Language)中的GRANT和REVOKE是必不可少的。通过SQL,你可以查询、插入、修改和删除数据库中的数据,并控制用户...

    oracle入门很简单03.zip

    此外,DCL(数据控制语言)用于权限管理,如GRANT和REVOKE命令,而DDL(数据定义语言)则用于创建、修改和删除数据库对象,如TABLE、VIEW、INDEX等。 在"Oracle入门很简单03"这章,可能涵盖创建数据库、用户管理和...

    Oracle.rar

    7. 安全性:Oracle提供用户权限管理,通过GRANT和REVOKE命令分配和回收权限,以及角色机制简化权限管理。 8. 高可用性与性能优化:Oracle支持RAC(Real Application Clusters)实现集群,提升数据库可用性。通过...

    oracle个人学习笔记

    ### Oracle个人学习笔记知识点梳理 #### 一、Oracle 用户与权限管理 **1. 创建用户** - 使用管理员账户(如 `sys` 或 `system`)登录后,可以通过以下命令创建新用户: ```sql SQL> create user zhangsan ...

    Oracle Sql基础(beginning oracle sql中文版)

    GRANT和REVOKE语句用于分配和撤销权限。 十二、备份与恢复 Oracle提供了一套完整的备份和恢复策略,包括物理备份、逻辑备份、RMAN(恢复管理器)和闪回技术,确保数据的安全性和可恢复性。 通过阅读“Oracle Sql...

    涂抹Oracle 三思笔记之一步一步学Oracle

    - **数据控制语言(DCL)**:用于控制数据访问权限的语言,如GRANT, REVOKE。 #### 4. SQL*Plus和SQL Developer - **SQL*Plus**:是一个命令行界面工具,用于输入SQL命令和PL/SQL代码,以及查看查询结果。 - **SQL ...

    Oracle-SQL.rar_oracle_oracle sql_sql

    9. **权限与安全性**:Oracle数据库提供了用户管理和权限控制机制,通过GRANT和REVOKE语句,管理员可以控制用户对数据库资源的访问。 10. **数据库连接与管理工具**:如SQL*Plus、SQL Developer等,是与Oracle...

    最全的Oracle中文使用手册

    DCL(数据控制语言)用于权限管理,如`GRANT`和`REVOKE`。 在查询方面,`SELECT`语句是基础,用于从表中获取数据。例如,`SELECT * FROM student`获取student表的所有数据。`SELECT name||'(‘||id||’)’ EMPLOYEE...

    oracle_commond.rar_odbc api_oracle_oracle 客户端_oracle sql_sql

    描述中的"oracle常用操作总结"可能涵盖了数据库的日常管理,如用户管理(CREATE USER、GRANT、REVOKE),表空间管理(CREATE TABLESPACE、ALTER TABLESPACE),备份恢复(RMAN、EXPDP/IMPDP),性能监控(V$视图、...

    使用 PDI 和 Oracle CDC 来实现Oracle 数据库向其他数据库的数据同步

    * 使用 GRANT 和 REVOKE 语句来管理订阅者访问变更表的权限 订阅者需要完成以下任务: * 使用 Oracle 提供的包 DBMS_CDC_SUBSCRIBE,来完成创建订阅 * 通知 CDC 准备接收变更的数据 * 使用 SELECT 语句从订阅者...

Global site tag (gtag.js) - Google Analytics