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

来源:互联网 发布:c语言入门教程 编辑:程序博客网 时间:2024/05/22 12:36
最近把有关用户操作和权限管理的东西整理了一下,虽然不少博客都有过类似的整理,但是自己发现他们的内容或多或少都有些错误。于是,本人亲自对每条语句进行验证后,并对其做了自己的讲解和分析,撰写本篇博客。或仍有错误之处,望各位指出,谢谢! 闲话少说,开始进入正题!

一、系统用户
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 tostarive;//授予starive用户创建session的权限,即登陆权限 

###  tablespace  ###

grant unlimited tablespace tostarive;//授予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 tostarive;//授予创建表的权限 
grant drop any table tostarive;//授予删除表的权限 
grant insert any table tostarive;//插入表的权限 
grant update any table tostarive;//修改表的权限 
grant select any table to starive;//查询表的权限 

grant all privileges to public;     //授予所有权限(all)给所有用户(public)   !!!小心使                                        用,用了后它跟system权限一样
grant all privileges tostarive;    //授予所有权限(all)给用户starive   !!!小心使用



2、oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的,需要互相授权 
grant select on tablename to starive;//授予starive用户查看指定表的权限 
grant drop on tablename tostarive;//授予删除表的权限 
grant insert on tablename tostarive;//授予插入的权限 
grant update on tablename tostarive;//授予修改表的权限 
grant insert(id) on tablename tostarive
grant update(id) on tablename tostarive;//授予对指定表特定字段的插入和修改权限,注意,只能是insert和update 
grant alert all table tostarive;//授予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 tostarive with admin option;//关键字 with admin option 
grant alert table on tablename tostarive with grant option;//关键字 with grant option效果和admin类似 


九、角色 
角色即权限的集合,可以把一个角色授予给用户 
create role myrole;//创建角色 
grant create session to myrole;//将创建session的权限授予myrole 
grant myrole tostarive;//授予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%';

题记:  有些权限要小心使用,因为授予权限过大,会很危险。一不小心,系统就崩了....

转自:http://blog.itpub.net/26435490/viewspace-1076654/

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 学东西悟性不高怎么办 微商不会写笔记怎么办 布鞋买大了一码怎么办 凉鞋买大了一码怎么办 皮鞋小了一码怎么办妙招 图书馆借的书本损坏了怎么办 把人打伤没钱赔怎么办 小孩不小心打伤了老师怎么办 高考进了三段怎么办 工作中和领导产生冲突怎么办 酒店不给员工发工资怎么办 裙子没有解开超市的锁怎么办 接待老外听不懂他说的怎么办 脚脱皮又痒又臭怎么办 成都应聘平面模特被骗了怎么办 文明6开场一堆蛮族怎么办 幼儿园里出了水痘怎么办 穿高跟鞋脚容易出汗怎么办 粗跟鞋走路太响怎么办 粗跟鞋鞋跟很响怎么办 皮鞋跟走路太响怎么办 穿高跟鞋脚崴了怎么办 高跟鞋小了一码怎么办 高跟皮鞋磨脚怎么办 大同同煤集团三供一业人员怎么办 小孩被猫咪抓了怎么办 长得特别丑的人怎么办 锅巴放的不脆了怎么办 淘宝买到假货了怎么办 单位不给解约函怎么办 安卓个人热点打不开怎么办 密码忘记无法进入主机怎么办 流放之路w10闪退怎么办 电脑网站被劫持了怎么办 苹果手机浏览器被劫持怎么办 苹果手机网站被劫持怎么办 a37手机网站被劫持怎么办 耳朵被震的耳鸣怎么办 液晶电视怎么办断屏坏还是逻辑板 门保险拧坏了怎么办 锁的保险坏了怎么办