具體需要哪些權(quán)限需要看用戶的實(shí)際需要。我們要在有最高權(quán)限的system用戶創(chuàng)建用戶,再賦予新建用戶權(quán)限,只有給新建用戶權(quán)限,新建用戶才能干什么。
成都創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括長(zhǎng)嶺網(wǎng)站建設(shè)、長(zhǎng)嶺網(wǎng)站制作、長(zhǎng)嶺網(wǎng)頁制作以及長(zhǎng)嶺網(wǎng)絡(luò)營(yíng)銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,長(zhǎng)嶺網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到長(zhǎng)嶺省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
一、權(quán)限分為系統(tǒng)權(quán)限及對(duì)象權(quán)限。
1、系統(tǒng)權(quán)限:系統(tǒng)規(guī)定用戶使用數(shù)據(jù)庫的權(quán)限。(系統(tǒng)權(quán)限是對(duì)用戶而言)。
1)、DBA: 擁有全部特權(quán),是系統(tǒng)最高權(quán)限,只有DBA才可以創(chuàng)建數(shù)據(jù)庫結(jié)構(gòu)。
2)、RESOURCE:擁有Resource權(quán)限的用戶只可以創(chuàng)建實(shí)體,不可以創(chuàng)建數(shù)據(jù)庫結(jié)構(gòu)。
3)、CONNECT:擁有Connect權(quán)限的用戶只可以登錄Oracle,不可以創(chuàng)建實(shí)體,不可以創(chuàng)建數(shù)據(jù)庫結(jié)構(gòu)。
對(duì)于普通用戶:授予connect, resource權(quán)限。
對(duì)于DBA管理用戶:授予connect,resource, dba權(quán)限。
2、對(duì)象權(quán)限:某種權(quán)限用戶對(duì)其它用戶的表或視圖的存取權(quán)限。(是針對(duì)表或視圖而言的)。
CREATE SESSION,創(chuàng)建會(huì)話,才可以打開界面
CREATE TABLE,創(chuàng)建表,可創(chuàng)建空表,但沒有權(quán)限插入數(shù)據(jù)
CREATE SEQUENCE創(chuàng)建序列
CREATE VIEW,創(chuàng)建視圖
擴(kuò)展資料
一、賦權(quán)方式,有兩種賦予用戶權(quán)限的方式,
1、對(duì)用戶賦權(quán)
一對(duì)一的賦予新建用戶權(quán)限,這樣賦予新建用戶權(quán)限比較有活性,如果新建用戶多了,就比較麻煩。
2、對(duì)角色賦權(quán)
先創(chuàng)建角色,將權(quán)限先賦給角色代理,最后將角色代理的權(quán)限賦新建用戶,這樣比較死板,但是可以同時(shí)賦給很多用戶。
參考資料
Oracle官網(wǎng)-Grant
1、雙擊桌面sqldeveloper軟件圖標(biāo)啟動(dòng)軟件。
2、新建數(shù)據(jù)庫連接,填寫登錄數(shù)據(jù)庫信息并選擇相應(yīng)角色進(jìn)行登錄。
3、登錄成功后先查詢出hr用戶下所有的表名,可直接通過dba_tables來進(jìn)行查詢。
4、把查詢權(quán)限賦給測(cè)試用戶的方法有兩種,一種為當(dāng)用戶下的表比較少的情況下可以直接通過grant select/delete/update on hr.table-name to cem。
5、授權(quán)成功后使用測(cè)試用戶進(jìn)行登錄即可對(duì)授權(quán)過查詢權(quán)限的表進(jìn)行訪問。
ORACLE中怎么設(shè)置SEQUENCE權(quán)限步驟如下:
1、Create Sequence
首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE權(quán)限。
創(chuàng)建語句如下:
CREATE?SEQUENCE seqTest
INCREMENT?BY?1?--?每次加幾個(gè)
START?WITH?1?--?從1開始計(jì)數(shù)
NOMAXvalue?--?不設(shè)置最大值
NOCYCLE?--?一直累加,不循環(huán)
CACHE?10;?--設(shè)置緩存cache個(gè)序列,如果系統(tǒng)down掉了或者其它情況將會(huì)導(dǎo)致序列不連續(xù),也可以設(shè)置為---------NOCACHE
2、得到Sequence值?
定義好sequence后,你就可以用currVal,nextVal取得值。
CurrVal:返回 sequence的當(dāng)前值
NextVal:增加sequence的值,然后返回 增加后sequence值
得到值語句如下:
SELECT?Sequence名稱.CurrVal?FROM?DUAL;?
如得到上邊創(chuàng)建Sequence值的語句為:
select?seqtest.currval?from?dual
在Sql語句中可以使用sequence的地方:
- 不包含子查詢、snapshot、VIEW的 SELECT 語句
- INSERT語句的子查詢中
- INSERT語句的values中
- UPDATE 的 SET中
如在插入語句中
insert?into?表名(id,name)values(seqtest.Nextval,'sequence?插入測(cè)試');
3、Alter Sequence?
擁有ALTER ANY SEQUENCE 權(quán)限才能改動(dòng)sequence. 可以alter除start至以外的所有sequence參數(shù).如果想要改變start值,必須 drop sequence 再 re-create。
4、Drop Sequence
DROP?SEQUENCE?seqTest;?
5、一個(gè)例子
create?or?replace?trigger?tri_test_id
before?insert?on?S_Depart???--S_Depart?是表名
for?each?row
declare
nextid?number;
begin
IF?:new.DepartId?IS?NULLor?:new.DepartId=0?THEN?--DepartId是列名
select?SEQ_ID.nextval?--SEQ_ID正是剛才創(chuàng)建的
into?nextid
from?sys.dual;
:new.DepartId:=nextid;
end?if;
end?tri_test_id;