GRANT時候,權(quán)限基本分為兩類:
系統(tǒng)權(quán)限:系統(tǒng)規(guī)定用戶使用數(shù)據(jù)庫的權(quán)限。(系統(tǒng)權(quán)限是對用戶而言)。
實體權(quán)限:某種權(quán)限用戶對其它用戶的表或視圖的存取權(quán)限。(是針對表或視圖而言的)。
接下來看系統(tǒng)權(quán)限,
DBA:擁有全部特權(quán),是系統(tǒng)最高權(quán)限,只有DBA才可以創(chuàng)建數(shù)據(jù)庫結(jié)構(gòu)。
RESOURCE:擁有Resource權(quán)限的用戶只可以創(chuàng)建實體,不可以創(chuàng)建數(shù)據(jù)庫結(jié)構(gòu)。
CONNECT:擁有Connect權(quán)限的用戶只可以登錄Oracle,不可以創(chuàng)建實體,不可以創(chuàng)建數(shù)據(jù)庫結(jié)構(gòu)。
對于普通用戶:授予connect, resource權(quán)限。
對于DBA管理用戶:授予connect,resource, dba權(quán)限。
且系統(tǒng)權(quán)限只能由DBA用戶授出:sys, system(最開始只能是這兩個用戶)。普通用戶通過授權(quán)可以具有與system相同的用戶權(quán)限,
但永遠不能達到與sys用戶相同的權(quán)限,system用戶的權(quán)限也可以被回收
另外,對于WITH ADMIN OPTION級聯(lián)授權(quán)的問題,
1)如果使用WITH ADMIN OPTION為某個用戶授予系統(tǒng)權(quán)限,那么對于被這個用戶授予相同權(quán)限的所有用戶來說,取消該用戶的
系統(tǒng)權(quán)限并不會級聯(lián)取消這些用戶的相同權(quán)限。
2)系統(tǒng)權(quán)限無級聯(lián),即A授予B權(quán)限,B授予C權(quán)限,如果A收回B的權(quán)限,C的權(quán)限不受影響;系統(tǒng)權(quán)限可以跨用戶回收,即A可以
直接收回C用戶的權(quán)限。
3、證明下為什么resource和connect的角色不能創(chuàng)建視圖。
SQL> select role, count(*) from role_sys_PRivs group by role;
ROLE COUNT(*)
------------------------------ ----------
EXP_FULL_DATABASE 8
DBA 160
SCHEDULER_ADMIN 6
RESOURCE 8
IMP_FULL_DATABASE 68
CONNECT 1
可以看到RESOURCE和CONNECT具有的權(quán)限個數(shù)。
下面看看各自都有什么權(quán)限:
SQL> select grantee,privilege from dba_sys_privs where grantee='RESOURCE' order by privilege;
GRANTEE PRIVILEGE
------------------------------ ----------------------------------------RESOURCE CREATE CLUSTERRESOURCE CREATE INDEXTYPERESOURCE CREATE OperaTORRESOURCE CREATE PROCEDURERESOURCE CREATE SEQUENCERESOURCE CREATE TABLERESOURCE CREATE TRIGGERRESOURCE CREATE TYPE8 rows selected.
SQL> select grantee,privilege from dba_sys_privs where grantee='CONNECT' order by privilege;
GRANTEE PRIVILEGE------------------------------ ----------------------------------------CONNECT CREATE session新聞熱點
疑難解答
圖片精選