oracle数据库的权限问题

原创 2012年03月26日 21:11:05

限分为系统权限(system privilege)和对象权限(object privilege)

所谓系统权限是指用户对数据库的相关权限。允许用户在数据库中执行特定操比如执行DDL。常用的系统特权:

create session:连接到数据库上

create sequence:创建序列。序列是一系列数字,通常用来填充主键值。

create synonym:创建同名对象。同名对象用来引用其它模式中的表。

create table

create any table

drop table

drop any table

create procedure

execute any procedure

create user

drop user

create view

授权

向用户授予系统特权,如果后面使用with admin option选项,则表示所授予的用户可以把这种特权再授予其它用户。

GRANT EXECUTE ANY PROCEDURE TO steve WITH ADMIN OPTION

CONN steve/button

GRANT EXECUTE ANY PROCEDURE TO gail;

将一种特权授予PUBLIC,可以将特权授予所有的用户。

CONN system/manager

GRANT EXECUTE ANY PROCEDURE TO PUBLIC;

检查授予用户的系统特权

通过查询user_sys_privs可以检索某个用户具有哪些系统特权.

SELECT * FROM user_sys_privs

撤权

REVOKE EXECUTE ANY PROCEDURE FROM steve

在撤销steve用户的execute any procedure特权时—steve已经将这种特权又授权了gail用户,gail用户仍然会保留这些特权。

所谓对象权限是指用户对其它用户的数据对象操作的权限。比如对表执行DML。常用的对象特权:

selectupdateinsertdeleteexecuteall (前四种的总称)

授权

GRANT SELECT ,INSERT,UPDATE ON store.products TO steve

下面这个例子将对last_namesalary列的UPDATE特权授予steve用户.

GRANT UPDATE(last_name,salary) ON store.products TO steve

此处可以使用WTIH GRANT OPTION选项

检查已授予的对象特权通过查询user_tab_privs_made可以检查某个用户对哪些表向其它用户开放了哪些对象特权。

SELECT *

FROM user_tab_privs_made

WHERE table_name=’PRODUCTS’

通过查询user_col_privs_made可以检索某个用户对哪些列开放了哪些特权。

SELECT *

FROM user_col_privs_made

检索已接受的对象特权

通过查询user_tab_privs_recd可以检查某个用户被授予了哪些表上的哪些对象特权。

通过查询user_col_privs_recd可以检查某个被授予了哪些列上的对象特权。

注意:

当所授予的权是系统特权时,并且使用WITH ADMIN OPTION选项使该系统特权向下传递,当撤销授予者的系统特权时,其所向下授予的系统特权不在撤销。

当授予的权是对象特权时,并且使用WITH GRANT OPTION选项使该对象特权向下传递,当撤销授予者的系统特权时,其所向下授予的对象特权一并收回。

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

oracle数据库权限管理

  • 2013-05-31 20:15
  • 27.71MB
  • 下载

oracle数据库管理--管理权限和角色

引言:          当刚刚建立新用户时,用户没有任何权限,也不能执行任何操作。如果要执行某种待定的数据库操作,则必须为其授予系统权限;如果用户要访问其它方案的对象,则必须为其授予对象权限。为了...

使用PLSQL 创建Oracle数据库用户并设置权限

1、 首先在 PLQL Developer 中打开数据库。使用 "sys" 用户,输入数据库名称,输入该数据库 ”sys” 用户的密码,在 ”Connect as” 组合框中选中 “SYSDBA”。单...
  • kbest
  • kbest
  • 2011-05-14 22:28
  • 3365

oracle数据库01-连接&用户&权限

Oracle数据库是Oracle(中文名称叫甲骨文)公司的核心产品,Oracle数据库是一个适合于大中型企业的数据库管理系统。      Oracle数据库涉及银行、电信、移动通信、航空、保险、金融、...

ORACLE数据库用户与权限管理

ORACLE数据库用户与权限管理  ORACLE是多用户系统,它允许许多用户共享系统资源。为了保证数据库系统的安全,数据库管理系统配置了良好的安全机制。  2. 1 ORACL...

oracle数据库权限管理

oracle数据库使用权限

使用PLSQL 创建Oracle数据库用户并设置权限

使用PLSQL 创建Oracle数据库用户并设置权限   1、 首先在 PLQL Developer 中打开数据库。使用 "sys" 用户,输入数据库名称,输入该数据库”sys” 用户的密码,在 ...

oracle数据库分配用户权限

Oracle数据库用户有两种途径获得权限,它们分别为 1.管理员直接向用户授予权限 2.管理员直接将权限授予角色,然后将角色授予给一个或者多个用户 使用后者能够更加方便高效地对权限进行管理,所以...

Oracle数据库权限管理

1)权限,角色和用户的关系 权限(privilege):Oracle数据库预先定义好的、执行某些操作的能力。 角色(role):一组相关权限的集合。可以利用角色来简化权限的管理。 用户(user...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)