博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle 权限常用语句【转】
阅读量:2496 次
发布时间:2019-05-11

本文共 2501 字,大约阅读时间需要 8 分钟。

http://www.cnblogs.com/ningvsban/p/3606239.html body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe WPC', 'Segoe UI', 'HelveticaNeue-Light', 'Ubuntu', 'Droid Sans', sans-serif; font-size: 14px; line-height: 1.6; }

Oracle用户权限常用语句

常用的System Privileges

  • create session 连接数据库
  • create table 建表
  • create view 建视图
  • create public synonym 建同义词
  • create procedure 建过程、函数、包
  • create trigger 建触发器
  • create cluster 建簇

实例

创建用户并赋予该用户授权权限。

create user ken identified by ken;

授予权限并附带admin option

grant create session, create table to ken with admin option;

授予权限,不带with admin option

grant create view to ken;

新建tom用户

create user tom identified by tom;

使用ken用户登录后对tom授权, 语句执行成功

grant create session, create table to tom; Grant succeeded. 对tom授权,语句执行失败 grant create view to tom; grant create view to tom * ERROR at line 1: ORA-01031: insufficient privileges

回收权限

note 注意,回收权限不是级联的。

从ken回收登录权限

revoke create session from ken;

此时tom依然可以登录,但Ken无法登录了

ERROR: ORA-01045: user KEN lacks CREATE SESSION privilege; logon denied

常用的Object Privilege

  • alter
  • delete
  • select
  • insert
  • update
  • index
  • references
  • execute

查看系统中的Object Privilege

select distinct privilege from dba_tab_privs;

查看某用户具有的Object Privilege

select grantor, owner, table_name, privilege from dba_tab_privs where grantee = 'TOM';

授予人可以是该对象所有者或者sys和system用户。

grant select on t to tom

授予所有权限

grant all on emp to monkey;

授予列权限

grant update on emp(sal) to monkey

授予对于某个包的执行权限

grant execute on dbms_transaction to ken;

在别的schema中建立索引,必须具备以下权限

grant index on scott.emp to blake;

回收对象权限

revoke select on emp from blake

note 回收Object Privilege 会导致级联回收。

角色

角色Role,定义一组权限。

查询角色具备的权限

select * from role_sys_privs where role='角色名'

select * from role_sys_privs where role='CONNECT';

select * from role_sys_privs where role='RESOURCE';

DBA角色

dba角色具有所有的系统权限,及with admin option选项,默认的dba用户为sys和system,它们可以将任何系统权限授予其他用户。但是要注意的是dba角色不具备sysdba和sysoper的特权(启动和关闭数据库)

note 一般而言,创建用户后,给与connect角色和resource就够了。

自定义角色

建立角色(不验证)

create role 角色名 not identified;

建立角色(数据库验证)

create role 角色名 identified by 密码;

角色授权

grant create session to 角色名 with admin option grant select on scott.emp to 角色名; grant insert, update, delete on scott.emp to 角色名;

分配角色

grant 角色名 to blake with admin option;

select * from dba_roles;

select privilege, admin_option from role_sys_privs where role='角色名';

select granted_role, default_role from dba_role_privs where grantee = '用户名';

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29757574/viewspace-2146983/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29757574/viewspace-2146983/

你可能感兴趣的文章
Swift code into Object-C 出现 ***-swift have not found this file 的问题
查看>>
为什么你的App介绍写得像一坨翔?
查看>>
RTImageAssets插件--@3x可自动生成@2x图片
查看>>
iOS开发的一些奇巧淫技
查看>>
常浏览的博客和网站
查看>>
Xcode 工程文件打开不出来, cannot be opened because the project file cannot be parsed.
查看>>
iOS在Xcode6中怎么创建OC category文件
查看>>
5、JavaWeb学习之基础篇—标签(自定义&JSTL)
查看>>
8、JavaWEB学习之基础篇—文件上传&下载
查看>>
reRender属性的使用
查看>>
href="javascript:void(0)"
查看>>
h:panelGrid、h:panelGroup标签学习
查看>>
f:facet标签 的用法
查看>>
<h:panelgroup>相当于span元素
查看>>
java中append()的方法
查看>>
必学高级SQL语句
查看>>
经典SQL语句大全
查看>>
log日志记录是什么
查看>>
<rich:modelPanel>标签的使用
查看>>
<h:commandLink>和<h:inputLink>的区别
查看>>