Oracle數(shù)據(jù)庫(kù)第4講ppt課件_第1頁(yè)
Oracle數(shù)據(jù)庫(kù)第4講ppt課件_第2頁(yè)
Oracle數(shù)據(jù)庫(kù)第4講ppt課件_第3頁(yè)
Oracle數(shù)據(jù)庫(kù)第4講ppt課件_第4頁(yè)
Oracle數(shù)據(jù)庫(kù)第4講ppt課件_第5頁(yè)
已閱讀5頁(yè),還剩33頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、oracle第4講1. 維護(hù)數(shù)據(jù)的完好性 2. 序列(sequence) 3. 管理索引4. 管理權(quán)限和角色主講 李 珩oracle 數(shù)據(jù)庫(kù).維護(hù)數(shù)據(jù)的完好性 引見數(shù)據(jù)的完好性用于確保數(shù)據(jù)庫(kù)數(shù)據(jù)服從一定的商業(yè)的邏輯規(guī)那么。在oracle中,數(shù)據(jù)完好性可以運(yùn)用約束、觸發(fā)器、運(yùn)用程序(過程、函數(shù))三種方法來實(shí)現(xiàn),在這三種方法中,由于約束易于維護(hù),并且具有最好的性能,所以作為維護(hù)數(shù)據(jù)完好性的首選.主講 李 珩oracle 數(shù)據(jù)庫(kù).維護(hù)數(shù)據(jù)的完好性 約束約束用于確保數(shù)據(jù)庫(kù)數(shù)據(jù)滿足特定的商業(yè)規(guī)那么。在oracle中,約束包括: not null、unique,primary key,foreign ke

2、y,和check 五種.主講 李 珩oracle 數(shù)據(jù)庫(kù).維護(hù)數(shù)據(jù)的完好性 not null(非空)假設(shè)在列上定義了not null,那么當(dāng)插入數(shù)據(jù)時(shí),必需為列提供數(shù)據(jù)。 unique(獨(dú)一)當(dāng)定義了獨(dú)一約束后,該列值是不能反復(fù)的.但是可以為null。 primary key(主鍵)用于獨(dú)一的標(biāo)示表行的數(shù)據(jù),當(dāng)定義主鍵約束后,該列不但不能反復(fù)而且不能為null。需求闡明的是:一張表最多只能有一個(gè)主鍵,但是可以有多個(gè)unqiue約束。 foreign key(外鍵)用于定義主表和從表之間的關(guān)系.外鍵約束要定義在從表上,主表那么必需具有主鍵約束或是unique約束.,當(dāng)定義外鍵約束后,要求外鍵列數(shù)

3、據(jù)必需在主表的主鍵列存在或是為null主講 李 珩oracle 數(shù)據(jù)庫(kù).維護(hù)數(shù)據(jù)的完好性 check用于強(qiáng)迫行數(shù)據(jù)必需滿足的條件,假定在sal列上定義了check約束,并要求sal列值在10002000之間假設(shè)不再10002000之間就會(huì)提示出錯(cuò)。主講 李 珩oracle 數(shù)據(jù)庫(kù).維護(hù)數(shù)據(jù)的完好性 商店售貨系統(tǒng)表設(shè)計(jì)案例(1)現(xiàn)有一個(gè)商店的數(shù)據(jù)庫(kù),記錄客戶及其購(gòu)物情況,由下面三個(gè)表組成:商品goods商品號(hào)goodsId,商品名goodsName,單價(jià)unitprice,商品類別category,供應(yīng)商provider);客戶customer客戶號(hào)customerId,姓名name,住址add

4、ress,電郵email性別sex,身份證cardId);購(gòu)買purchase客戶號(hào)customerId,商品號(hào)goodsId,購(gòu)買數(shù)量nums);請(qǐng)用SQL言語(yǔ)完成以下功能:1 建表,在定義中要求聲明:(1)每個(gè)表的主外鍵;(2)客戶的姓名不能為空值;(3)單價(jià)必需大于0,購(gòu)買數(shù)量必需在1到30之間;(4)電郵不可以反復(fù);(5)客戶的性別必需是 男 或者 女,默許是男商店表設(shè)計(jì)主講 李 珩oracle 數(shù)據(jù)庫(kù).維護(hù)數(shù)據(jù)的完好性維護(hù) 商店售貨系統(tǒng)表設(shè)計(jì)案例(2)假設(shè)在建表時(shí)忘記建立必要的約束,那么可以在建表后運(yùn)用alter table命令為表添加約束.但是要留意: 添加not null約束時(shí),

5、需求運(yùn)用modify選項(xiàng),而添加其它四種約束運(yùn)用add選項(xiàng)。(1)每個(gè)表的主外碼;(2)客戶的姓名不能為空值;-添加商品名也不能為空(3)單價(jià)必需大于0,購(gòu)買數(shù)量必需在1到30之間;(4)電郵不可以反復(fù);-添加身份證也不反復(fù)(5)客戶的性別必需是 男 或者 女,默許是男(6)添加客戶的住址只能是海淀、朝陽(yáng)、東城、西城、通州、崇文主講 李 珩oracle 數(shù)據(jù)庫(kù)alter table 表名 add constraint 約束名 約束種類(字段alter table 表名 modify 字段名 not null.維護(hù)數(shù)據(jù)的完好性維護(hù) 刪除約束當(dāng)不再需求某個(gè)約束時(shí),可以刪除.alter table

6、表名 drop constraint 約束稱號(hào);在刪除主鍵約束的時(shí)候,能夠有錯(cuò)誤,比如:alter table 表名 drop primary key ;這是由于假設(shè)在兩張表存在主從關(guān)系,那么在刪除主表的主鍵約束時(shí),必需帶上 cascade 選項(xiàng) 如象alter table 表名 drop primary key cascade;特別闡明一下主講 李 珩oracle 數(shù)據(jù)庫(kù).維護(hù)數(shù)據(jù)的完好性維護(hù) 列級(jí)定義列級(jí)定義是在定義列的同時(shí)定義約束。 表級(jí)定義表級(jí)定義是指在定義了一切列后,再定義約束.這里需求留意: not null約束只能在列級(jí)上定義。主講 李 珩oracle 數(shù)據(jù)庫(kù)語(yǔ)法:在最后一個(gè)字段

7、后,定義約束constraint 約束名 primary key(字段)constraint 約束名 foreign key(字段) references 主表(字段)constraint 約束名 unique(字段)not null(字段)constraint 約束名 check(字段條件).序列(sequence) 一個(gè)問題在某張表中,存在一個(gè)id列(整數(shù)),我們希望在添加記錄的時(shí)候,該列從1開場(chǎng),自動(dòng)的增長(zhǎng),怎樣處置? 主講 李 珩oracle 數(shù)據(jù)庫(kù).序列(sequence) 引見oracle中,是經(jīng)過運(yùn)用序列(sequence)來處置自動(dòng)增長(zhǎng)列。 (1) 可以為表中的列自動(dòng)產(chǎn)生值.

8、(2) 由用戶創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象,并可由多個(gè)用戶共享. (3) 普通用于主鍵或獨(dú)一列. 案例闡明create sequence my_seq -創(chuàng)建序列名start with 1 -從1開場(chǎng)increment by 1 -每次增長(zhǎng)1minvalue 1 -最小值maxvalue 99999999 /nomaxvalue(不設(shè)置最大值) -最大值cycle -循環(huán),從1開場(chǎng),每次增長(zhǎng)1,最大值99999999,之后又從1開場(chǎng)循環(huán) -nocycle -不斷累加,不循環(huán)nocache -不緩存-cache 10 -一次產(chǎn)生10個(gè)號(hào),效率高,缺陷是產(chǎn)生跳號(hào)主講 李 珩oracle 數(shù)據(jù)庫(kù).序列(seque

9、nce) 細(xì)節(jié)闡明一旦定義了某個(gè)序列,他就可以用CURRVAL,NEXTVAL CURRVAL:前往 sequence的當(dāng)前值 NEXTVAL:添加sequence的值,然后前往 sequence 值 比如: 序列名.CURRVAL 序列名.NEXTVAL 什么時(shí)候運(yùn)用sequence: - 不包含子查詢、snapshot、VIEW的 SELECT 語(yǔ)句 - INSERT語(yǔ)句的子查詢中 - INSERT語(yǔ)句的VALUES中 ! UPDATE 的 SET中 update 表名 set 列值=序列名.nextval where主講 李 珩oracle 數(shù)據(jù)庫(kù).序列(sequence) 細(xì)節(jié)闡明可以

10、看如下例子: INSERT INTO emp VALUES (my_seq.nextval, TOMCAT, CLERK,7566, SYSDATE, 1200, NULL,20); SELECT my_seq.currval FROM DUAL; 但是要留意的是: 第一次NEXTVAL前往的是初始值;隨后的NEXTVAL會(huì)自動(dòng)添加他定義的INCREMENT BY值,然后前往添加后的值。CURRVAL 總是前往當(dāng)前SEQUENCE的值,但是在第一次NEXTVAL初始化之后才干運(yùn)用CURRVAL,否那么會(huì)出錯(cuò)。一次NEXTVAL會(huì)添加一次SEQUENCE的值,所以假設(shè)他在同一個(gè)語(yǔ)句里面運(yùn)用多個(gè)N

11、EXTVAL,其值就是不一樣的。假設(shè)指定CACHE值,ORACLE就可以預(yù)先在內(nèi)存里面放置一些sequence,這樣存取的快些。cache里面的取完后,oracle自動(dòng)再取一組到cache。 運(yùn)用cache或許會(huì)跳號(hào), 比如數(shù)據(jù)庫(kù)忽然不正常down掉shutdown abort),cache中的sequence就會(huì)喪失. 所以可以在create sequence的時(shí)候用nocache防止這種情況。 主講 李 珩oracle 數(shù)據(jù)庫(kù).管理索引原理引見 引見索引是用于加速數(shù)據(jù)存取的數(shù)據(jù)對(duì)象.合理的運(yùn)用索引可以大大降低i/o次數(shù),從而提高數(shù)據(jù)訪問性能。索引有很多種我們主要引見常用的幾種:為什么添加了

12、索引后,會(huì)加快查詢速度呢?主講 李 珩oracle 數(shù)據(jù)庫(kù).管理索引創(chuàng)建索引 單列索引單列索引是基于單個(gè)列所建立的索引,語(yǔ)法: 復(fù)合索引復(fù)合索引是基于兩列或是多列的索引。在同一張表上可以有多個(gè)索引,但是要求列的組合必需不同,語(yǔ)法:create index index_nameon table(columnname,columnname);create index index_nameon table(columnname);主講 李 珩oracle 數(shù)據(jù)庫(kù).管理索引運(yùn)用原那么 運(yùn)用原那么在大表上建立索引才有意義在where子句或是銜接條件上經(jīng)常援用的列上建立索引索引的層次不要超越4層這里能不能

13、給學(xué)生演示這個(gè)效果呢?如何構(gòu)建一個(gè)大表呢?主講 李 珩oracle 數(shù)據(jù)庫(kù).管理索引索引的缺陷 索引缺陷分析索引有一些先天缺乏:1:建立索引,系統(tǒng)要占用大約為表的1.2倍的硬盤和內(nèi)存空間來保管索引。2:更新數(shù)據(jù)的時(shí)候,系統(tǒng)必需求有額外的時(shí)間來同時(shí)對(duì)索引進(jìn)展更新,以維持?jǐn)?shù)據(jù)和索引的一致性。實(shí)際闡明,不恰當(dāng)?shù)乃饕坏谑聼o(wú)補(bǔ),反而會(huì)降低系統(tǒng)性能。由于大量的索引在進(jìn)展插入、修正和刪除操作時(shí)比沒有索引破費(fèi)更多的系統(tǒng)時(shí)間。比如在如下字段建立索引應(yīng)該是不恰當(dāng)?shù)模?、很少或從不援用的字段;2、邏輯型的字段,如男或女(是或否)等。綜上所述,提高查詢效率是以耗費(fèi)一定的系統(tǒng)資源為代價(jià)的,索引不能盲目的建立,這是考

14、驗(yàn)一個(gè)DBA能否優(yōu)秀的很重要的目的主講 李 珩oracle 數(shù)據(jù)庫(kù).管理索引其它索引 引見按照數(shù)據(jù)存儲(chǔ)方式,可以分為B*樹、反向索引、位圖索引;按照索引列的個(gè)數(shù)分類,可以分為單列索引、復(fù)合索引;按照索引列值的獨(dú)一性,可以分為獨(dú)一索引和非獨(dú)一索引.此外還有函數(shù)索引,全局索引,分區(qū)索引對(duì)于索引我還要說:在不同的情況我們會(huì)在不同的列上建立索引,甚至建立不同種類的索引,請(qǐng)記住,技術(shù)是死的,人是活的。比如:B*-樹索引建立在反復(fù)值很少的列上,而位圖索引那么建立在反復(fù)值很多、不同值相對(duì)固定的列上。主講 李 珩oracle 數(shù)據(jù)庫(kù).管理權(quán)限和角色 引見這一部分我們主要看看oracle種如何管理權(quán)限和角色,權(quán)

15、限和角色的區(qū)別在那里。當(dāng)剛剛建立用戶時(shí),用戶沒有任何權(quán)限,也不能執(zhí)行任何操作。假設(shè)要執(zhí)行某種特定的數(shù)據(jù)庫(kù)操作,那么必需為其授予系統(tǒng)的權(quán)限;假設(shè)用戶要訪問其它方案的對(duì)象,那么必需為其授予對(duì)象的權(quán)限.為了簡(jiǎn)化權(quán)限的管理,可以運(yùn)用角色。這里我們會(huì)詳細(xì)的引見主講 李 珩oracle 數(shù)據(jù)庫(kù).管理權(quán)限和角色 權(quán)限權(quán)限是指執(zhí)行特定類型sql命令或是訪問其它方案對(duì)象的權(quán)益,包括系統(tǒng)權(quán)限和對(duì)象權(quán)限兩種:主講 李 珩oracle 數(shù)據(jù)庫(kù).管理權(quán)限和角色系統(tǒng)權(quán)限 系統(tǒng)權(quán)限引見系統(tǒng)權(quán)限是指執(zhí)行特定類型sql命令的權(quán)益.它用于控制用戶可以執(zhí)行的一個(gè)或是一組數(shù)據(jù)庫(kù)操作.比如當(dāng)用戶具有create table權(quán)限時(shí),可以

16、在其方案中建表,當(dāng)用戶具有create any table權(quán)限時(shí),可以在任何方案中建表.oracle提供了200多種系統(tǒng)權(quán)限。常用的有:create session銜接數(shù)據(jù)庫(kù)create table建表create view 建視圖create public synonym建同義詞create procedure 建過程、函數(shù)、包 create trigger 建觸發(fā)器create cluster建簇 顯示系統(tǒng)權(quán)限oracle提供了208種系統(tǒng)權(quán)限(11g),而且oracle的版本越高,提供的系統(tǒng)權(quán)限就越多,我們可以查詢數(shù)據(jù)字典視圖system_privilege_map,可以顯示一切系統(tǒng)權(quán)限

17、select * from system_privilege_map order by name;主講 李 珩oracle 數(shù)據(jù)庫(kù).管理權(quán)限和角色系統(tǒng)權(quán)限 授予系統(tǒng)權(quán)限普通情況,授予系統(tǒng)權(quán)限是有dba完成的,假設(shè)用其它用戶來授予系統(tǒng)權(quán)限,那么要求該用戶必需具有g(shù)rant any privilege的系統(tǒng)權(quán)限在授予系統(tǒng)權(quán)限時(shí),可以帶有with admin option選項(xiàng),這樣,被授予權(quán)限的用戶或是角色還可以將該系統(tǒng)權(quán)限授予其它的用戶或是角色。為了讓大家快速入門,我們舉例闡明:1.創(chuàng)建兩個(gè)用戶 ken , tom.初始階段他們沒有任何權(quán)限,假設(shè)登陸就會(huì)給出錯(cuò)誤的信息1.1創(chuàng)建兩個(gè)用戶,并指定密碼

18、.2.給用戶ken授權(quán):2.1:授予create session 和create table權(quán)限時(shí) 帶with admin option2.2 授予create view 時(shí)不帶with admin option主講 李 珩oracle 數(shù)據(jù)庫(kù).管理權(quán)限和角色系統(tǒng)權(quán)限3.給用戶tom授權(quán)我們可以經(jīng)過ken 給tom授權(quán),由于with admin option是加上的。當(dāng)然也可以經(jīng)過dba給tom授權(quán),我們就用ken給tom授權(quán): grant create session,create table to tom; grandt create view to tom; ok嗎?不ok 回收系統(tǒng)權(quán)限

19、普通情況下,回收系統(tǒng)權(quán)限是dba來完成的,假設(shè)其它的用戶來回收系統(tǒng)權(quán)限,要求該用戶必需具有相應(yīng)系統(tǒng)權(quán)限及轉(zhuǎn)授系統(tǒng)權(quán)限的選項(xiàng)(with admin option。回收系統(tǒng)權(quán)限運(yùn)用revoke來完成,當(dāng)回收了系統(tǒng)權(quán)限后,用戶就不能執(zhí)行相應(yīng)的操作了,但是請(qǐng)留意,系統(tǒng)權(quán)限級(jí)聯(lián)收回問題?不是級(jí)聯(lián)回收!sys-ken-tom(create session) (create session)(create session)用system執(zhí)行如下操作:revoke create session from ken; 請(qǐng)思索 tom還能登錄?主講 李 珩oracle 數(shù)據(jù)庫(kù).管理權(quán)限和角色對(duì)象權(quán)限 對(duì)象權(quán)限引見指

20、訪問其它方案對(duì)象的權(quán)益,用戶可以直接訪問本人方案的對(duì)象,但是假設(shè)要訪問別的方案的對(duì)象,那么必需具有對(duì)象的權(quán)限. 比如smith用戶要訪問scott.emp表(scott:方案,emp :表)那么必需在scott.emp表上具有對(duì)象的權(quán)限。常用的有:alter 修正delete刪除select查詢 insert 添加update 修正index索引references 援用 execute 執(zhí)行查看oracle提供的一切的對(duì)象權(quán)限dba用戶可以查看select distinct privilege from dba_tab_privs;主講 李 珩oracle 數(shù)據(jù)庫(kù).管理權(quán)限和角色對(duì)象權(quán)限 授

21、予對(duì)象權(quán)限在oracle9i前,授予對(duì)象權(quán)限是由對(duì)象的一切者來完成的,假設(shè)用其它的用戶來操作,那么需求用戶具有相應(yīng)的(with grant option )權(quán)限,從oracle9i開場(chǎng),dba,sys,system 可以將任何對(duì)象上的對(duì)象權(quán)限授予其它用戶.授予對(duì)象權(quán)限是用grant命令來完成的.我們看幾個(gè)案例:1.monkey用戶要操作scott.emp表,那么必需授予相應(yīng)的對(duì)象權(quán)限希望monkey可以查詢scott.emp的表數(shù)據(jù),怎樣操作?希望monkey可以修正scott.emp的表數(shù)據(jù),怎樣操作?希望monkey可以刪除scott.emp的表數(shù)據(jù),怎樣操作?有沒有更加簡(jiǎn)單的方法,一次把

22、一切權(quán)限賦給monkey?grant 對(duì)象權(quán)限 on 數(shù)據(jù)庫(kù)對(duì)象 to 用戶名,角色名,public with grant option主講 李 珩oracle 數(shù)據(jù)庫(kù).管理權(quán)限和角色對(duì)象權(quán)限2.能否對(duì)monkey訪問權(quán)限更加精細(xì)控制.(授予列權(quán)限)希望monkey只可以修正scott.emp的表的sal字段,怎樣操作?希望monkey只可查詢scott.emp的表的ename,sal數(shù)據(jù),怎樣操作?3.授予alter權(quán)限假設(shè)black用戶要修正scott.emp表的構(gòu)造,那么必需授予alter對(duì)象權(quán)限4.授予execute權(quán)限假設(shè)用戶想要執(zhí)行其它方案的包/過程/函數(shù),那么須有execute權(quán)

23、限.比如為了讓ken可以執(zhí)行包dbms_transaction,可以授execute權(quán)限主講 李 珩oracle 數(shù)據(jù)庫(kù).管理權(quán)限和角色對(duì)象權(quán)限5.授予index權(quán)限假設(shè)想在別的方案的表上建立索引,那么必需具有index對(duì)象權(quán)限,如為了讓black可以在 scott.emp上建立索引,就給其index的對(duì)象權(quán)限sqlconn scott/tigersqlgrant index on scott.emp to black 6.運(yùn)用with grant option選項(xiàng)該選項(xiàng)用于轉(zhuǎn)授對(duì)象權(quán)限.但是該選項(xiàng)只能被授予用戶,而不能授予角色sqlconn scott/tigersqlgrant selec

24、t on emp to black with grant optionsqlconn black/m123sqlgrant select on scott.emp to jones主講 李 珩oracle 數(shù)據(jù)庫(kù).管理權(quán)限和角色對(duì)象權(quán)限 回收對(duì)象權(quán)限在oracle9i中,收回對(duì)象的權(quán)限可以由對(duì)象的一切者來完成,也可以用dba用戶(sys,system)來完成這里要闡明的時(shí):收回對(duì)象權(quán)限后,用戶就不能執(zhí)行相應(yīng)的sql命令,但是要留意的是對(duì)象的權(quán)限能否會(huì)被級(jí)聯(lián)收回?級(jí)聯(lián)回收請(qǐng)看一個(gè)案例:scott-blake-jonesselect on empselect on empselect on emp

25、revoke 對(duì)象權(quán)限 on 數(shù)據(jù)庫(kù)對(duì)象 from 用戶名,角色名主講 李 珩oracle 數(shù)據(jù)庫(kù).管理權(quán)限和角色角色 引見角色就是相關(guān)權(quán)限的命令集合,運(yùn)用角色的主要目的就是為了簡(jiǎn)化權(quán)限的管理.假定有用戶1,2,3為了讓他們都擁有權(quán)限銜接數(shù)據(jù)庫(kù)在scott.emp表上select,insert,update,假設(shè)采用直接授權(quán)操作,那么需求進(jìn)展12次授權(quán)。由于要進(jìn)展12次授權(quán)操作,所以比較費(fèi)事喔! 怎樣辦?主講 李 珩oracle 數(shù)據(jù)庫(kù).管理權(quán)限和角色角色 引見我們假設(shè)采用角色就可以簡(jiǎn)化:首先將create session , select on scott.emp, insert on sc

26、ott.emp,update on scott.emp授予角色,然后將該角色授予a,b,c用戶,這樣就可以三次授權(quán)搞定.角色分為預(yù)定義和自定義角色兩類:可以思索運(yùn)用自定義角色來處理問題的。主講 李 珩oracle 數(shù)據(jù)庫(kù).管理權(quán)限和角色角色 預(yù)定義角色預(yù)定義角色是指oracle所提供的角色,每種角色都用于執(zhí)行一些特定的管理義務(wù),下面我們引見常用的預(yù)定義角色connect,resource,dbaconnect角色connect角色具有普通運(yùn)用開發(fā)人員需求的大部分權(quán)限,當(dāng)建立了一個(gè)用戶后,多數(shù)情況下,只需給用戶授予connect和resource角色就夠了,那么,connect角色具有哪些系統(tǒng)權(quán)

27、限呢?create sesssion grant 角色名 to 用戶運(yùn)用system登錄 可以查詢一切預(yù)定義角色:select * from dba_roles;主講 李 珩oracle 數(shù)據(jù)庫(kù).管理權(quán)限和角色角色 預(yù)定義角色resource角色resource角色具有運(yùn)用開發(fā)人員所需求的其它權(quán)限,比如建立存儲(chǔ)過程、觸發(fā)器等。這里需求留意的是resource角色隱含了 unlimited tablespace系統(tǒng)權(quán)限。resource角色包含以下系統(tǒng)權(quán)限:create clustercreate indextypecreate tablecreate sequencecreate typecr

28、eate procedure create trigger主講 李 珩oracle 數(shù)據(jù)庫(kù).管理權(quán)限和角色角色 預(yù)定義角色dba角色dba角色具有一切的系統(tǒng)權(quán)限,及with admin option選項(xiàng),默許的dba用戶為sys和system他們可以將任何系統(tǒng)權(quán)限授予其它用戶.但是要留意的是dba角色不具備sysdba和sysoper的特權(quán)(啟動(dòng)和封鎖數(shù)據(jù)庫(kù))主講 李 珩oracle 數(shù)據(jù)庫(kù)練習(xí):請(qǐng)寫出正確的語(yǔ)句,完成提出的問題。1.創(chuàng)建一個(gè)用戶jack2.把jack設(shè)為具有dba角色的用戶.管理權(quán)限和角色角色 自定義角色顧名思義就是本人定義的角色,根據(jù)本人的需求來定義.普通是dba來建立,假

29、設(shè)用的別的用戶來建立,那么需求具有create role的系統(tǒng)權(quán)限.在建立角色時(shí)可以指定驗(yàn)證方式(不驗(yàn)證,數(shù)據(jù)庫(kù)驗(yàn)證等)建立角色(不驗(yàn)證)假設(shè)角色是公用的角色,可以采用不驗(yàn)證的方式建立角色.create role 角色名 not identified;建立角色(數(shù)據(jù)庫(kù)驗(yàn)證)采用這樣的方式時(shí),角色名、口令存放在數(shù)據(jù)庫(kù)中。當(dāng)激活該角色時(shí),必需提供口令.在建立這種角色時(shí),需求為其提供口令create role 角色名 identified by m123;主講 李 珩oracle 數(shù)據(jù)庫(kù).管理權(quán)限和角色角色 角色授權(quán)當(dāng)建立角色時(shí),角色沒有任何權(quán)限,為了使得角色完成特定義務(wù),必需為其授予相應(yīng)的系統(tǒng)權(quán)限

30、和對(duì)象權(quán)限。給角色授權(quán)給角色授予權(quán)限和給用戶授權(quán)沒有太多區(qū)別,但是要留意,系統(tǒng)權(quán)限的 unlimited tablespace 和對(duì)象權(quán)限的with grant option 選項(xiàng)是不能授予角色的。grant 對(duì)象權(quán)限 on 數(shù)據(jù)庫(kù)對(duì)象 to 自定義角色名 with admin option練習(xí) : 1. 用system 給某個(gè)自定義角色 授予create session權(quán)限,要求該權(quán)限可以轉(zhuǎn)授2.用scott用于給某個(gè)自定義角色授予 查詢權(quán)限主講 李 珩oracle 數(shù)據(jù)庫(kù).管理權(quán)限和角色角色分配角色給某個(gè)用戶普通分配角色是由dba來完成的,假設(shè)要以其它用戶身份分配角色,那么要求用戶必需具有g(shù)rant any role的系統(tǒng)權(quán)限。sqlcon

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論