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. grunt实用总结

    grunt实用总结 文章梗概如下: 如何让Grunt在项目跑起来 初识:Gruntfile.js 术语扫盲:task & target 如何运行任务 任务配置 自定义任务 文件通配符:glob ...

  2. PYTHON ASP FRAMEWORK

    Python 融于ASP框架   一.ASP的平反 想到ASP 很多人会说 “asp语言很蛋疼,不能面向对象,功能单一,很多东西实现不了” 等等诸如此类. 以上说法都是错误的,其一ASp不是一种语言是 ...

  3. 应用facebook .net sdk

    1.本博客主要介绍如何应用facebook .net SDK,实现发帖.点赞.上传照片视频等功能,更多关于facebook API,请参考:https://developers.facebook.co ...

  4. 如何去除AJAX收到数据中包含的html页面数据

    问题: 如下代码所示,我用AJAX收到来自url: 'kzkj_check.jsp',返回的数据msg,总是包含页面的html数据,可是我只想要我返回的数据“false”, $.ajax({ url: ...

  5. 跨平台C/C++集成开发环境-Code::Blocks-内置GCC

    Code::Blocks 是一个开放源码的全功能的跨平台C/C++集成开发环境. 相比于基于Delphi的Dev-C++共享C++IDE,Code::Blocks是开放源码软件.Code::Block ...

  6. SSH整合之_架构的历史序列图

    只用jsp最原始的架构 jsp+DB的2层架构 jsp+DB+_Entity的2层架构 jsp+DB+_Entity3_+Service的三层架构 jsp+DB+_Entity3_+Service_H ...

  7. 设计模式之 - 外观模式 (Facade design pattern)

    1. 模式意图:  为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更容易使用. 2. 结构 3. 工厂方法模式C#实现 using System; ...

  8. Trade-----HDU3401----单调队列优化的DP

    题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=3401 题目意思: 有T天,你每天可以以API买进,BPI卖出,最多买ASI个,最多卖BSI个 最多只能 ...

  9. iOS抽奖程序

    iOS抽奖程序 代码下载地址: http://vdisk.weibo.com/s/HKehU http://pan.baidu.com/share/link?shareid=893330225& ...

  10. 最近修bug的一点感悟

    写在前面话 项目从13年1月份,现场开发,4月中旬,项目开发接近尾声,三个开发,留两个在现场,我被调回公司,5月份现场一同事离职,只有一个同事在开发,结果PM想让这一个同事承担余下的开发和bug工作, ...