Oracle SQL 基本操作之 用户权限管理方法

最近把有关用户操作和权限管理的东西整理了一下,虽然不少博客都有过类似的整理,但是自己发现他们的内容或多或少都有些错误。于是,本人亲自对每条语句进行验证后,并对其做了自己的讲解和分析,撰写本篇博客。或仍有错误之处,望各位指出,谢谢! 闲话少说,开始进入正题!

一、系统用户
sys;//系统管理员,拥有最高权限 
system;//本地管理员,次高权限 
scott;//普通用户,密码默认为tiger,默认未解锁 

二、登陆 
sqlplus / as sysdba;//登陆sys帐户 
sqlplus sys as sysdba;//登陆sys账户,方法二
sqlplus scott/tiger;//登陆普通用户scott 

三、管理用户 
create user starive;//在管理员帐户下,创建用户starive
alert user scott identified by tiger;//修改密码 

四,授予权限 
1、默认的普通用户scott默认未解锁,不能进行那个使用,新建的用户也没有任何权限,必须授予权限 
### 以下都需要管理员授权  ###
grant create session to starive;//授予starive用户创建session的权限,即登陆权限 

###  tablespace  ###
grant unlimited tablespace to starive;//授予starive用户使用表空间的权限 
grant create tablespace to starive;//授予 starive 创建表空间的权限
grant drop tablespace to starive;//授予starive用户使用表空间的权限 
grant  alter tablespace to starive;//授予 starive 修改表空间的权限
grant manage tablespace to starive;//授予 starive 管理表空间的权限

###   table  ###
grant create any table to starive;//授予创建表的权限 
grant drop any table to starive;//授予删除表的权限 
grant insert any table to starive;//插入表的权限 
grant update any table to starive;//修改表的权限 
grant select any table to starive;//查询表的权限 
grant all privileges to public;     //授予所有权限(all)给所有用户(public)   !!!小心使                                        用,用了后它跟system权限一样
grant all privileges to starive;    //授予所有权限(all)给用户starive   !!!小心使用

2、oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的,需要互相授权 
grant select on tablename to starive;//授予starive用户查看指定表的权限 
grant drop on tablename to starive;//授予删除表的权限 
grant insert on tablename to starive;//授予插入的权限 
grant update on tablename to starive;//授予修改表的权限 
grant insert(id) on tablename to starive; 
grant update(id) on tablename to starive;//授予对指定表特定字段的插入和修改权限,注意,只能是insert和update 
grant alert all table to starive;//授予starive用户alert任意表的权限 

五、撤销权限 
revoke select on tablename from starive;//授予starive用户查看指定表的权限 
revoke  drop on tablename from starive;//授予删除表的权限 
revoke  insert on tablename from starive;//授予插入的权限 
revoke  update on tablename from  starive;//授予修改表的权限 
revoke  insert(id) on tablename from  starive; 
revoke  update(id) on tablename from  starive;//授予对指定表特定字段的插入和修改权限,注意,只能是insert和update 
revoke  alert all table from  starive;//授予starive用户alert任意表的权限 

***revoke和grant语法基本一致,只是前者是to<用户>,而后者是 from<用户>

六、查看权限 
select * from user_sys_privs;//查看当前用户所有权限 
select * from user_tab_privs;//查看所用用户对表的权限 

七、操作表的用户的表 
/*需要在表名前加上用户名,如下例*/ 
select * from starive.tablename 

八、权限传递 
即用户A将权限授予B,B可以将操作的权限再授予C,命令如下: 
grant alert table on tablename to starive with admin option;//关键字 with admin option 
grant alert table on tablename to starive with grant option;//关键字 with grant option效果和admin类似 

九、角色 
角色即权限的集合,可以把一个角色授予给用户 
create role myrole;//创建角色 
grant create session to myrole;//将创建session的权限授予myrole 
grant myrole to starive;//授予starive用户myrole的角色 
drop role myrole;删除角色 
/*但是有些权限是不能授予给角色的,比如unlimited tablespace和any关键字*/

十 命令
SQL> select distinct PRIVILEGE from DBA_SYS_PRIVS where privilege like '%TABLE%';

SQL> select distinct PRIVILEGE from DBA_SYS_PRIVS where privilege like '%TABLE%';
题记:  有些权限要小心使用,因为授予权限过大,会很危险。一不小心,系统就崩了....

Oracle SQL 基本操作之 用户权限管理方法的更多相关文章

  1. Oracle 用户权限管理方法

    Oracle 用户权限管理方法 sys;//系统管理员,拥有最高权限 system;//本地管理员,次高权限 scott;//普通用户,密码默认为tiger,默认未解锁 sys;//系统管理员,拥有最 ...

  2. 【转】 Oracle 用户权限管理方法

    sys;//系统管理员,拥有最高权限 system;//本地管理员,次高权限 scott;//普通用户,密码默认为tiger,默认未解锁 sys;//系统管理员,拥有最高权限 system;//本地管 ...

  3. Oracle 表空间和用户权限管理

    一. 表空间 Oracle数据库包含逻辑结构和物理结构. 数据库的物理结构指的是构成数据库的一组操作系统文件. 数据库的逻辑结构是指描述数据组织方式的一组逻辑概念以及它们之间的关系. 表空间是数据库逻 ...

  4. Oracle 表空间和用户权限管理【转】

    一. 表空间 Oracle数据库包含逻辑结构和物理结构. 数据库的物理结构指的是构成数据库的一组操作系统文件. 数据库的逻辑结构是指描述数据组织方式的一组逻辑概念以及它们之间的关系. 表空间是数据库逻 ...

  5. Python 学习 第十篇 CMDB用户权限管理

    Python 学习 第十篇 CMDB用户权限管理 2016-10-10 16:29:17 标签: python 版权声明:原创作品,谢绝转载!否则将追究法律责任. 不管是什么系统,用户权限都是至关重要 ...

  6. 解决将/etc/passwd文件中1000改为0后只能guest进入系统的问题 ||ubuntu下将普通用户权限升级为root用户权限的方法;

    其实我现在才知道linux系统对于用户权限管理比较严,在ubuntu下系统不允许root权限的用户进入图像界面系统.由于之前没弄过权限这个东西瞬间掉坑了了. 我是想修改一下root下的nginx.co ...

  7. Jenkins拾遗--第三篇(用户权限管理)

    采访过很多实用Jenkins的同学,发现Jenkins的安全是一个很薄弱的地方.很多公司用作生产部署的Jenkins安全管理都不是很规范,就更别提测试用的Jenkins了. 其实Jenkins是一个很 ...

  8. PostgreSQL学习之【用户权限管理】说明

    背景 最近在学习PostgreSQL,看了用户权限管理文档,涉及到的知识点比较多,顺便写篇文章进行整理并不定时更新,也方便自己后续进行查阅. 说明 注意:创建好用户(角色)之后需要连接的话,还需要修改 ...

  9. ClickHouse学习系列之二【用户权限管理】

    背景 最近花了些时间看了下ClickHouse文档,发现它在OLAP方面表现很优异,而且相对也比较轻量和简单,所以准备入门了解下该数据库系统.在安装完之后首先做的应该如何设置用户密码以及权限控制.因为 ...

随机推荐

  1. 【转】android动画之Tween动画 (渐变、缩放、位移、旋转)

    原文:http://blog.csdn.net/feng88724/article/details/6318430 Android 平台提供了两类动画. 一类是Tween动画,就是对场景里的对象不断的 ...

  2. 如何使用SetTimer MFC 不够具体

    转会:http://blog.csdn.net/ellor/article/details/1714741 Timer事件,即定时器事件,是在游戏编程中.常常使用的一个事件.借助它能够产生定时运行动作 ...

  3. Oracle wrap 和 unwrap( 加密与解密) 说明

    一. Wrap 说明 官网的说明如下: A PL/SQL Source Text Wrapping http://download.oracle.com/docs/cd/E11882_01/appde ...

  4. C# socket通信随记回顾

    ----tcp(传输 控制 协议)是可靠消息:三次握手(发给对方,对方发给自己,证明对方接到消息,在发给对方,说明自己能接到对方消息,这样就都知道了):tcp:每发送一次消息,对方都会回复,证明接受到 ...

  5. {{angular.js 使用技巧}} - 实现计算列属性

    前端MV*框架现在有很多,其中某些框架有计算列(又叫监控属性),比如:微软推荐的 Knockout.js 和博客园司徒正美的 avalon.js 框架. 本人只使用过 Knockout.js,aval ...

  6. Mac OS X安装之虚拟机环境下的总结

    最近一直忙着公司iOS Touch的新版发布,终于忙过了.现在,又开始了新的阶段,不过算是轻松了很多.回来一看,自己的博客空空如也,实在受不了了.于是,开始更一下吧,哈哈. 这个文档是我几个月前,开始 ...

  7. 一致性hash和虚拟节点

    consistent hashing 算法的原理 consistent hashing 是一种 hash 算法,简单的说,在移除 / 添加一个 cache 时,它能够尽可能小的改变已存在key 映射关 ...

  8. windows下Jdk和Tomcat的安装配置

    Jdk全称Java development Kit,Jdk是sun公司提供的免费开源的java语言开发工具包,现在最新版本是8.0,说道jdk的版本,有些人可能会有疑惑,怎么有说jdk1.6,jdk1 ...

  9. 基于Redis的CustomerSessionProvider(一)

    CustomerSessionProvider需要实现SessionStateStoreProviderBase 在设计Redis Session Provider的时候,需要考虑 1.是否每个用户的 ...

  10. RTB撕开黑盒子 Part 3: Beyond Surplus

    在本文中,我将解释如果要对整个推广计划最大化利润,决定是否应该出价的应该是期望回本率(ROI),而不是期望利润,这与我们以前介绍的有所不同.在Datacratic,我们已经在2012年底切到了基于RO ...