Oracle 權(quán)限管理學(xué)習(xí)

select * from dba_synonyms  //查詢,*代表返回數(shù)據(jù)庫所有的字段
//授權(quán)創(chuàng)建同義詞的權(quán)限給hrpuser用戶
grant create any synonym to hrpuser
//刪除公用同義詞EF_COST_WBWORKNUMDATA
drop public synonym EF_COST_WBWORKNUMDATA
//為ythis用戶的EF_IF_V_optTYPE表創(chuàng)建公用同義詞EF_IF_V_optTYPE。
create public synonym EF_IF_V_optTYPE for ytis. EF_IF_V_optTYPE
//表權(quán)限
//給與hrpuser用戶候址,EF_IF_V_optTYPE表的查詢權(quán)限

grant select on EF_IF_V_optTYPE to hrpuser

首先連接到托管Oracle的服務(wù)器寺渗,然后以SYSTEM帳戶身份連接到Oracle本身大猛。

該SYSTEM帳戶是安裝Oracle時自動生成的少數(shù)預(yù)定義管理帳戶之一。 SYSTEM能夠執(zhí)行大多數(shù)管理任務(wù)诅需,我們就看看帳戶管理漾唉。

創(chuàng)建用戶

連接后SYSTEM,只需發(fā)出CREATE USER命令即可生成新帳戶堰塌。

create books_admin(用戶名) books(表明) identified by 123456(密碼) 

在這里赵刑,我們只是創(chuàng)建一個由指定的books_admin帳戶進(jìn)行IDENTIFIED身份驗證的帳戶password。

授權(quán)語句

books_admin創(chuàng)建新帳戶后场刑,我們現(xiàn)在可以開始使用該GRANT語句向帳戶添加權(quán)限般此。 GRANT是一個非常強大的語句,有許多可能的選項牵现,但核心功能是管理兩個users和roles整個數(shù)據(jù)庫的權(quán)限铐懊。

提供角色

通常,您首先要通過將帳戶附加到各種角色來為用戶分配權(quán)限瞎疼,從角色開始CONNECT:

grant CONNECT(角色名稱) TO books_admin(用戶名);

在某些情況下科乎,為了創(chuàng)建更強大的用戶,您還可以考慮添加RESOURCE角色(允許用戶為自定義模式創(chuàng)建命名類型)甚至DBA角色贼急,這允許用戶不僅創(chuàng)建自定義命名類型茅茂,還可以更改和銷毀它們同樣。

grant CONNECT, RESOURCE, DBA to books_admin(用戶名);

分配權(quán)限

接下來太抓,您需要確保用戶具有實際連接到數(shù)據(jù)庫并使用【創(chuàng)建會話的權(quán)限】grant create session空闲。我們還將它與【所有權(quán)限】結(jié)合使用grant any privileges。

grant create session  to books_admin;//授予books_admin用戶創(chuàng)建session的權(quán)限走敌,即登陸權(quán)限
grant any privilege to books_admin(用戶名);

我們還需要確保我們的新用戶在系統(tǒng)中分配了磁盤空間來實際創(chuàng)建或修改表和數(shù)據(jù)碴倾,所以我們會grant tablespace這樣:

//授予用戶使用表空間的權(quán)限
grant unlimited tablespace to books_admin(用戶名)

表權(quán)限

雖然在較新版本的Oracle中通常不需要,但某些較舊的安裝可能要求您手動指定新用戶對特定架構(gòu)和數(shù)據(jù)庫表的訪問權(quán)限。

舉例來說影斑,如果我們希望我們的books_admin用戶有執(zhí)行能力SELECT给赞,UPDATE,INSERT矫户,和DELETE在功能books表中片迅,我們可以執(zhí)行以下GRANT語句:

grant select,insert,update,delete on books to books_admin

grant create table to zhangsan;//授予創(chuàng)建表的權(quán)限
 
grante drop table to zhangsan;//授予刪除表的權(quán)限
 
grant insert table to zhangsan;//插入表的權(quán)限
 
grant update table to zhangsan;//修改表的權(quán)限
 
grant all to public;//這條比較重要,授予所有權(quán)限(all)給所有用戶(public)
 

oralce對權(quán)限管理比較嚴(yán)謹(jǐn)皆辽,普通用戶之間也是默認(rèn)不能互相訪問的柑蛇,需要互相授權(quán)

grant select on tablename to zhangsan;//授予zhangsan用戶查看指定表的權(quán)限

grant drop on tablename to zhangsan;//授予刪除表的權(quán)限
 
grant insert on tablename to zhangsan;//授予插入的權(quán)限
 
grant update on tablename to zhangsan;//授予修改表的權(quán)限
 
grant insert(id) on tablename to zhangsan;
 
grant update(id) on tablename to zhangsan;//授予對指定表特定字段的插入和修改權(quán)限,注意驱闷,只能是insert和update
 
grant alert all table to zhangsan;//授予zhangsan用戶alert任意表的權(quán)限

撤銷權(quán)限

基本語法同grant,關(guān)鍵字為revoke

查看權(quán)限

select * from user_sys_privs;//查看當(dāng)前用戶所有權(quán)限
 
select * from user_tab_privs;//查看所用用戶對表的權(quán)限

操作表的用戶的表

select * from zhangsan.tablename

角色

角色即權(quán)限的集合耻台,可以把一個角色授予給用戶

create role myrole;//創(chuàng)建角色

grant create session to myrole;//將創(chuàng)建session的權(quán)限授予myrole
 
grant myrole to zhangsan;//授予zhangsan用戶myrole的角色
 
drop role myrole; //刪除角色
 

權(quán)限傳遞

即用戶A將權(quán)限授予B,B可以將操作的權(quán)限再授予C空另,命令如下:

grant alert table on tablename to zhangsan with admin option;//關(guān)鍵字 with admin option
 
grant alert table on tablename to zhangsan with grant option;//關(guān)鍵字 with grant option效果和admin類似

同義詞(synonyms)

Oracle的同義詞(synonyms)從字面上理解就是別名的意思盆耽,和視圖的功能類似,就是一種映射關(guān)系.

在Oracle中對用戶的管理是使用權(quán)限的方式來管理的扼菠,也就是說摄杂,如果我們想使用數(shù)據(jù)庫,我們就必須得有權(quán)限循榆,但是如果是別人將權(quán)限授予了我們析恢,我們也是能對數(shù)據(jù)庫進(jìn)行操作的,但是我們必須要已授權(quán)的表的名稱前秧饮,鍵入該表所有者的名稱映挂,所以這就是比較麻煩的,遇到這種情況盗尸,我們該怎么辦呢柑船?創(chuàng)建個Oracle同義詞吧!這樣我們就可以直接使用同義詞來使用表了振劳。

在 user1 下 有表 table1椎组,現(xiàn)在 user2 要使用 table1

grant select on table1 to user2;
select * from  user1.table1 ;
create public synonym table1 for user1.table1
select * from table1; //不需要鍵入該表所有者的名稱
同義詞的概念

Oracle數(shù)據(jù)庫中提供了同義詞管理的功能油狂。同義詞是數(shù)據(jù)庫方案對象的一個別名历恐,經(jīng)常用于簡化對象訪問和提高對象訪問的安全性。在使用同義詞時专筷,Oracle數(shù)據(jù)庫將它翻譯成對應(yīng)方案對象的名字弱贼。

與視圖類似,同義詞并不占用實際存儲空間磷蛹,只有在數(shù)據(jù)字典中保存了同義詞的定義吮旅。在Oracle數(shù)據(jù)庫中的大部分?jǐn)?shù)據(jù)庫對象,如表、視圖庇勃、序列檬嘀、存儲過程、包等等责嚷,數(shù)據(jù)庫管理員都可以根據(jù)實際情況為他們定義同義詞鸳兽。

Oracle同義詞的分類

Oracle同義詞有兩種類型,分別是公用public同義詞私有同義詞

1)公用Oracle同義詞:

由一個特殊的用戶組Public所擁有罕拂。顧名思義揍异,數(shù)據(jù)庫中所有的用戶都可以使用公用同義詞。公用同義詞往往用來標(biāo)示一些比較普通的數(shù)據(jù)庫對象爆班,這些對象往往大家都需要引用衷掷。

2)私有Oracle同義詞:

它是跟公用同義詞所對應(yīng),他是由創(chuàng)建他的用戶所有柿菩。當(dāng)然戚嗅,這個同義詞的創(chuàng)建者,可以通過授權(quán)控制其他用戶是否有權(quán)使用屬于自己的私有同義詞枢舶。

創(chuàng)建同義詞

1)創(chuàng)建公有Oracle同義詞的語法:

create [public] synonym 同義詞名稱 for [username.]objectName渡处;

create public synonym table_name for user.table_name;

2)創(chuàng)建一個遠(yuǎn)程數(shù)據(jù)庫的對象的同義詞

如果要創(chuàng)建一個遠(yuǎn)程的數(shù)據(jù)庫上的某張表的同義詞,需要先創(chuàng)建一個Database Link(數(shù)據(jù)庫連接)來擴展訪問祟辟,然后在使用如下語句創(chuàng)建數(shù)據(jù)庫同義詞:create synonym table_name for table_name@DB_Link;

同義詞擁有如下好處:節(jié)省大量的數(shù)據(jù)庫空間医瘫,對不同用戶的操作同一張表沒有多少差別;擴展的數(shù)據(jù)庫的使用范圍,能夠在不同的數(shù)據(jù)庫用戶之間實現(xiàn)無縫交互;同義詞可以創(chuàng)建在不同一個數(shù)據(jù)庫服務(wù)器上旧困,通過網(wǎng)絡(luò)實現(xiàn)連接醇份。

學(xué)習(xí)參考

oracle 用戶創(chuàng)建及權(quán)限設(shè)置 和 同義詞

Oracle同義詞(synonyms)的概念作用、創(chuàng)建刪除查看及Oracle的db link

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末吼具,一起剝皮案震驚了整個濱河市僚纷,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌拗盒,老刑警劉巖怖竭,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異陡蝇,居然都是意外死亡痊臭,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進(jìn)店門登夫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來广匙,“玉大人,你說我怎么就攤上這事恼策⊙恢拢” “怎么了?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵,是天一觀的道長分唾。 經(jīng)常有香客問我抗碰,道長,這世上最難降的妖魔是什么绽乔? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任改含,我火速辦了婚禮,結(jié)果婚禮上迄汛,老公的妹妹穿的比我還像新娘捍壤。我一直安慰自己,他們只是感情好鞍爱,可當(dāng)我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布鹃觉。 她就那樣靜靜地躺著,像睡著了一般睹逃。 火紅的嫁衣襯著肌膚如雪盗扇。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天沉填,我揣著相機與錄音疗隶,去河邊找鬼。 笑死翼闹,一個胖子當(dāng)著我的面吹牛斑鼻,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播猎荠,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼坚弱,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了关摇?” 一聲冷哼從身側(cè)響起荒叶,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎输虱,沒想到半個月后些楣,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡宪睹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年愁茁,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片横堡。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡埋市,死狀恐怖冠桃,靈堂內(nèi)的尸體忽然破棺而出命贴,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布胸蛛,位于F島的核電站污茵,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏葬项。R本人自食惡果不足惜泞当,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望民珍。 院中可真熱鬧襟士,春花似錦、人聲如沸嚷量。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蝶溶。三九已至嗜历,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間抖所,已是汗流浹背梨州。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留田轧,地道東北人暴匠。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像傻粘,于是被迫代替她去往敵國和親巷查。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內(nèi)容