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. Mysql基础之字符集与乱码

    原文:Mysql基础之字符集与乱码 Mysql的字符集设置非常灵活 可以设置服务器默认字符集 数据库默认字符集 表默认字符集 列字符集 如果某一个级别没有指定字符集,则继承上一级. 以表声明utf8为 ...

  2. [转] 关于 Eclipse 导出 Android项目 JavaDoc 详细过程

    关于Eclipse 导出JavaDoc过程中,遇到的问题 ,google 了一下 ,网友们 总说不一 ,最终 还是 搞定了 现在分享给大家 希望对大家有所帮助 用Eclipse默认的 JavaDoc需 ...

  3. Yeoman入门之安装及环境配置

    Yeoman入门之安装及环境配置 http://blog.csdn.net/panlingfan/article/details/27345037 http://www.nodejs.orgYEOMA ...

  4. 利用Readability解决网页正文提取问题

    分享: 利用Readability解决网页正文提取问题   做数据抓取和分析的各位亲们, 有没有遇到下面的难题呢? - 如何从各式各样的网页中提取正文!? 虽然可以用SS为各种网站写脚本做解析, 但是 ...

  5. SQLSERVER误删Windows登录用户

    SQLSERVER误删除了Windows登录用户验证方式使用Windows身份验证的解决方法   SQLSERVER误删Windows登录用户验证方式使用Windows身份验证的解决方法 今天看到这篇 ...

  6. Parameter Binding in ASP.NET Web API(参数绑定)

    Parameter Binding in ASP.NET Web API(参数绑定) 导航 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnbl ...

  7. Coursera台大机器学习基础课程1

    Coursera台大机器学习基础课程学习笔记 -- 1 最近在跟台大的这个课程,觉得不错,想把学习笔记发出来跟大家分享下,有错误希望大家指正. 一 机器学习是什么? 感觉和 Tom M. Mitche ...

  8. Push Notification总结系列之移动客户端定位服务

    Push Notification系列概括: 1.Push Notification简介和证书说明及生成配置 2.Push Notification的iOS处理代码和Provider详解 3.Push ...

  9. 一致性hash和虚拟节点

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

  10. 历年noip复赛试题整合

    早晨打算把历年的试题都过一遍,整理一下大概会往哪个方向考,考什么,不说太多,开始吧 2013: Day1: T1 转圈游戏 : 快速幂(关键在于要会打 快速幂) 思路:因为每次都进m位,相当于每次x加 ...