pcMing工作室"YkX|;z%J"rD%S
------今天看了这篇文章 觉得对我们学习oracle 还是有很多帮助的,大家可以试着读读·······,qe'p"rruEX.j0
g'E-e;~.x#mhN.W0这里将介绍Oracle修改用户权限的实现过程,包括一些权限管理方面的东西。希望通过本文能对大家了解Oracle修改用户权限有所帮助。pcMing工作室(T:i7?,u2_(H
#br VOdDH?UP0ORACLE数据库用户与权限管理8}#YIh`,Ip0
&}y\1i*{;H0ORACLE是多用户系统,它允许许多用户共享系统资源。为了保证数据库系统的安全,数据库管理系统配置了良好的安全机制。pcMing工作室8{ T7@:dk+Ckz
$T6EH}:y7yf02. 1 ORACLE数据库安全策略.|H&]O+R7o0
aG?*|R0建立系统级的安全保证C6[pQ/B/x0
buu4E%j `0系统级特权是通过授予用户系统级的权利来实现,系统级的权利(系统特权)包括:建立表空间、建立用户、修改用户的权利、删除用户等。系统特权可授予用户,也可以随时回收。ORACLE系统特权有80多种。pcMing工作室XC7E-V1dk A7Qp
%Yr8y!A M'U0建立对象级的安全保证.?XwV2Fd$~0
"m5l(r8yc T0对象级特权通过授予用户对数据库中特定的表、视图、序列等进行操作(查询、增、删改)的权利来实现。pcMing工作室F1i^;H`!SZ+P|
I+h!{8}E{#V0建立用户级的安全保证pcMing工作室#~hMWQ^pcMing工作室H?%H-Ge
Od5K
用户级安全保障通过用户口令和角色机制(一组权利)来实现。引入角色机制的目的是简化对用户的授权与管理。做法是把用户按照其功能分组,为每个用户建立角色,然后把角色分配给用户,具有同样角色的用户有相同的特权。pcMing工作室X#F!k7G+Ea&hJ9zpcMing工作室G,cKSb#Di
2.2 用户管理HhKY:ac0pcMing工作室2O*L0V o[yF
ORACLE用户管理的内容主要包括用户的建立、修改和删除pcMing工作室*QRM
fv)UpcMing工作室DRrv/ZMx{j
_e
用户的建立pcMing工作室KN6dn0rj
n9]D1S,g(d0 pcMing工作室No$J Q2m~O!d$xSQL>CREATEUSERjxzy
>IDENTIFIEDBYjxzy_password
>DEFAULTTABLESPACE system
>QUATA 5MONsystem; //供用户使用的最大空间限额pcMing工作室Om5s0h8Y#R
Oracle修改用户权限4]z{%FY[4N(t7N]4R0
6?iNrj[Yg0 pcMing工作室S)eT6{_qdSQL>CREATEUSERjxzy
>IDENTIFIEDBYjxzy_pw
>QUATA 10MONsystem;
ajH[;~K&d*Oc0删除用户及其所建对象2uu-_qP
qwbt0pcMing工作室d?;i:`~0H%P
KoxQR:\-hj0SQL>DROPUSERjxzyCASCADE; //同时删除其建立的实体pcMing工作室6U;H&v`{6vwg3zR
`
2.3系统特权管理与控制pcMing工作室!TdI3U#|G7W
TOj!nIP0ORACLE 提供了80多种系统特权,其中每一个系统特权允许用户执行一个或一类数据库操作。0\U3NA)gp:nD0pcMing工作室 UlB!K|xS
授予系统特权pcMing工作室C}x)N$S(]z:bpcMing工作室0KHdZn5H
C(~M7qe-]L0SQL>GRANTCREATEUSER,ALTERUSER,DROPUSER
>TOjxzy_new
>WITHADMINOPTION;pcMing工作室JfO6yY}
回收系统特权pcMing工作室$O5R#RR
P+Q9Y](RpcMing工作室8H%L K2l?il
*f{!u"vH*c]0SQL>REVOKECREATEUSER,ALTERUSER,DROPUSER
>FROMjxzy_new
//但没有级联回收功能pcMing工作室_7S+h2@gYQnT
显示已被授予的系统特权(某用户的系统级特权)*v0D L*k/K!?nR0pcMing工作室L`9oze:z#kz^
.Zb,r[r#wp1Q0SQL>SELECT*FROMsys.dba_sys_privspcMing工作室e&kHH$LD%} [*MIK
2.4 对象特权管理与控制^1BM\6ig5N.Y0pcMing工作室3V8TVZc5tTJ
ORACLE对象特权指用户在指定的表上进行特殊操作的权利。这些特殊操作包括增、删、改、查看、执行(存储过程)、引用(其它表字段作为外键)、索引等。Mbe8sJ|0pcMing工作室9T j D"@~V-S0W
授予对象特权pcMing工作室AGj6K:SYx
,v3M;tG9N0 pcMing工作室!U8^Z:u/VE7?olSQL>GRANTSELECT,INSERT(office_num,office_name),
>UPDATE(desc)ONoffice_organization
>TOnew_adminidtrator
>WITHGRANTOPTION;
//级联授权
SQL>GRANTALLONoffice_organization
>TOnew_administrator
p#a.s(H.mm/M0回收对象特权-q.p c&VD{0pcMing工作室o5Ve(F4a1Uh;Jy1y4}
pcMing工作室0a+u(Q-CB7|SQL>REVOKEUPDATEONoffice_orgaization
>FROMnew_administrator
//有级联回收功能
SQL>REVOKEALLONoffice_organization
>FROMnew_administrator
+y;M)R7x;Cw0显示已被授予的全部对象特权pcMing工作室9`H*@A(?ycy
N+BP4A6y(K7`_E0%UVR f!NBp0SQL>SELECT*FROMsys.dba_tab_privspcMing工作室9VLRB,y2}6e;H
2.5 角色的管理pcMing工作室(G7D.B pjnRpF
KI;@M4{0ORACLE的角色是命名的相关特权组(包括系统特权与对象特权),ORACLE用它来简化特权管理,可把它授予用户或其它角色。j*M7]XX!l5{^Z@0
nU6]6u-Wr,EL0ORACLE数据库系统预先定义了CONNECT 、RESOURCE、 DBA、 EXP_FULL_DATABASE、 IMP_FULL_DATABASE五个角色。CONNECT具有创建表、视图、序列等特权;RESOURCE具有创建过程、触发器、表、序列等特权、DBA具有全部系统特权;EXP_FULL_DATABASE、 IMP_FULL_DATABASE具有卸出与装入数据库的特权。pcMing工作室;V^(`/eO6_pcMing工作室+N~G@U"c
通过查询sys.dba_sys_privs可以了解每种角色拥有的权利。pcMing工作室;[l*Y(H+O2TpcMing工作室6D-e;{'Ts"]?#a
授予用户角色Kw{'U#}^0pcMing工作室.Pey J{*HT%V
C;FB9YJv5OJ-s/?/R0SQL>GRANTDBATOnew_administractor
>WITHGRANTOPTION;
==============================================================pcMing工作室 M/{{-ed"a
Oracle 的用户根据所被授予的权限分为系统权限和对象权限。其中最高的权限是sysdba。 Sysdba具有控制Oracle一切行为的特权,诸如创建、启动、关闭、恢复数据库,使数据库归档/非归档,备份表空间等关键性的动作只能通过具有sysdba权限的用户来执行。这些任务即使是普通DBA角色也不行。Sysoper是一个与sysdba相似的权限,只不过比sysdba少了SYSOPER privileges WITH ADMIN OPTION,CREATE DATABASE,RECOVER DATABASE UNTIL这几个权限而已。这两者的认证方式是相同的办法,所以下面只介绍sysdba的认证管理。pcMing工作室q@j#w~mu[