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. javascript this指向

    this对象是什么: this对象是与运行时函数执行的上下文绑定的.这句话其实已经很好的解释了this对象,为我们确定this指明了方向!但是需要注意的是:由于javascript具有动态性(解释执行 ...

  2. DEBUG不能进断点 “exited with code -1073741515”

    需要把相关的DLL文件加入到项目对应的DEBUG路径下 IDE :Qt Creator 系统:Win7

  3. ant svn

    <!-- 检出代码 这里使用 export 不是checkout 二者区别 checkout会svn相关信息文件检出,export只是检出最新的文件--> <target name= ...

  4. IOS UI 第八篇:基本UI

    实现图片的滚动,并且自动停止在每张图片上     - (void)viewDidLoad{    [super viewDidLoad]; UIScrollView *scrollView = [[U ...

  5. 定义 ICache 接口,以及实现默认的 ASP.NET 缓存机制

    本文定义 ICache 接口,以及实现默认的 ASP.NET 缓存机制(即通过 System.Web.Caching.Cache)来缓存,将来也可以通过扩展,替换默认实现. 下面直接贴代码了: ICa ...

  6. c#通用多线程基类,以队列形式

    c#通用多线程基类,以队列形式 个人原创.欢迎转载.转载请注明出处.http://www.cnblogs.com/zetee/p/3487084.html 多线程这个概念大家都很熟悉,对于winfor ...

  7. C#中利用JQuery实现视频网站

    C#中利用JQuery实现视频网站的缩略图采集   最近有朋友想要采集优酷的视频标题和缩略图 (哈哈, 并非商业目的). 找到我帮忙, 考虑到有我刚刚发布的SpiderStudio, 我毫不犹豫的答应 ...

  8. 企业架构研究总结(30)——TOGAF架构内容框架之内容元模型(上)

    2. 内容元模型(Content Metamodel) 在TOGAF的眼中,企业架构是以一系列架构构建块为基础的,并将目录.矩阵和图形作为其具体展现方式.如果我们把这些表述方式看作为构建块的语法,那么 ...

  9. python(学习之路一)

    ''' Created on 2013-5-3 @author: lixingle ''' #输出的练习 length=3 width=4; area=length*width print(area) ...

  10. 安装oracle后,Tomcat 登陆 localhost 要求用户名和密码

    localhost 要求用户名和密码同时安装了tomcat和oracle9i后,启动Tomcat--连接到localhost 提示:位于 XDB 的服务器 localhost 要求用户名和密码,原因是 ...