oracle可以通過設(shè)置表的權(quán)限來設(shè)定用戶對表的訪問權(quán)限。
創(chuàng)新互聯(lián)主營宣恩網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶App定制開發(fā),宣恩h5小程序開發(fā)搭建,宣恩網(wǎng)站營銷推廣歡迎宣恩等地區(qū)企業(yè)咨詢
通過dba權(quán)限用戶或者表的擁有者用戶來設(shè)定相關(guān)權(quán)限。
基本的權(quán)限主要有三個,select,update和delete.
其實還有一個alter權(quán)限,不過這個權(quán)限不建議授予,這個還是掌握在dba手中比較好。不然將來會很麻煩。
授權(quán)語句大同小異,只是dba授權(quán)的話,需要加上表的所屬用戶。
舉例:比如要把aaa用戶下的a表,授予bbb用戶。dba用戶為ccc
那么用aaa用戶的授權(quán)語句為
grant select on a to bbb;
使用ccc用戶的授權(quán)語句為
grant select on aaa.a to bbb;
其他的update,和delete只要把select 替換就好。
當然如果三個權(quán)限都想授予。那么可以考慮grant all on a to bbb;
權(quán)限允許用戶訪問屬于其它用戶的對象或執(zhí)行程序,
ORACLE系統(tǒng)提供權(quán)限:Object 對象級、System 系統(tǒng)級
1.系統(tǒng)權(quán)限(系統(tǒng)權(quán)限是對用戶而言):
DBA擁有最高的系統(tǒng)權(quán)限:
1,可以創(chuàng)建用戶
語法:create user username identified by password;
例如:create user briup identified by briup;
當用戶創(chuàng)建成功之后,此用戶什么權(quán)限都沒有,甚至不能登錄數(shù)據(jù)庫。
2. 賦予權(quán)限:
一個用戶應(yīng)該具有的基本權(quán)限包含:
CREATE SESSION
CREATE TABLE
CREATE SEQUENCE
CREATE VIEW
CREATE PROCEDURE
如果有多個用戶他們都具有相同的權(quán)限(create session,create table,create sequence),賦予權(quán)限的動作過于麻煩,要給每個用戶分別制定這些權(quán)限,因此oracle提出角色的概念,可以將權(quán)限賦值給角色,然后再將角色賦值給用戶。
例如,我們當初在進行操作時寫的:
grant resource,connect to briup;
此時resource,connect就是角色。
查詢resource,connect 具有哪些權(quán)限可以使用:
select privilege,role
from role_sys_privs
where role = 'CONNECT' or role ='RESOURCE';
語法:
grant xxxx to user_name ;
例如:
grant create view to briup;
3.回收權(quán)限
語法: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.對象權(quán)限(針對對象,類似表對象等):
對象權(quán)限:select, update, insert, alter, index, delete, all //all包括所有權(quán)限
對象的 擁有者擁有所有的權(quán)限。
1.給用戶賦予操作對象的權(quán)限:
GRANT object_priv [(columns)]
ON object
TO {user|role|PUBLIC}
[WITH GRANT OPTION]; //允許分配到權(quán)限的用戶繼續(xù)將權(quán)限分配給其它用戶
例如:
grant select on s_emp to jd1613;
給jd1613用戶賦予在s_emp表上進行查詢的權(quán)利。
grant update(id) on s_emp to jd1613;
給jd1613賦予能夠更新s_emp表上id列的權(quán)限。
2.回收權(quán)限:同系統(tǒng)權(quán)限。
語法:revoke xxx on obj from user;
note: 通過with grant option賦予額權(quán)限也會被回收。
例如:
revoke select , update on s_emp from jd1613;
3.創(chuàng)建同義詞: 相當于給對象起別名
語法:create[public] synonym sy_name for obje_name;
note:只有dba才有權(quán)利創(chuàng)建public的同義詞
例如:
create synonym emp for s_emp;
4.刪除同義詞:
語法: drop synonym syn_name;
例如:
drop synonym emp;
5.導(dǎo)出數(shù)據(jù)庫
exp,imp不屬于sqlplus的命令,所以不是在sqlplus終端執(zhí)行的。
系統(tǒng)終端:exp userid=briup/briup full=y file=briup.dmp
導(dǎo)入:imp userid=briup/briup full=y file=briup.dmp;
一般授予connect權(quán)限用戶就能夠連接數(shù)據(jù)了,授予resource權(quán)限用戶就可以建表、索引、視圖、存儲過程了,其他權(quán)限根據(jù)具體需求來建,具體示例如下:
登錄數(shù)據(jù)庫服務(wù)器,運行sqlplus,
connect / as sysdba
create user test identified by test1234 tablespace test_data;(需要事先建好test_data表空間)
grant connect to test;
grant resource to test;
如果該用戶需要查詢數(shù)據(jù)庫中所有數(shù)據(jù):grant select any table to test;
如果該用戶需要讀取數(shù)據(jù)字典、使用OEM工具等:grant select dictionary to test;
如果該用戶需要操作其他用戶的表(如對scott用戶下的emp表進行增刪改操作):
grant insert,update,delete on scott.emp to test;
設(shè)置方法如下:
1、找到$ORACLE_HOME/client_1/network/admin目錄下的tnsnames.ora文件,并用文本模式打開。
2、添加以下內(nèi)容:
本地實例名=
(DESCRIPTION?=
(ADDRESS?=?(PROTOCOL?=?TCP)(HOST?=?數(shù)據(jù)庫IP地址)(PORT?=?端口號))
(CONNECT_DATA?=
(SERVER?=?DEDICATED)
(SERVICE_NAME?=?服務(wù)名)
)
)
3、用工具登錄即可。
1.查看所有用戶:
select * from dba_users;
select * from all_users;
select * from user_users;
2.查看用戶或角色系統(tǒng)權(quán)限(直接賦值給用戶或角色的系統(tǒng)權(quán)限):
select * from dba_sys_privs;
select * from user_sys_privs;
3.查看角色(只能查看登陸用戶擁有的角色)所包含的權(quán)限
sqlselect * from role_sys_privs;
4.查看用戶對象權(quán)限:
select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;
5.查看所有角色:
select * from dba_roles;
當前文章:oracle如何訪問權(quán)限,oracle 遠程訪問權(quán)限
鏈接地址:http://vcdvsql.cn/article14/dsdgdge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設(shè)、商城網(wǎng)站、App設(shè)計、網(wǎng)站建設(shè)、用戶體驗、全網(wǎng)營銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)