權限允許用戶訪問屬于其它用戶的對象或執(zhí)行程序,
成都創(chuàng)新互聯(lián)公司提供成都網(wǎng)站制作、網(wǎng)站設計、網(wǎng)頁設計,品牌網(wǎng)站建設,1元廣告等致力于企業(yè)網(wǎng)站建設與公司網(wǎng)站制作,十余年的網(wǎng)站開發(fā)和建站經(jīng)驗,助力企業(yè)信息化建設,成功案例突破超過千家,是您實現(xiàn)網(wǎng)站建設的好選擇.
ORACLE系統(tǒng)提供權限:Object 對象級、System 系統(tǒng)級
1.系統(tǒng)權限(系統(tǒng)權限是對用戶而言):
DBA擁有最高的系統(tǒng)權限:
1,可以創(chuàng)建用戶
語法:create user username identified by password;
例如:create user briup identified by briup;
當用戶創(chuàng)建成功之后,此用戶什么權限都沒有,甚至不能登錄數(shù)據(jù)庫。
2. 賦予權限:
一個用戶應該具有的基本權限包含:
CREATE SESSION
CREATE TABLE
CREATE SEQUENCE
CREATE VIEW
CREATE PROCEDURE
如果有多個用戶他們都具有相同的權限(create session,create table,create sequence),賦予權限的動作過于麻煩,要給每個用戶分別制定這些權限,因此oracle提出角色的概念,可以將權限賦值給角色,然后再將角色賦值給用戶。
例如,我們當初在進行操作時寫的:
grant resource,connect to briup;
此時resource,connect就是角色。
查詢resource,connect 具有哪些權限可以使用:
select privilege,role
from role_sys_privs
where role = 'CONNECT' or role ='RESOURCE';
語法:
grant xxxx to user_name ;
例如:
grant create view to briup;
3.回收權限
語法:revoke xxx from user_name;
例如:
revoke create view from briup;
4.修改密碼:
語法:alter user xxx identified by xxxx;
例如:
alert user briup identified by briup;
5.刪除用戶:
語法:drop user username [cascade];
note: cascade:當用戶下有表的時候,必須使用cascade級聯(lián)刪除。
例如: drop user test cascade;
2.對象權限(針對對象,類似表對象等):
對象權限:select, update, insert, alter, index, delete, all //all包括所有權限
對象的 擁有者擁有所有的權限。
1.給用戶賦予操作對象的權限:
GRANT object_priv [(columns)]
ON object
TO {user|role|PUBLIC}
[WITH GRANT OPTION]; //允許分配到權限的用戶繼續(xù)將權限分配給其它用戶
例如:
grant select on s_emp to jd1613;
給jd1613用戶賦予在s_emp表上進行查詢的權利。
grant update(id) on s_emp to jd1613;
給jd1613賦予能夠更新s_emp表上id列的權限。
2.回收權限:同系統(tǒng)權限。
語法:revoke xxx on obj from user;
note: 通過with grant option賦予額權限也會被回收。
例如:
revoke select , update on s_emp from jd1613;
3.創(chuàng)建同義詞: 相當于給對象起別名
語法:create[public] synonym sy_name for obje_name;
note:只有dba才有權利創(chuàng)建public的同義詞
例如:
create synonym emp for s_emp;
4.刪除同義詞:
語法: drop synonym syn_name;
例如:
drop synonym emp;
5.導出數(shù)據(jù)庫
exp,imp不屬于sqlplus的命令,所以不是在sqlplus終端執(zhí)行的。
系統(tǒng)終端:exp userid=briup/briup full=y file=briup.dmp
導入:imp userid=briup/briup full=y file=briup.dmp;
1、雙擊桌面sqldeveloper軟件圖標啟動軟件。
2、新建數(shù)據(jù)庫連接,填寫登錄數(shù)據(jù)庫信息并選擇相應角色進行登錄。
3、登錄成功后先查詢出hr用戶下所有的表名,可直接通過dba_tables來進行查詢。
4、把查詢權限賦給測試用戶的方法有兩種,一種為當用戶下的表比較少的情況下可以直接通過grant select/delete/update on hr.table-name to cem。
5、授權成功后使用測試用戶進行登錄即可對授權過查詢權限的表進行訪問。
具體需要哪些權限需要看用戶的實際需要。我們要在有最高權限的system用戶創(chuàng)建用戶,再賦予新建用戶權限,只有給新建用戶權限,新建用戶才能干什么。
一、權限分為系統(tǒng)權限及對象權限。
1、系統(tǒng)權限:系統(tǒng)規(guī)定用戶使用數(shù)據(jù)庫的權限。(系統(tǒng)權限是對用戶而言)。
1)、DBA: 擁有全部特權,是系統(tǒng)最高權限,只有DBA才可以創(chuàng)建數(shù)據(jù)庫結構。
2)、RESOURCE:擁有Resource權限的用戶只可以創(chuàng)建實體,不可以創(chuàng)建數(shù)據(jù)庫結構。
3)、CONNECT:擁有Connect權限的用戶只可以登錄Oracle,不可以創(chuàng)建實體,不可以創(chuàng)建數(shù)據(jù)庫結構。
對于普通用戶:授予connect, resource權限。
對于DBA管理用戶:授予connect,resource, dba權限。
2、對象權限:某種權限用戶對其它用戶的表或視圖的存取權限。(是針對表或視圖而言的)。
CREATE SESSION,創(chuàng)建會話,才可以打開界面
CREATE TABLE,創(chuàng)建表,可創(chuàng)建空表,但沒有權限插入數(shù)據(jù)
CREATE SEQUENCE創(chuàng)建序列
CREATE VIEW,創(chuàng)建視圖
擴展資料
一、賦權方式,有兩種賦予用戶權限的方式,
1、對用戶賦權
一對一的賦予新建用戶權限,這樣賦予新建用戶權限比較有活性,如果新建用戶多了,就比較麻煩。
2、對角色賦權
先創(chuàng)建角色,將權限先賦給角色代理,最后將角色代理的權限賦新建用戶,這樣比較死板,但是可以同時賦給很多用戶。
參考資料
Oracle官網(wǎng)-Grant
具體需要哪些權限需要看用戶的實際需要。\x0d\x0a系統(tǒng)權限分類:\x0d\x0aDBA: 擁有全部特權,是系統(tǒng)最高權限,只有DBA才可以創(chuàng)建數(shù)據(jù)庫結構。\x0d\x0aRESOURCE:擁有Resource權限的用戶只可以創(chuàng)建實體,不可以創(chuàng)建數(shù)據(jù)庫結構。\x0d\x0aCONNECT:擁有Connect權限的用戶只可以登錄Oracle,不可以創(chuàng)建實體,不可以創(chuàng)建數(shù)據(jù)庫結構。\x0d\x0a對于普通用戶:授予connect, resource權限。\x0d\x0a對于DBA管理用戶:授予connect,resource, dba權限。\x0d\x0a系統(tǒng)權限授權命令:\x0d\x0a系統(tǒng)權限只能由DBA用戶授出:sys, system(最開始只能是這兩個用戶)\x0d\x0a授權命令:SQL grant connect, resource, dba to 用戶名1 [,用戶名2]...;\x0d\x0a注:普通用戶通過授權可以具有與system相同的用戶權限,但永遠不能達到與sys用戶相同的權限,system用戶的權限也可以被回收。