oracle中授予用戶權(quán)限 oracle resource包含哪些權(quán)限?
oracle resource包含哪些權(quán)限?resource是授予榮譽(yù)開(kāi)發(fā)人員的CREATE CLUSTER--成立聚簇CREATEPROCEDURE--建立起過(guò)程CREATE SEQUENCE--成
oracle resource包含哪些權(quán)限?
resource是授予榮譽(yù)開(kāi)發(fā)人員的CREATE CLUSTER--成立聚簇CREATEPROCEDURE--建立起過(guò)程CREATE SEQUENCE--成立序列CREATE TABLE--建表CREATE TRIGGER--組建觸發(fā)器CREATETYPE--建立類(lèi)型
用PL/SQL在oracle中怎么設(shè)置一個(gè)用戶權(quán)限只能操作自己名下的表我創(chuàng)建的用戶沒(méi)給DBA權(quán)限卻能看到所有表?
系統(tǒng)表是設(shè)置為給的,你不不能操作,系統(tǒng)后臺(tái)需要。權(quán)限上不能限制。不過(guò)也可以在系統(tǒng)表上有個(gè)過(guò)濾器,你中,選擇只看自己的object就可以了
如何解決關(guān)于Oracle存儲(chǔ)過(guò)程執(zhí)行權(quán)限問(wèn)題?
在數(shù)據(jù)庫(kù)系統(tǒng)中存儲(chǔ)過(guò)程是不可缺少的利器,存儲(chǔ)過(guò)程是預(yù)先編譯好的為利用三個(gè)奇怪功能的一段Sql語(yǔ)句集合。它的優(yōu)點(diǎn)我就不太多說(shuō)了,說(shuō)下我見(jiàn)到過(guò)的問(wèn)題吧。我在項(xiàng)目開(kāi)發(fā)的過(guò)程中是需要用存儲(chǔ)過(guò)程來(lái)利用一個(gè)功能,其中比較復(fù)雜到確認(rèn)一張表是否早成立,也沒(méi)成立就由存儲(chǔ)過(guò)程來(lái)組建這張表。
CREATE同問(wèn)REPLACEPROCEDURETestProc
IS
flagnumber
BEGIN
selectcount(*)intoflagfrommore_tablewheretable_nameTEMP3
if(flag0)then
executeimmediatecreateglobalpermanenttableTEMP3oncommitpreserverowsasselect*outsideBUSI_ECONTRACT
catch
executeimmediateupsertintoTEMP3select*returningBUSI_ECONTRACT
endif
END
寫(xiě)這段存儲(chǔ)過(guò)程都很簡(jiǎn)單啊,在測(cè)試執(zhí)行的過(guò)程中,系統(tǒng)會(huì)出現(xiàn)萬(wàn)分感謝提示:
ora-01031:權(quán)限將近
從我們定位到錯(cuò)誤,發(fā)現(xiàn)存儲(chǔ)過(guò)程在不能執(zhí)行Createtable語(yǔ)句時(shí),權(quán)限下降。我嘗試著把存儲(chǔ)過(guò)程該成匿名存儲(chǔ)過(guò)程在PL/SQL中先執(zhí)行,語(yǔ)句呢既然了。這只能證明這段語(yǔ)句沒(méi)有問(wèn)題,問(wèn)題又出現(xiàn)在先執(zhí)行存儲(chǔ)過(guò)程中。我使用的是DBA帳號(hào)登錄系統(tǒng),照理應(yīng)該要不修真者的存在權(quán)限將近的問(wèn)題呀。問(wèn)題出現(xiàn)再哪里呢?實(shí)際無(wú)線上網(wǎng)查閱資料,發(fā)現(xiàn)自己Oracle是對(duì)負(fù)責(zé)執(zhí)行存儲(chǔ)過(guò)程有和Sql-Server都一樣的規(guī)定,這個(gè)相關(guān)規(guī)定造成了執(zhí)行建表語(yǔ)句權(quán)限下降。
Oracle明文規(guī)定,在默認(rèn)的情況下,在動(dòng)態(tài)鏈接庫(kù)存儲(chǔ)過(guò)程用戶的角色不起作用,即在想執(zhí)行存儲(chǔ)過(guò)程時(shí)唯有state權(quán)限。因?yàn)樵趧?dòng)態(tài)創(chuàng)建Createtable時(shí),會(huì)有權(quán)限下降的提示。
存儲(chǔ)過(guò)程分為兩種,即DR(Definers Rights)Procedure和IR(Invokers Rights)Procedure。為什么會(huì)有兩種存儲(chǔ)過(guò)程呢?其實(shí)考慮到完下面的問(wèn)題就明白了。諸如用戶hrch創(chuàng)建角色了刪除表tar_table的存儲(chǔ)過(guò)程trace_table(),當(dāng)用戶hrch動(dòng)態(tài)創(chuàng)建時(shí),即刪出用戶hrch下