`
davidx
  • 浏览: 83083 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

oracle grant 赋予权限?

阅读更多

sys用户下:

                grant select on v_$mustat to tkyte;(使用户tkyte可以搜索表v$mystat)

以下为(转):

Oracle学习笔记一

http://esteem.iteye.com/blog/216544

终于开始学习oracle了,在电脑上成功安装了oracle9i
今天学习的是oracle的权限管理
首先在开始--》运行——》cmd,然后输入 sqlplus sys/密码 as sysdba
以sys权限登陆进去
然后可以进行操作、:
创建用户 create user test indentified by test;
这样就创建了一个用户名密码都为test的用户
但这个时候test还是不能登陆成功的,我们需要赋予相应的权限
首先赋予create session的权限
grant create session to test;
这样test用户就能成功登陆进去
但是此时用户还是不能创建表 我们需要赋予用户创建表的权限:
grant create table to test;
但是用户此时还不能创建表 因为需要有使用表空间的权限(相当于 用户有了进房间的钥匙 但是没有进大门的钥匙。。。)
所以也应该赋予相应的权限
grant unlimited tablespace to test;
这个时候用户就拥有了创建表的权限 由于表是用户test的 相应的他就拥有了对创建的表的增删查改的权限了
我们要查看用户拥有什么权限可以通过查询一个系统的视图(数字字典)
select * from user_sys_privs;
这样就可以知道当前用户的权限

撤销权限 revoke create table from test;

场景:
用户test 用户test1
test1的用户创建了个表mytab 并且插入了一些数据
那么 test用户是否可以访问到test1的mytab怎么访问?
答:不可以,必须先授权
test1必须授权给test :grant select on mytab to test;
那么这个时候test可以通过 select * from test1.mytab;来访问mytab中的数据
如果想把某个表(对象)的所有权限都赋予给test那么可以:
grant all on mytab to test;
撤销所有权限
revoke all on mytab to test;


总结
对于系统权限由sys来做
对于对象权限由 谁拥有谁授权
系统权限:
    grant create session to test;
    grant create table to test;
   grant unlimited tablespace to test;

   revoke create session from test;
   revoke create table from test;
   revoke unlimited tablespase from test;

   grant create session to public;  //表示把创建表的权限赋予所有人

    select * from user_sys_privs;  //返回当前用户的所有系统权限
对象权限
    grant select on mytab to test;
   grant all on mytab to test;

   revoke select on mytab from test;
   revoke all on mytab from test;

   select * from user_tab_privs;  //返回当前用户所有的对象权限
   
   对象权限可以控制到列
   grant update(name) on mytab to test;
   grant insert(id) on mytab to test;

   select * from user_col_privs;
   注意、:查询和删除不能控制到列   
    需要有commit的 insert update insert

权限的传递
  系统权限的传递:
   grant alter table to A with admin option;
  那么A可以通过把该权限传递给B,如果想B也可以传递下去那么可以也带上with admin option
   grant alter table to B;
  对象权限的传递:
   grant select on mytab to A with grant option;
  那么A可以把在表mytab的select权限赋予给B,如果B想也能传递该select权限也可以带上with grant option
   grant select on mytab to B; 
 

分享到:
评论
1 楼 lord_is_layuping 2012-03-01  
挺好的,对我有用

相关推荐

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

    在Oracle数据库管理中,"ORA-00990: 权限缺失或无效"是一个常见的错误代码,它表示用户尝试执行的操作没有足够的权限。这个错误通常发生在试图访问、修改或者管理数据库对象(如表、视图、索引等)时。在本篇文章中...

    oracle数据库权限管理

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

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

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

    oracle中的权限

    同时,Oracle支持权限的级联授予(WITH GRANT OPTION),允许被授予者再将权限转授给其他用户。 除了上述基础权限,Oracle还有更高级的权限控制,如`RESOURCE LIMIT`、`AUDIT`和`PROFILE`,它们用于限制用户资源...

    oracle权限函数

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

    修改oracle表权限

    同样地,这三条语句赋予了用户`ah_yjcz`对`T_AGENCY_LEADER`表的相应权限。 - **授予`ah_yjcz`对`T_AGENCY_MATERIAL`表的权限** ```sql GRANT INSERT ON T_AGENCY_MATERIAL TO ah_yjcz; GRANT UPDATE ON T_...

    Oracle创建用户权限

    在 Oracle 数据库中,创建用户并赋予相应的权限是一项重要的数据库管理工作。通过合理的权限设置,可以有效地控制不同用户对数据库资源的访问,确保数据的安全性和完整性。本文将详细介绍如何在 Oracle 数据库中创建...

    Oracle_授权审计表Truncate权限.docx

    Oracle 授权审计表 Truncate 权限 Oracle 数据库中的授权审计表是指系统自动生成的审计表,用于记录数据库中各种操作的审计信息。这些审计信息可以用于跟踪数据库中发生的各种操作,提高数据库的安全性。 Truncate...

    oracle用户创建及权限设置

    ### Oracle用户创建及权限设置详解 #### 一、Oracle用户管理概述 在Oracle数据库中,用户管理和权限控制是非常重要的组成部分,它们确保了数据的安全性和访问的合理性。通过创建不同的用户并赋予相应的权限,可以...

    Oracle用户、权限、角色管理

    角色可以被授予给用户,从而自动赋予该用户所有属于该角色的权限。 #### 四、系统权限管理细节 - **权限授予与回收**:系统权限只能由具有`DBA`权限的用户(通常是`sys`或`system`用户)授予或回收。使用`GRANT`...

    oracle中将一个用户的所有表的权限授予另一个用户的方法

    在Oracle数据库管理中,权限管理是一项至关重要的任务,它确保了数据的安全性和访问控制的有效性。本文将深入探讨如何在Oracle中将一个用户的所有表的权限授予另一个用户,这一过程通常在PL/SQL环境下通过执行特定的...

    oracle权限设计

    在SQLPLUS命令行工具中,可以使用GRANT语句来赋予系统权限,例如: ```sql GRANT CREATE TABLE TO username; ``` 对象权限则是允许用户对特定数据库对象(如表、视图、序列等)进行操作,如SELECT、INSERT、UPDATE...

    oracle-用户与权限的管理

    这条语句赋予了用户`u01`连接数据库的权限。 ##### 对象权限 对象权限则限制用户对特定数据库对象(如表、视图)的访问。比如,只读权限允许用户查询表中的数据,但不允许修改。 #### 三、角色管理 角色是一组...

    oracle表空间权限

    GRANT语句用于赋予用户对表空间的权限,例如创建表、索引或者备份等操作。而REVOKE语句则用于撤销已经授予的权限。权限可以是全局的,也可以是针对特定表空间的。例如,你可以使用以下命令为用户赋予在某个表空间上...

    10 oracle管理权限和角色 PPT

    管理员可以创建一个角色,将相关的权限赋予该角色,然后将角色授予用户,这样用户就拥有了角色中包含的所有权限。角色可以是公共的,对所有用户开放,也可以是私有的,只对特定用户授予。 3. 授予权限(Granting ...

    db.rar_oracle_数据库 权限

    主要有三种类型的权限:SELECT、INSERT、UPDATE、DELETE用于数据操作,EXECUTE用于运行存储过程和函数,以及GRANT和REVOKE用于权限的赋予和撤销。例如,要授予一个用户查询特定表的权限,可以使用GRANT SELECT ON ...

    创建只有select 权限的用户方法

    在Oracle数据库中,赋予select权限需要使用GRANT语句。例如,赋予cc551it用户select权限,可以使用以下语句: ```sql GRANT SELECT ON newccs.TABLE_NAME TO cc551it; ``` 其中,newccs是数据库的schema名称,TABLE_...

    oracle初学者必知的100个问题

    17. 如何管理用户权限? 通过GRANT语句赋予用户权限,REVOKE语句撤销用户权限。GRANT语句的基本语法为GRANT privileges ON object_name TO user_name; 18. Oracle中的事务控制是什么? 事务控制是指一系列的数据库...

    Oracle给用户授权truncatetable的实现方案

    然而,Oracle不支持直接为用户授予针对单个表的`TRUNCATE`权限,而是通常将更广泛的`DROP ANY TABLE`权限赋予用户,但这可能会带来安全隐患。本文将探讨两种实现为用户授权`TRUNCATE TABLE`的方案,以确保安全性和可...

Global site tag (gtag.js) - Google Analytics