预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

HYPERLINK"http://blog.csdn.net/junmail/article/details/4381287"Oracle用户、权限、角色管理 Oracle权限设置一、权限分类:系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。 实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。 二、系统权限管理:1、系统权限分类:DBA:拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。 RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。 CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。 对于普通用户:授予connect,resource权限。对于DBA管理用户:授予connect,resource,dba权限。 2、系统权限授权命令:[系统权限只能由DBA用户授出:sys,system(最开始只能是这两个用户)]授权命令:SQL>grantconnect,resource,dbato用户名1[,用户名2]...; [普通用户通过授权可以具有与system相同的用户权限,但永远不能达到与sys用户相同的权限,system用户的权限也可以被回收。] 例:SQL>connectsystem/managerSQL>Createuseruser50identifiedbyuser50;SQL>grantconnect,resourcetouser50; 查询用户拥有哪里权限:SQL>select*fromdba_role_privs;SQL>select*fromdba_sys_privs;SQL>select*fromrole_sys_privs; 删除用户:SQL>dropuser用户名cascade;//加上cascade则将用户连同其创建的东西全部删除 3、系统权限传递:增加WITHADMINOPTION选项,则得到的权限可以传递。 SQL>grantconnect,resorcetouser50withadminoption;//可以传递所获权限。 4、系统权限回收:系统权限只能由DBA用户回收命令:SQL>Revokeconnect,resourcefromuser50; 说明: 1)如果使用WITHADMINOPTION为某个用户授予系统权限,那么对于被这个用户授予相同权限的所有用户来说,取消该用户的系统权限并不会级联取消这些用户的相同权限。 2)系统权限无级联,即A授予B权限,B授予C权限,如果A收回B的权限,C的权限不受影响;系统权限可以跨用户回收,即A可以直接收回C用户的权限。 三、实体权限管理1、实体权限分类:select,update,insert,alter,index,delete,all//all包括所有权限execute//执行存储过程权限 user01:SQL>grantselect,update,insertonproducttouser02;SQL>grantallonproducttouser02; user02:SQL>select*fromuser01.product; //此时user02查user_tables,不包括user01.product这个表,但如果查all_tables则可以查到,因为他可以访问。 2.将表的操作权限授予全体用户:SQL>grantallonproducttopublic;//public表示是所有的用户,这里的all权限不包括drop。 [实体权限数据字典]:SQL>selectowner,table_namefromall_tables;//用户可以查询的表SQL>selecttable_namefromuser_tables;//用户创建的表SQL>selectgrantor,table_schema,table_name,privilegefromall_tab_privs;//获权可以存取的表(被授权的)SQL>selectgrantee,owner,table_name,privilegefromuser_tab_privs;//授出权限的表(授出的权限) 3.DBA用户可以操作全体用户的任意基表(无需授权,包括删除):DBA用户:SQL>Createtablestud02.product(idnumber(10),namevarchar2(20));SQL>droptablestud02.emp; SQL>createtablestud02.employeeasselect*fromscott.emp;4.实体权限传递(withgrantoption):user01: SQL