- 浏览: 125075 次
- 性别:
- 来自: 北京
最新评论
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' --查看用户下面有多少个角色;
发表评论
-
orcale备份,还原数据库
2014-02-26 11:29 539在cmd下边输入 exp 数据库名/密码@数据库服务 file ... -
sqlserver数据库自动备份
2014-02-20 16:50 557DECLARE @strPath NVARCHAR(200) ... -
SQL两个数据库 触发器(转)
2014-02-19 12:54 755有两个服务器,分别装有两个SQL Server A ,B A ... -
SQL两个数据库 触发器(转)
2014-02-19 12:54 536有两个服务器,分别装有两个SQL Server A ,B A ... -
设置主外建
2013-12-18 15:58 561主键 alter table XXX add constrai ... -
oracle死锁
2013-09-01 14:12 590select /*+ NO_MERGE(a) NO_MERGE ... -
pl/sql 无法解析指定的连接标识符(转载)
2013-04-22 16:23 955机器中安装了Oracle9i的完整服务器端,并且同时还安装了 ... -
oracle时间字段
2013-03-11 09:23 7341 select to_char(sysdate,'yyyy ... -
使用ssh连接操作oracle数据库
2013-03-05 09:43 4192su - oraclesqlplus /nologconn ... -
各种数据库对应的jar包(转载)
2013-02-01 15:12 948具体如下: 数据库类型 对应的Jar ... -
oracle中varchar2转换成clob(转载)
2012-12-14 15:29 1099alter table Shop add texts clob ... -
oracle 游标
2012-09-20 18:03 738看一下数据库的游标数参数 show parameter ... -
mysql卸载后注册表删除
2012-08-28 09:42 2341当你要升级mysql版本,或者重新安装mysql数据库时,my ... -
Mysql本地计算机无法启动错误1067:进程意外终止的问题 (转载)
2012-08-06 09:49 798Mysql 本地计算机无法启动错误 1067:进程意外终止的问 ... -
SQLSERVER系统表(转载)
2012-07-04 09:02 26191、查看表和试图 SELECT * FROM sys.obj ... -
将ORACLE数据库表中字段的varchar类型转为CLOB?
2012-04-25 11:38 985怎么样将ORACLE数据库表中字段的varchar类型转为 ... -
给一个用户创建表的权限
2012-04-12 17:00 811要能执行建表语句,需要两个权限:1. create table ... -
ORA-28000: the account is locked-的解决办法 (转载)
2012-04-11 09:58 734ORA-28000: the account is loc ... -
SQL Server 2005还原数据库时出现“备份集中的数据库备份与现有的数据库不同”解决方法 (转载)
2012-03-06 16:06 1194对于SQL Server 2005,有几个地方是要注意的,比如 ... -
java.util.date转化成java.sql.date
2012-02-15 14:28 801java.util.Date curDate = new ja ...
相关推荐
### Oracle权限管理详解 在Oracle数据库管理中,权限管理是一项非常重要的任务,它涉及如何控制用户对数据库资源的访问以及他们能执行的操作类型。本文将详细介绍Oracle中的权限管理概念、不同类型的权限及其授予与...
在Oracle中,系统权限的授予通常使用GRANT语句。例如,要授予一个用户DBA权限,可以使用命令`GRANT DBA TO USERNAME;`,但是这样的权限非常高,所以需要非常谨慎使用。而用户也可以拥有不限制的表空间,这通过`GRANT...
授予权限是 Oracle 权限大全的重要内容,包括授予创建 session 的权限、授予使用表空间的权限、授予创建表的权限、授予删除表的权限、授予插入表的权限、授予修改表的权限等多种权限。 grant 命令是授予权限的基本...
在Oracle环境中,权限控制是通过授权(GRANT)和回收(REVOKE)操作来实现的,以决定用户或角色可以访问哪些资源以及他们可以执行的操作。 首先,让我们详细了解一下Oracle中的权限类型: 1. **系统权限**:这些...
### Oracle权限管理详解 在Oracle数据库管理中,权限管理是一项重要的功能,它涉及到数据库的安全性和数据访问控制。本文将基于提供的文件信息,详细介绍Oracle中如何创建用户、分配及撤销权限等关键操作,并深入...
在Oracle数据库管理中,"ORA-00990: 权限缺失或无效"是一个常见的错误代码,它表示用户尝试执行的操作没有足够的权限。这个错误通常发生在试图访问、修改或者管理数据库对象(如表、视图、索引等)时。在本篇文章中...
### 修改Oracle表权限 在Oracle数据库管理中,对表的权限控制是非常重要的环节之一。合理的权限设置不仅可以确保数据的安全性,还可以提高系统的整体性能。本文将详细介绍如何在Oracle数据库中修改表权限,以及相关...
### Oracle权限函数详解 在Oracle数据库管理中,权限管理是一项重要的任务,它涉及到对用户、角色及对象等数据库实体的访问控制。通过合理地分配权限,可以有效地保护数据的安全性和完整性,同时确保业务流程的正常...
### Oracle权限设置详解 在Oracle数据库管理中,权限设置是一项非常重要的任务,它不仅涉及到数据库的安全性,还关乎数据的完整性和系统的稳定性。本文将基于提供的文件信息中的内容,详细介绍Oracle权限设置的相关...
在Oracle数据库管理中,了解和控制用户权限是至关重要的任务之一。这不仅涉及到数据库的安全性,也直接影响到数据的完整性和系统的高效运行。通过查询Oracle中的特定视图,我们可以详细了解用户的权限分配情况,包括...
Oracle数据库权限系统详解 Oracle数据库权限系统是指Oracle数据库中的一套完整的权限管理机制,旨在确保数据库安全和数据完整性。该系统分为系统权限和对象权限两大类。 系统权限(Database System Privilege) --...
### Oracle 用户权限管理 在Oracle数据库中,用户权限管理是一项重要的功能,用于控制数据库用户能够执行的操作类型。这种控制机制确保了数据的安全性和完整性。本文将详细介绍与Oracle用户权限管理相关的概念、...
同时,Oracle支持权限的级联授予(WITH GRANT OPTION),允许被授予者再将权限转授给其他用户。 除了上述基础权限,Oracle还有更高级的权限控制,如`RESOURCE LIMIT`、`AUDIT`和`PROFILE`,它们用于限制用户资源...
在 Oracle 数据库中,权限管理是通过 Grant 和 Revoke 语句来实现的。Grant 语句用于授予用户或角色特定的权限,而 Revoke 语句用于撤销用户或角色的权限。 二、 Sysman 账户的重要性 Sysman 账户是 Oracle 企业...
在Oracle中,权限可以通过`GRANT`命令来分配给用户或角色。 - **基本权限**:例如,`GRANT CREATE SESSION TO zhangsan;`授予用户创建会话的能力,即登录能力。 - **表空间权限**:如`GRANT UNLIMITED TABLESPACE ...
- **GRANT命令**:用于向用户或角色授予权限,可以指定WITH GRANT OPTION,允许被授予者将权限转授给其他人。 - **REVOKE命令**:用于撤销已授予的权限,可以撤销单一权限或全部权限,并可选择是否影响到已转授该...
Oracle数据库系统是企业级数据管理的重要工具,其权限和角色管理是确保数据安全性和系统稳定性不可或缺的部分。在Oracle中,权限和角色的概念是为用户提供访问控制机制,允许管理员精细地控制用户对数据库对象的访问...
### Oracle 设置用户权限详解 #### 一、Oracle 创建新用户和密码 在Oracle数据库中,创建新用户是一项基本且重要的管理任务。通过创建用户并分配相应的权限,可以确保数据的安全性和完整性。 ##### 步骤: 1. **...
Oracle数据库系统在权限管理方面提供了精细的控制机制,旨在确保数据的安全性和访问的合理性。预定义的角色是这一机制的关键组成部分,其中包括CONNECT、RESOURCE、DBA、EXP_FULL_DATABASE和IMP_FULL_DATABASE这五个...
2. **授予系统权限**:使用`GRANT`命令将系统权限授予用户,例如`GRANT SELECT, INSERT ON table_name TO user_name;`。 3. **授予对象权限**:同样使用`GRANT`命令,但指定具体的数据库对象,如表、视图等。 **...