`
京华倦客
  • 浏览: 124039 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle grant权限

 
阅读更多

 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;

 

 

 

 

 

 

--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' --查看用户下面有多少个角色;

 

分享到:
评论

相关推荐

    oracle权限管理

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

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

    在Oracle中,系统权限的授予通常使用GRANT语句。例如,要授予一个用户DBA权限,可以使用命令`GRANT DBA TO USERNAME;`,但是这样的权限非常高,所以需要非常谨慎使用。而用户也可以拥有不限制的表空间,这通过`GRANT...

    Oracle权限大全

    授予权限是 Oracle 权限大全的重要内容,包括授予创建 session 的权限、授予使用表空间的权限、授予创建表的权限、授予删除表的权限、授予插入表的权限、授予修改表的权限等多种权限。 grant 命令是授予权限的基本...

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

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

    oracle数据库权限管理

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

    oracle 权限

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

    修改oracle表权限

    ### 修改Oracle表权限 在Oracle数据库管理中,对表的权限控制是非常重要的环节之一。合理的权限设置不仅可以确保数据的安全性,还可以提高系统的整体性能。本文将详细介绍如何在Oracle数据库中修改表权限,以及相关...

    oracle权限函数

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

    oracle权限设置

    ### Oracle权限设置详解 在Oracle数据库管理中,权限设置是一项非常重要的任务,它不仅涉及到数据库的安全性,还关乎数据的完整性和系统的稳定性。本文将基于提供的文件信息中的内容,详细介绍Oracle权限设置的相关...

    查看ORACLE用户权限

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

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

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

    oracle用户权限管理

    ### Oracle 用户权限管理 在Oracle数据库中,用户权限管理是一项重要的功能,用于控制数据库用户能够执行的操作类型。这种控制机制确保了数据的安全性和完整性。本文将详细介绍与Oracle用户权限管理相关的概念、...

    oracle中的权限

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

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

    在 Oracle 数据库中,权限管理是通过 Grant 和 Revoke 语句来实现的。Grant 语句用于授予用户或角色特定的权限,而 Revoke 语句用于撤销用户或角色的权限。 二、 Sysman 账户的重要性 Sysman 账户是 Oracle 企业...

    Oracle权限

    在Oracle中,权限可以通过`GRANT`命令来分配给用户或角色。 - **基本权限**:例如,`GRANT CREATE SESSION TO zhangsan;`授予用户创建会话的能力,即登录能力。 - **表空间权限**:如`GRANT UNLIMITED TABLESPACE ...

    oracle权限全集

    - **GRANT命令**:用于向用户或角色授予权限,可以指定WITH GRANT OPTION,允许被授予者将权限转授给其他人。 - **REVOKE命令**:用于撤销已授予的权限,可以撤销单一权限或全部权限,并可选择是否影响到已转授该...

    10 oracle管理权限和角色 PPT

    Oracle数据库系统是企业级数据管理的重要工具,其权限和角色管理是确保数据安全性和系统稳定性不可或缺的部分。在Oracle中,权限和角色的概念是为用户提供访问控制机制,允许管理员精细地控制用户对数据库对象的访问...

    Oracle设置用户权限

    ### Oracle 设置用户权限详解 #### 一、Oracle 创建新用户和密码 在Oracle数据库中,创建新用户是一项基本且重要的管理任务。通过创建用户并分配相应的权限,可以确保数据的安全性和完整性。 ##### 步骤: 1. **...

    Oracle权限、角色和用户1

    Oracle数据库系统在权限管理方面提供了精细的控制机制,旨在确保数据的安全性和访问的合理性。预定义的角色是这一机制的关键组成部分,其中包括CONNECT、RESOURCE、DBA、EXP_FULL_DATABASE和IMP_FULL_DATABASE这五个...

    oracle用户账号管理和权限控制

    2. **授予系统权限**:使用`GRANT`命令将系统权限授予用户,例如`GRANT SELECT, INSERT ON table_name TO user_name;`。 3. **授予对象权限**:同样使用`GRANT`命令,但指定具体的数据库对象,如表、视图等。 **...

Global site tag (gtag.js) - Google Analytics