当前位置:首页 > 开发 > 数据库 > 正文

Oracle权限管理

发表于: 2013-11-22   作者:dyy_gusi   来源:转载   浏览次数:
摘要: Oracle中的权限管理 说明:Oracle中权限分为系统权限和对象权限 1.Oracle中有3个默认的用户 1.sys用户 change_on_install DBA用户 (登录是必须加 as sysdba) 2.system用户 manager 管理员用户 3.scott用户 tiger 普通用户 4.创建新的用户 create user myUser ide
Oracle中的权限管理

说明:Oracle中权限分为系统权限和对象权限

1.Oracle中有3个默认的用户
	1.sys用户 change_on_install DBA用户 (登录是必须加 as sysdba)
	2.system用户 manager 管理员用户
	3.scott用户 tiger 普通用户
	4.创建新的用户
		create user myUser identified by myPwd;
		
2.Oracle中3个重要的系统权限
	1.Oracle连接数据库权限
		新创建的用户(myUser)是不能连接数据库的,需要管理员给他赋予连接数据库的权限
		grant create session to myUser;
		授权成功以后就可以连接数据库了。
		
	2.Oracle中对表的权限
		grant create table to myUser;(只能给自己创建表,当给自己创建表以后,就相当于对自己的表拥有修改和删除的权限)
		grant create any table to myUser;(可以给任何人创建表)
		grant alter any table to myUser;
		grant drop any table to myUser;
		没有alter table 和 drop table 权限。
		授权成功以后就可以创建表。
		此时,当前用户就可以拥有自己的表,然后他可以对自己的表拥有增删改查权限,不用再授权。
		
	3.Oracle中不受上限的表空间使用权限
		grant unlimited tablespace;
		
	4.撤销各种权限
		revoke create session from myUser;
		revoke create table from myUser;
		revoke create any table from myUser;
		revoke alter any table from myUser;
		revoke drop any table from myUser;
		revoke unlimited tablespace from myUser;
		
	5.将系统权限授予所有人
		grant create session to public;
		grant create table to public;
		grant create any table to public;
		grant drop any table to public;
		grant alter any table to public;
		grant unlimited tablespace to public;
	
	6.查看当前用户拥有哪些系统权限
		select * from user_sys_privs;
		从视图中查看用户的系统权限。
		
			
3.Oracle中对象权限
	1.授予对象权限
		grant select on myTable to otherUser;
		grant select any table to otherUser;
		grant update on myTable to otherUser;
		grant update any table to otherUser;
		grant insert on myTable to otherUser;
		grant insert any table to otherUser;
		grant delete on myTable to otherUser;
		grant delete any table to otherUser;
		grant all on myTable to otherUser;
		grant all on myTable to public;
		
	2.撤销对象权限
		revoke select on myTable from otherUser;
		revoke select any table from otherUser;
		revoke update on myTable form otherUser;
		revoke update any table from otherUser;
		revoke insert on myTable form otherUser;
		revoke insert any table from otherUser;
		revoke delete on myTable fomr otherUser;
		revoke delete any table from otherUser;
		revoke all on myTable from otherUser;
		revoke all on myTable from public;
			
	3.对象权限可以控制到列(除了查询和删除)
		grant update(colName) on myTable to otherUser;
		grant insert(colName) on myTable to otherUser;
		当然也可以收回列的控制权限。
				
	4.查看当前用户拥有哪些对象权限
		select * from user_tab_privs;
		从视图中查看用户的对象权限
		select * from user_col_privs;
		从视图中查看用户对列的控制权限
		
4.ddl\dml\dcl介绍
	1.ddl.数据定义语言
		例如:创建表(create),修改表(alter),删除表等语句(drop)。
		
	2.dml.数据操作语言
		例如:插入数据(insert),删除数据(delete,truncate),更新数据(update),查询数据语句(select)。
	
	3.dcl.数据控制语言
		例如:授权(grant)和撤销权限(revoke)等语句。
	
	注意:只有dml需要commit,当然查询语句不需要commit。
	
5.Oracle中权限的传递
	1.对于系统权限
		不允许权限传递
			grant create session to myUser;
		允许权限传递
			grant create session to myUser with admin option;
		
	2.对于对象权限
		不允许权限传递
			grant select on myTable to otherUser;
		允许权限传递
			grant select on myTable to otherUser with grant option;
			
6.Oracle中的角色管理
	1.创建角色
		create role myRole;
	2.给角色授权
		grant create session to myRole;
		grant create table to myRole;
	3.给用户指定角色
		grant myRole to myUser;
	4.删除角色
		drop role myRole;
	5.有些权限很高,不能通过角色分配给用户,只能直接分配给用户
		比如:unlimited tablespace 
		grant unlimited tablespace to myUser;

7.Oracle中的3中验证机制
	1.操作系统验证
		SYSDBA,SYSOPER两个角色的用户(比如sys用户)都是用操作系统和密码文件验证
		用操作系统验证时,可以不需要用户名和密码
	2.密码文件验证
		当操作系统用户不存在时,就会进行密码文件验证,就需要正确的用户名密码。
	3.数据库验证
		一般数据库用户都是数据库验证,因为是在数据库启动以后才能普通用户登录	
	4.数据库的启动顺序
		1.启动监听
			lsnrctl start;
		2.进行sys用户登录
			sqlplus sys/password as sysdba;
			conn sys/password as sysdba;
			当监听器监听到是as sysdba 时候,就进行操作系统和密码文件验证。
		3.启动数据库(启动实例)
			startup;
		4.普通用户登录
			conn scott/tiger;
			当数据库启动以后,用户登录的时候就可以使用数据库验证。
	

Oracle权限管理

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
例如我们公司是有几百个员工的大型IT上市公司,在北京、宁波、杭州都有规模比较大的分公司,在这个规
l 不同职责的人员,对于系统操作的权限应该是不同的。优秀的业务系统,这是最基本的功能。 l 可以对
数据库表设计: 后台的登录时序图: 详细讲解设计:假定,用户(op)为zhangsan ,id是1,角色是:200.
权限管理 中经常会有这样的一个需求, 由于某个用户有某个操作权限,所以应该能访问某些菜单才对,
一、权限控制总论 ----------------------------------------------------------------------------
1权限管理 1.1什么是权限管理 基本上涉及到用户参与的系统都要进行权限管理,权限管理属于系统安全
一.引言 因为做过的一些系统的权限管理的功能虽然在逐步完善,但总有些不尽人意的地方,总想抽个时
分类: Web开发 最近由于项目不是很紧所以总结了之前做了n遍的权限管理功能。以便之后系统copy之用
出处:http://blog.csdn.net/rose_liang/article/details/8217105 权限是指为了保证职责的有效执行
出处:http://blog.csdn.net/rose_liang/article/details/8217105 权限是指为了保证职责的有效执行
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号