Oracle表空間與數(shù)據(jù)文件的管理_第1頁(yè)
Oracle表空間與數(shù)據(jù)文件的管理_第2頁(yè)
Oracle表空間與數(shù)據(jù)文件的管理_第3頁(yè)
Oracle表空間與數(shù)據(jù)文件的管理_第4頁(yè)
Oracle表空間與數(shù)據(jù)文件的管理_第5頁(yè)
已閱讀5頁(yè),還剩99頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第六章表空間和數(shù)據(jù)文件的管理6.1 Oracle引入邏輯結(jié)構(gòu)的目的Oracle數(shù)據(jù)庫(kù)管理系統(tǒng)并沒(méi)有像不少其它數(shù)據(jù)庫(kù)管理系統(tǒng)那樣直接地操作數(shù)據(jù)文件,而是引入一組邏輯結(jié)構(gòu)。如圖6-1所示。圖6-1圖6-1的虛線線左邊為邏輯輯結(jié)構(gòu),右邊邊為物理結(jié)構(gòu)構(gòu)。與計(jì)算機(jī)機(jī)原理或計(jì)算算機(jī)操作系統(tǒng)統(tǒng)中所講的有有些不同,在在Oraclle數(shù)據(jù)庫(kù)中中,邏輯結(jié)構(gòu)構(gòu)為Oraccle引入的的結(jié)構(gòu),而物物理結(jié)構(gòu)為操操作系統(tǒng)所擁?yè)碛械慕Y(jié)構(gòu)。曾有不少學(xué)生問(wèn)問(wèn)過(guò)我同樣的的一個(gè)問(wèn)題,那那就是Oraacle為什什么要引入邏邏輯結(jié)構(gòu)呢?首先可能是為了了增加Oraacle的可可移植性。OOraclee公司聲稱它它的Oraccle數(shù)據(jù)庫(kù)庫(kù)是

2、與IT平平臺(tái)無(wú)關(guān)的,即即在某一廠家家的某個(gè)操作作系統(tǒng)上開(kāi)發(fā)發(fā)的Oraccle數(shù)據(jù)庫(kù)庫(kù)(包括應(yīng)用用程序等)可可以幾乎不加加修改地移植植到另一廠家家的另外的操操作系統(tǒng)上。要要做到這一點(diǎn)點(diǎn)就不能直接接操作數(shù)據(jù)文文件,因?yàn)閿?shù)數(shù)據(jù)文件是跟跟操作系統(tǒng)相相關(guān)的。其次可能是為了了減少Oraacle從業(yè)業(yè)人員學(xué)習(xí)的的難度。因?yàn)闉橛辛诉壿嫿Y(jié)結(jié)構(gòu)Oraccle的從業(yè)業(yè)人員就可以以只對(duì)邏輯結(jié)結(jié)構(gòu)進(jìn)行操作作,而在所有有的IT平臺(tái)臺(tái)上邏輯結(jié)構(gòu)構(gòu)的操作都幾幾乎完全相同同,至于從邏邏輯結(jié)構(gòu)到物物理結(jié)構(gòu)的映映射(轉(zhuǎn)換)是是由Oraccle數(shù)據(jù)庫(kù)庫(kù)管理系統(tǒng)來(lái)來(lái)完成的。6.2 Oraacle數(shù)據(jù)據(jù)庫(kù)中存儲(chǔ)結(jié)結(jié)構(gòu)之間的關(guān)關(guān)系其實(shí)圖6

3、-1類類似于一個(gè)OOraclee數(shù)據(jù)庫(kù)的存存儲(chǔ)結(jié)構(gòu)之間間關(guān)系的實(shí)體體關(guān)系圖。如如果讀者學(xué)過(guò)過(guò)實(shí)體關(guān)系系模型(E-R模型)的的話,從圖66-1中可以以很容易地得得到Oraccle數(shù)據(jù)庫(kù)庫(kù)中存儲(chǔ)結(jié)構(gòu)構(gòu)之間的關(guān)系系。為了幫助助那些沒(méi)有學(xué)學(xué)過(guò)E-R模模型的讀者理理解圖6-11,也是為了了幫助那些學(xué)學(xué)過(guò)但已經(jīng)忘忘的差不多了了的讀者恢復(fù)復(fù)一下記憶,在在下面對(duì)E-R模型和圖圖6-1給出出一些簡(jiǎn)單的的解釋。在圖6-1中,園園角型方框?yàn)闉閷?shí)體,實(shí)線線表示關(guān)系,單單線表示一的的關(guān)系,三條條線(鷹爪)表表示多的關(guān)系系。于是可以以得到:每個(gè)數(shù)據(jù)庫(kù)是由由一個(gè)或多個(gè)個(gè)表空間所組組成(至少一一個(gè))。每個(gè)表空間基于于一個(gè)或多

4、個(gè)個(gè)操作系統(tǒng)的的數(shù)據(jù)文件(至至少一個(gè))。每個(gè)表空間中可可以存放有零零個(gè)或多個(gè)段段(Segmment)。每個(gè)段是由一個(gè)個(gè)或多個(gè)區(qū)段段(Exteent)所組組成。每個(gè)區(qū)段是由一一個(gè)或多個(gè)連連續(xù)的Oraacle數(shù)據(jù)據(jù)塊所組成。每個(gè)Oraclle數(shù)據(jù)塊是是由一個(gè)或多多個(gè)連續(xù)的操操作系統(tǒng)數(shù)據(jù)據(jù)塊所組成。每個(gè)操作系統(tǒng)數(shù)數(shù)據(jù)文件是由由一個(gè)或多個(gè)個(gè)區(qū)段(Exxtent)所所組成。每個(gè)操作系統(tǒng)數(shù)數(shù)據(jù)文件是由由一個(gè)或多個(gè)個(gè)操作系統(tǒng)數(shù)數(shù)據(jù)塊所組成成。有關(guān)段,區(qū)段,和和Oraclle數(shù)據(jù)塊等等我們?cè)诮酉孪聛?lái)的章節(jié)中中要詳細(xì)地介介紹。6.3 表空間間和數(shù)據(jù)文件件之間的關(guān)系系及表空間的的分類通過(guò)前面的討論論可知:Orra

5、cle將將數(shù)據(jù)邏輯地地存放在表空空間里,而物物理地存放在在數(shù)據(jù)文件里里。表空間(Tablespaces)在任何一個(gè)時(shí)刻只能屬于一個(gè)數(shù)據(jù)庫(kù),但是反過(guò)來(lái)并不成立,因?yàn)橐粋€(gè)數(shù)據(jù)庫(kù)一般都有多個(gè)表空間。每個(gè)表空間都是由一個(gè)或多個(gè)操作系統(tǒng)的數(shù)據(jù)文件所組成,但是一個(gè)操作系統(tǒng)的數(shù)據(jù)文件只能屬于一個(gè)表空間。表空間可以被進(jìn)進(jìn)一步劃分成成一些更小的的邏輯存儲(chǔ)單單位。在一個(gè)個(gè)Oraclle數(shù)據(jù)庫(kù)中中,每個(gè)數(shù)據(jù)據(jù)文件(Daata fiiles)可以而且只只能屬于一個(gè)個(gè)表空間和一一個(gè)數(shù)據(jù)庫(kù)。數(shù)據(jù)文件實(shí)際上是存儲(chǔ)模式對(duì)象數(shù)據(jù)的一個(gè)容器/倉(cāng)庫(kù)。在一個(gè)Oraccle數(shù)據(jù)庫(kù)庫(kù)中一般有兩兩類表空間,他他們是系統(tǒng)(SYSSTEM)表

6、空間和非系系統(tǒng)(Nonn-SYSTTEM)表空空間。系統(tǒng)(SYSTTEM)表空間是與數(shù)據(jù)庫(kù)一一起建立的,在在系統(tǒng)表空間中中存有數(shù)據(jù)字字典,在系統(tǒng)統(tǒng)表空間中還還包含了系統(tǒng)統(tǒng)還原(回滾滾)段。雖然然在系統(tǒng)表空間中中可以存放用用戶數(shù)據(jù),但但考慮到Orracle系系統(tǒng)的效率和和管理上的方方便,在系統(tǒng)統(tǒng)表空間上不不應(yīng)該存放任任何用戶數(shù)據(jù)據(jù)。非系統(tǒng)(Nonn-SYSTTEM)表空空間可以由數(shù)數(shù)據(jù)庫(kù)管理員員創(chuàng)建,在非系統(tǒng)表空間間中存儲(chǔ)一些些單獨(dú)的段,這這些段可以是是用戶的數(shù)據(jù)據(jù)段,索引段段,還原段,和和臨時(shí)段等。引引入非系統(tǒng)表表空間可以方方便磁盤(pán)空間間的管理,也也可以更好地地控制分配給給用戶磁盤(pán)空空間的數(shù)量

7、。引引入非系統(tǒng)表表空間還可以以將靜態(tài)數(shù)據(jù)據(jù)和動(dòng)態(tài)數(shù)據(jù)據(jù)有效地分開(kāi)開(kāi),也可以按按照備份的要要求將數(shù)據(jù)分分開(kāi)存放。使使用如下的命命令創(chuàng)建一個(gè)個(gè)非系統(tǒng)表空空間:CREATE TABLEESPACEE表空間名DATAFFILE子句句MINIMMUM EXXTENT 正整數(shù)K|MBLOCKKSIZE正正整數(shù)KLOGGIING|NOOLOGGIINGDEFAUULT 存儲(chǔ)儲(chǔ)子句ONLINNE|OFFFLINEPERMAANENT|TEMPOORARY區(qū)段管理子子句段管理子句句在這里對(duì)以上命命令中的一些些子句和選項(xiàng)項(xiàng)給出進(jìn)一步步的解釋:表空間名:所要要?jiǎng)?chuàng)建的表空空間名。DATAFILLE子句:組組成所要?jiǎng)?chuàng)建

8、建的表空間的的文件說(shuō)明。MINIMUMM EXTEENT:表空間中所所使用的每個(gè)個(gè)EXTENNT都必須是是該參數(shù)所指指定數(shù)的整數(shù)數(shù)倍。BLOCKSIIZE:為該該表空間說(shuō)明非標(biāo)準(zhǔn)塊塊的大小。在在使用這一子子句之前,您您必須先設(shè)置置DB_CAACHE_SSIZE參數(shù)數(shù)和DB_nnK_CACCHE_SIIZE參數(shù),而而且該子句中中所說(shuō)明的正正整數(shù)一定與與DB_nKK_CACHHE_SIZZE參數(shù)的設(shè)設(shè)定相對(duì)應(yīng)。LOGGINGG: 說(shuō)說(shuō)明在該表空空間中所有數(shù)數(shù)據(jù)的變化都都將寫(xiě)入重做做日志文件中中,這也是默默認(rèn)方式。NOLOGGIING: 說(shuō)說(shuō)明在該表空空間中所有數(shù)數(shù)據(jù)的變化不不都寫(xiě)入重做做日志文件中

9、中,NOLOOGGINGG只影響一些些DML和DDDL命令。DEFAULTT存儲(chǔ)子句:說(shuō)明所有在在該表空間中中所創(chuàng)建的對(duì)對(duì)象的默認(rèn)存存儲(chǔ)參數(shù)。OFFLINEE:說(shuō)明該表空空間在創(chuàng)建后后立即被置為為脫機(jī),即不不能使用。還有一些其它的的子句和選項(xiàng)項(xiàng)我們將在后后續(xù)的章節(jié)中中陸續(xù)地介紹紹。6.4 表空間間中的磁盤(pán)空空間管理在Oraclee8.0和更更早的版本中中所有表空間間中的磁盤(pán)空空間管理都是是由數(shù)據(jù)字典典來(lái)管理的。在在這種表空間間的管理方法法中所有的空空閑區(qū)由數(shù)據(jù)據(jù)字典來(lái)統(tǒng)一一管理。每當(dāng)當(dāng)區(qū)段被分配配或收回時(shí),OOraclee服務(wù)器將修修改數(shù)據(jù)字典典中相應(yīng)的(系系統(tǒng))表。在數(shù)據(jù)字典(系系統(tǒng))管理的

10、的表空間中所所有的EXTTENTS的的管理都是在在數(shù)據(jù)字典中中進(jìn)行的,而而且每一個(gè)存存儲(chǔ)在同一個(gè)個(gè)表空間中的的段可以具有有不同的存儲(chǔ)儲(chǔ)子句。在這這種表空間的的管理方法中中您可以按您您的需要修改改存儲(chǔ)參數(shù),所所以存儲(chǔ)管理理比較靈活但但系統(tǒng)的效率率較低。還有有如果使用這這種表空間的的管理方法,有有時(shí)需要合并并碎片。由于Oraclle8.0對(duì)對(duì)互聯(lián)網(wǎng)的成成功支持和它它在其它方面面的卓越表現(xiàn)現(xiàn)使得Oraacle的市市場(chǎng)占有率急急速地增加,同同時(shí)Oraccle數(shù)據(jù)庫(kù)庫(kù)的規(guī)模也開(kāi)開(kāi)始變的越來(lái)來(lái)越大。這樣樣在一個(gè)大型型和超大型數(shù)數(shù)據(jù)庫(kù)中就可可能有成百乃乃至上千個(gè)表表空間。由于于每個(gè)表空間間的管理信息息都存在

11、數(shù)據(jù)據(jù)字典中,也也就是存在系系統(tǒng)表空間中中。這樣系統(tǒng)統(tǒng)表空間就有有可能成為一一個(gè)瓶頸從而而使數(shù)據(jù)庫(kù)系系統(tǒng)的效率大大大地下降。正是為了克服以以上弊端,OOraclee公司從它的的Oraclle8i開(kāi)始始引入了另一一種表空間的的管理方法,叫叫做本地管理理的表空間。本地管理的表空空間其空閑EXTEENTS是在在表空間中管管理的,它是是使用位圖(Bitmap)來(lái)記錄空閑EXTENTS,位圖中的每一位對(duì)應(yīng)于一塊或一組塊,而每位的值指示空閑或分配。當(dāng)一個(gè)EXTENT被分配或釋放時(shí),Oracle服務(wù)器就會(huì)修改位圖中相應(yīng)位的值以反映該EXTENT的新的狀態(tài)。位圖存放在表空間所對(duì)應(yīng)的數(shù)據(jù)文件的文件頭中。使用本地

12、管理的的表空間減少少了數(shù)據(jù)字典典表的競(jìng)爭(zhēng),而而且當(dāng)磁盤(pán)空空間分配或收收回時(shí)也不會(huì)會(huì)產(chǎn)生回滾(還還原),它也也不需要合并并碎片。在本本地管理的表表空間中您無(wú)無(wú)法按您的需需要來(lái)隨意地地修改存儲(chǔ)參參數(shù),所以存存儲(chǔ)管理不像像數(shù)據(jù)字典(系系統(tǒng))管理的的表空間那樣樣靈活但系統(tǒng)統(tǒng)的效率較高高。因?yàn)樵诒镜毓芾砝淼谋砜臻g中中,表空間的的管理,如磁磁盤(pán)空間的分分配與釋放等等已經(jīng)不在需需要操作數(shù)據(jù)據(jù)字典了,所所以系統(tǒng)表空空間的瓶頸問(wèn)問(wèn)題得到了很很好的解決。因此Oracle公司建議用戶創(chuàng)建的表空間應(yīng)該盡可能地使用本地管理的表空間。在Oracle9i中本地管理的表空間為默認(rèn)方式,但是在Oracle8i中數(shù)據(jù)字典(系統(tǒng))

13、管理的表空間為默認(rèn)方式。6.5 創(chuàng)建數(shù)數(shù)據(jù)字典管理理的表空間曾有位著名的學(xué)學(xué)者在一份非非常出名的報(bào)報(bào)紙上發(fā)表了了一篇震撼了了整個(gè)神州大大地的文章,文文章的題目是是:“中國(guó)婦女解解放運(yùn)動(dòng)的先先驅(qū)潘金蓮蓮”。這篇文章章一發(fā)表就在在社會(huì)上引發(fā)發(fā)了激烈的爭(zhēng)爭(zhēng)論,真是“一石擊起千千層浪”。一位考古學(xué)學(xué)的博士想利利用統(tǒng)計(jì)學(xué)的的方法科學(xué)地地證明潘金蓮蓮到底是不是是中國(guó)婦女解解放的先驅(qū)。首首先他必須將將大量的數(shù)據(jù)據(jù)分門(mén)別類地地存入數(shù)據(jù)庫(kù)庫(kù)中。他找到到了您讓您在在Oraclle數(shù)據(jù)庫(kù)方方面幫他的忙忙。您決定首先要為為這個(gè)項(xiàng)目創(chuàng)創(chuàng)建一個(gè)名為為jinliian(金蓮蓮)的表空間間。為了平衡衡I/O,您您決定該表空空

14、間將基于兩兩個(gè)數(shù)據(jù)文件件,它們分別別是J:DDISK2MOONJINLIIAN01.DBF和J:DIISK4MMOONJJINLIAAN02.DDBF,其大大小都為500M(在實(shí)際際中可能幾百百)。為了了更有效地控控制磁盤(pán)的存存儲(chǔ)分配,您您決定使用數(shù)數(shù)據(jù)字典管理理的表空間。為為了防止用戶戶在創(chuàng)建對(duì)象象時(shí)使用的EEXTENTT過(guò)小而產(chǎn)生生過(guò)多的碎片片,您決定最最小的EXTTENT為50K(MINIMMUM EXXTENT 50K)。當(dāng)當(dāng)需要磁盤(pán)空空間的自動(dòng)分分配時(shí)第一次次分配為500K(INITIIAL 500K),第二二次也為500K(NEXT 50K),所所分配的最大大磁盤(pán)空間為為100個(gè)E

15、EXTENTTS(MAXEEXTENTTS 1000)。從第三三次分配開(kāi)始始按如下的公公式進(jìn)行分配配:NEXTT * (11+PCTIINCREAASE/1000)(n-2)。其中中n為分配的的次數(shù)。于是是你發(fā)出了如如例6-1的的SQL語(yǔ)句句來(lái)創(chuàng)建名為為jinliian(金蓮蓮)的表空間間。例6-1SQL CRREATE TABLEESPACEE jinllian 2 DAATAFILLE J:DISKK2MOOONJINNLIAN001.DBFF SIZZE 50 M, 3 J:DISKK4MOOONJINNLIAN002.DBFF SIZZE 50 M 4 MIINIMUMM EXTEEN

16、T 500K EXTTENT MMANAGEEMENT DICTIIONARYY 5 DEEFAULTT STORRAGE (INITIIAL 500K NEXXT 50KK MAXEEXTENTTS 1000 PCTIINCREAASE 0);表空間已創(chuàng)建。緊接著為了驗(yàn)證證所創(chuàng)建的表表空間是不是是數(shù)據(jù)字典管管理的,您使使用了如例66-4的SQQL查詢語(yǔ)句句。但為了使使該語(yǔ)句的顯顯示結(jié)果更清清晰,您又使使用了例6-2和例6-3的SQLL*Pluss命令對(duì)輸出出進(jìn)行了格式式化。例6-2SQLSETT LINEE 120例6-3SQL COOL TABBLESPAACE_NAAME FOOR A1

17、55例6-4SQL SEELECT tableespacee_namee, bloock_siize, eextentt_manaagemennt, seegmentt_spacce_mannagemeent 2 FRROM dbba_tabblespaaces;TABLESPPACE_NNAME BBLOCK_SIZE EXTENNT_MANN SEGMMEN- - - -SYSTEM 4096 DICTIIONARYY MANUUALUNDOTBSS 4096 LOCALL MANUUALCWMLITEE 4096 LOCALL MANUUALDRSYS 4096 LOCALL MANUU

18、ALEXAMPLEE 4096 LOCALL MANUUALINDX 4096 LOCALL MANUUALTEMP 4096 LOCALL MANUUALTOOLS 4096 LOCALL MANUUALUSERS 4096 LOCALL MANUUALJINLIANN 4096 DICTIIONARYY MANUUAL 已選擇10行。 例6-4查詢語(yǔ)語(yǔ)句的結(jié)果表表明表空間jjinliaan(金蓮)確實(shí)是一個(gè)個(gè)數(shù)據(jù)字典管管理的表空間間,因?yàn)閑xxtent_managgementt列的顯示結(jié)結(jié)果為DICCTIONAARY。現(xiàn)在在您可以使用用如例6-55的SQL查查詢語(yǔ)句來(lái)驗(yàn)驗(yàn)證其它的磁磁盤(pán)存儲(chǔ)

19、參數(shù)數(shù)。例6-5SQL seelect tableespacee_namee, iniitial_extennt, neext_exxtent, 2 max_eextentts, pcct_inccreasee, minn_extllen 3 frrom dbba_tabblespaaces;TABLESPPACE_NNAME IINITIAAL_EXTTENT NNEXT_EEXTENTT MAX_EXTENNTS PCCT_INCCREASEE MIN_EXTLEEN- - - - - -SYSTEM 122288 122888 2249 500 0UNDOTBSS 655536 2144

20、74836645 655336CWMLITEE 655536 214474836645 655336DRSYS 655536 214474836645 655336EXAMPLEE 655536 214474836645 655336INDX 655536 214474836645 655336TEMP 10488576 100485766 00 110485776TOOLS 655536 214474836645 655336USERS 655536 214474836645 655336JINLIANN 533248 532488 1100 00 532448 已選擇10行。 從例6-5查

21、詢?cè)冋Z(yǔ)句的結(jié)果果顯示可以清清楚地看出:所有的存儲(chǔ)儲(chǔ)參數(shù)都是按按您的要求設(shè)設(shè)置的,因?yàn)闉镮NITIIAL_EXXTENT為為50K(553248字字節(jié)),NEEXT_EXXTENT也也為50K(53248字節(jié)),MIN_EXTENT(MINIMUM EXTENT)也同樣為50K(53248字節(jié)),最后MAX_EXTENTS(MAXEXTENTS)為100。此時(shí)您還應(yīng)使用如例6-6的SQL查詢語(yǔ)句來(lái)驗(yàn)證一下與文件有關(guān)的信息。例6-6SQL seelect file_id, ffile_nname, tableespacee_namee 2 frrom dbba_datta_filles 3 orr

22、der bby fille_id; FILEE_ID FFILE_NNAME TABLEESPACEE_NAMEE- - - 1 DD:ORAACLEOORADATTAORAACLE9IISYSTTEM01.DBF SYSTEEM 2 DD:ORAACLEOORADATTAORAACLE9IIUNDOOTBS011.DBF UNDOTTBS 3 DD:ORAACLEOORADATTAORAACLE9IICWMLLITE011.DBF CWMLIITE 4 DD:ORAACLEOORADATTAORAACLE9IIDRSYYS01.DDBF DRSYSS 5 DD:ORAACLEOORADATT

23、AORAACLE9IIEXAMMPLE011.DBF EXAMPPLE 6 DD:ORAACLEOORADATTAORAACLE9IIINDXX01.DBBF INDX 7 DD:ORAACLEOORADATTAORAACLE9IITOOLLS01.DDBF TOOLSS 8 DD:ORAACLEOORADATTAORAACLE9IIUSERRS01.DDBF USERSS 9 JJ:DISSK2MOOONJIINLIANN01.DBBF JINLIIAN 10 JJ:DISSK4MOOONJIINLIANN02.DBBF JINLIIAN 已選擇10行。 從例6-6查詢?cè)冋Z(yǔ)句的結(jié)果果顯示可以

24、清清楚地看出:表空間JIINLIANN共有兩個(gè)操操作系統(tǒng)文件件它們分別是是J:DIISK2MMOONJJINLIAAN01.DDBF和J:DIISK4MMOONJJINLIAAN02.DDBF。最后后您還應(yīng)該利利用操作系統(tǒng)統(tǒng)工具,如NNT資源管理理器來(lái)驗(yàn)證一一下真正的物物理文件是否否真的生成了了。如例6-7所示。例6-7從例6-7的結(jié)結(jié)果顯示可以以清楚地看出出物理文件JJ:DISSK2MOOONJIINLIANN.DBF確確實(shí)已經(jīng)生成成,其大小也也為50M。您還還應(yīng)該使用相相同的方法驗(yàn)驗(yàn)證表空間JJINLIAAN的另一個(gè)個(gè)操作系統(tǒng)文文件。6.6 創(chuàng)建本本地管理的表表空間接下來(lái)您決定還還要為這個(gè)

25、項(xiàng)項(xiàng)目創(chuàng)建一個(gè)個(gè)名為jinnlian_indexx的索引表空空間。該表空間只基基于一個(gè)數(shù)據(jù)據(jù)文件,其文文件名是J:DISKK6MOONNJINLLIAN_IINDEX.DBF,其其大小為500M(在實(shí)際際中可能為幾幾百)。為為了方便磁盤(pán)盤(pán)存儲(chǔ)的管理理,您決定使使用本地管理理的表空間(EXTENNT MANNAGEMEENT LOOCAL)。根據(jù)您的的調(diào)查,您決決定每個(gè)EXXTENT的的大小為1MM(UNIFOORM SIIZE 1M)。于是您發(fā)發(fā)出了如例66-8的DDDL語(yǔ)句來(lái)創(chuàng)創(chuàng)建名為jiinliann_indeex的索引表表空間。例6-8SQL CRREATE TABLEESPACEE j

26、inllian_iindex2 DATAAFILE J:DDISK6MOONjinliian_inndex.ddbf 3 SIIZE 500 M 4 EXXTENT MANAGGEMENTT LOCAAL 5 UNNIFORMM SIZEE 1M;表空間已創(chuàng)建。緊接著為了驗(yàn)證證所創(chuàng)建的表表空間是不是是本地管理的的,您使用了了如例6-99的查詢語(yǔ)句句。但為了使使該語(yǔ)句的顯顯示結(jié)果更清清晰,您可能能需要使用SSQL*Pllus命令對(duì)對(duì)輸出進(jìn)行格格式化。例6-9SQL SEELECT tableespacee_namee, bloock_siize, eextentt_manaagemennt, s

27、eegmentt_spacce_mannagemeent 2 FRROM dbba_tabblespaaces 3 WHHERE ttablesspace_name LIKE JIN%;TABLESPPACE_NNAME BBLOCK_SIZE EXTENNT_MANN SEGMMEN- - - -JINLIANN 4096 DICTIIONARYY MANUUALJINLIANN_INDEEX 4096 LOCALL MANUUAL例6-9查詢語(yǔ)語(yǔ)句的結(jié)果表表明表空間JJINLIAAN_INDDEX確實(shí)是是一個(gè)本地管管理的表空間間,因?yàn)閑xxtent_managgementt列的顯示結(jié)結(jié)果為

28、LOCCAL?,F(xiàn)在在您可以使用用如例6-110查詢語(yǔ)句句來(lái)驗(yàn)證其它它的磁盤(pán)存儲(chǔ)儲(chǔ)參數(shù)。例6-10SQL seelect tableespacee_namee, iniitial_extennt, neext_exxtent, 2 max_eextentts, pcct_inccreasee, minn_extllen 3 frrom dbba_tabblespaaces 4 WHHERE ttablesspace_name LIKE JIN%;TABLESPPACE_NNAME IINITIAAL_EXTTENT NNEXT_EEXTENTT MAX_EXTENNTS PCCT_INCCREA

29、SEE MIN_EXTLEEN- - - - - -JINLIANN 533248 532488 1100 00 532448JINLIANN_INDEEX 10488576 100485766 214474836645 00 110485776從例6-10查查詢語(yǔ)句的結(jié)結(jié)果顯示可以以清楚地看出出:所有的存存儲(chǔ)參數(shù)都是是按您的要求求設(shè)置的,因因?yàn)镮NITTIAL_EEXTENTT為1M(10485576字節(jié)),NNEXT_EEXTENTT也為1M(10485576字節(jié)),MMIN_EEXTENTT也同樣為1MM(10485576字節(jié))。此此時(shí)您還應(yīng)使使用如例6-11的查詢?cè)冋Z(yǔ)句來(lái)驗(yàn)證證一下與文

30、件件有關(guān)的信息息。例6-11SQL SEELECT file_id, ffile_nname, tableespacee_namee, auttoexteensiblle 2 FRROM dbba_datta_filles 3 WHHERE ffile_iid 55 4 orrder bby fille_id; FILEE_ID FFILE_NNAME TABLEESPACEE_NAMEE AUT- - - - 6 DD:ORAACLEOORADATTAORAACLE9IIINDXX01.DBBF INDX YES 7 DD:ORAACLEOORADATTAORAACLE9IITOOLLS01

31、.DDBF TOOLSS YES 8 DD:ORAACLEOORADATTAORAACLE9IIUSERRS01.DDBF USERSS YES 9 JJ:DISSK2MOOONJIINLIANN01.DBBF JINLIIAN NO 10 JJ:DISSK4MOOONJIINLIANN02.DBBF JINLIIAN NO 11 JJ:DISSK6MOOONJIINLIANN_INDEEX.DBFF JINLIIAN_INNDEX NO 從例6-11查查詢語(yǔ)句的結(jié)結(jié)果顯示可以以清楚地看出出:表空間JJINLIAAN_INDDEX只有一一個(gè)操作系統(tǒng)統(tǒng)文件,它是是J:DIISK6MMOONJJI

32、NLIAAN_INDDEX.DBBF。最后您您還應(yīng)該利用用操作系統(tǒng)工工具,如NTT資源管理器器來(lái)驗(yàn)證一下下真正的物理理文件是否真真的生成了。如如例6-122所示。例6-12從例6-12的的結(jié)果顯示可可以清楚地看看出:物理文文件J:DDISK6MOONJINLIIAN_INNDEX.DDBF確實(shí)已已經(jīng)生成,其其大小也為550 M。還原表空間還原表空間是OOraclee9i剛剛引引入的,它是是用來(lái)自動(dòng)地地管理還原(回回滾)數(shù)據(jù)的的。在這一節(jié)節(jié)只對(duì)還原表表空間給一個(gè)個(gè)簡(jiǎn)單的介紹紹,后面有專專門(mén)的一章來(lái)來(lái)詳細(xì)地介紹紹這方面的內(nèi)內(nèi)容。還原表表空間是用來(lái)來(lái)存儲(chǔ)還原段段的,在還原原表空間中不不能包含任何何其

33、它的對(duì)象象。還原表空空間中的區(qū)段段(Extennts)是由由本地管理的的,而且在創(chuàng)創(chuàng)建還原表空空間的SQLL語(yǔ)句中只能能使用DATTAFILEE和EXTENNT MANNAGEMEENT子句。接下來(lái)您想為潘潘金蓮項(xiàng)目的的數(shù)據(jù)單獨(dú)創(chuàng)創(chuàng)建一個(gè)還原原表空間,它它的名為jiinliann_undoo,它所基于于的操作系統(tǒng)統(tǒng)文件名為JJ:DISSK7MOOONjiinliann_undoo.DBF,其其大小為200M。于是就就可以使用如如例6-133的SQL語(yǔ)語(yǔ)句來(lái)創(chuàng)建所所需的還原表表空間了。例6-13SQL CRREATE UNDO TABLEESPACEE jinllian_uundo 2 DAAT

34、AFILLE J:DISKK7MOOONjinnlian_undo.DBF 3 SIIZE 200 M;表空間已創(chuàng)建?,F(xiàn)在您可能想查查看一下您所所創(chuàng)建的還原原表空間jiinliann_undoo到底是數(shù)據(jù)據(jù)字典管理還還是本地管理理的??梢允故褂萌缋?-14的SQQL查詢語(yǔ)句句來(lái)獲取相關(guān)關(guān)的信息。例6-14SQL SEELECT tableespacee_namee, bloock_siize, eextentt_manaagemennt, seegmentt_spacce_mannagemeent 2 FRROM dbba_tabblespaaces 3 WHHERE ttablesspace

35、_name LIKE JIN%;TABLESPPACE_NNAME BBLOCK_SIZE EXTENNT_MANN SEGMMEN- - - -JINLIANN 4096 DICTIIONARYY MANUUALJINLIANN_INDEEX 4096 LOCALL MANUUALJINLIANN_UNDOO 4096 LOCALL MANUUAL例6-14的查查詢結(jié)果表明明:還原表空空間jinllian_uundo是本本地管理的,因因?yàn)閑xteent_maanagemment列的的顯示結(jié)果為為L(zhǎng)OCALL。之后您當(dāng)當(dāng)然也想確認(rèn)認(rèn)一下表空間間jinliian_unndo到底是是不是還原表表空

36、間。因此此您可以使用用如例6-115的SQLL查詢語(yǔ)句。例6-15SQL SEELECT tableespacee_namee, staatus, conteents 2 FRROM dbba_tabblespaaces 3 WHHERE ttablesspace_name LIKE JIN%;TABLESPPACE_NNAME SSTATUSS CCONTENNTS - - -JINLIANN OONLINEE PPERMANNENTJINLIANN_INDEEX OONLINEE PPERMANNENTJINLIANN_UNDOO OONLINEE UUNDO 例6-15的查查詢結(jié)果表明明

37、:表空間jinnlian_undo確確實(shí)為還原表表空間,因?yàn)闉閏onteents列的的顯示結(jié)果為為UNDO。臨時(shí)表空間臨時(shí)表空間是作作為排序操作作使用的。當(dāng)當(dāng)在用戶的SSQL語(yǔ)句中中使用了諸如如ORDERR BY,GGROUP BY子句時(shí)時(shí)Oraclle服務(wù)器就就需要對(duì)所選選取的數(shù)據(jù)進(jìn)進(jìn)行排序,這這時(shí)如果排序序的數(shù)據(jù)量很很大內(nèi)存的排排序區(qū)(在PPGA中)就就可能裝不下下,因此Orracle服服務(wù)器就要把把一些中間的的排序結(jié)果寫(xiě)寫(xiě)到磁盤(pán)上,即即臨時(shí)表空間間中。當(dāng)用戶戶的SQL語(yǔ)語(yǔ)句中經(jīng)常有有大規(guī)模的多多重排序而內(nèi)內(nèi)存的排序區(qū)區(qū)不夠時(shí),使使用臨時(shí)表空空間就可以改改進(jìn)數(shù)據(jù)庫(kù)的的效率。臨時(shí)表空間可以以

38、由多個(gè)用戶戶共享,在其其中不能包含含任何永久對(duì)對(duì)象。臨時(shí)表表空間中的排排序段是在實(shí)實(shí)例啟動(dòng)后當(dāng)當(dāng)有第一個(gè)排排序操作時(shí)創(chuàng)創(chuàng)建的,排序序段在需要時(shí)時(shí)可以通過(guò)分分配EXTEENTS來(lái)擴(kuò)擴(kuò)展并一直可可以擴(kuò)展到大大于或等于在在該實(shí)例上所所運(yùn)行的所有有排序活動(dòng)的的總和。當(dāng)創(chuàng)建臨時(shí)表空空間時(shí),必須須使用標(biāo)準(zhǔn)數(shù)數(shù)據(jù)塊。另外外Oraclle還推薦使用本本地管理的表表空間。接下來(lái)您想為潘潘金蓮項(xiàng)目的的數(shù)據(jù)單獨(dú)創(chuàng)創(chuàng)建一個(gè)臨時(shí)時(shí)表空間,它它的名為jiinliann_tempp,它所基于于的操作系統(tǒng)統(tǒng)文件名為JJ:DISSK8MOONNjinllian_ttemp.DDBF,其大大小為10MM。您在創(chuàng)建建該臨時(shí)表空空間

39、之前,想想看一看在數(shù)數(shù)據(jù)庫(kù)中究竟竟有多少個(gè)表表空間以及它它們的狀態(tài),于于是您首先使使用如例6-16的SQQL*Pluus格式化命命令,之后發(fā)發(fā)出了如例66-17的SSQL查詢語(yǔ)語(yǔ)句。例6-16SQL cool tabblespaace_naame foor a155例6-17SQL seelect tableespacee_namee, staatus, conteents 2 frrom dbba_tabblespaaces;TABLESPPACE_NNAME SSTATUSS CCONTENNTS - - -SYSTEM OONLINEE PPERMANNENTUNDOTBSS OONLI

40、NEE UUNDO CWMLITEE OONLINEE PPERMANNENTDRSYS OONLINEE PPERMANNENTEXAMPLEE OONLINEE PPERMANNENTINDX OONLINEE PPERMANNENTTEMP OONLINEE TTEMPORRARYTOOLS OONLINEE PPERMANNENTUSERS OONLINEE PPERMANNENTJINLIANN OONLINEE PPERMANNENTJINLIANN_INDEEX OONLINEE PPERMANNENTJINLIANN_UNDOO OONLINEE UUNDO 已選擇12行。 例

41、6-17查詢?cè)冋Z(yǔ)句的顯示示結(jié)果表明:在該數(shù)據(jù)庫(kù)庫(kù)中只有一個(gè)個(gè)臨時(shí)表空間間,該表空間間的名為T(mén)EEMP,因?yàn)闉橹挥性摫砜湛臻g的CONNTENTSS列的值為T(mén)EEMPORAARY。為了得到臨時(shí)表表空間和對(duì)應(yīng)應(yīng)的數(shù)據(jù)文件件,您可以使使用數(shù)據(jù)字典典v$tabblespaace和 v$teempfille。于是您您使用了如例例6-19帶帶有兩個(gè)表連連接的SQLL查詢語(yǔ)句,但但為了使顯示示的結(jié)果更加加清晰您首先先使用了如例例6-18的的SQL*PPlus格式式化命令例6-18SQL cool fille forr a50例6-19SQL SEELECT f.fille#, tt.ts#, f.naame

42、FFile, t.naame TTablesspace 2 FRROM v$tempffile ff, v$ttablesspace t 3 WHHERE ff.ts# = t.tts#; FIILE# TS# File Tabllespacce - - - - 1 6 D:ORRACLEORADAATAORRACLE99ITEMMP01.DDBF TEMPP 例6-19查詢?cè)冋Z(yǔ)句的顯示示結(jié)果表明:6號(hào)(TSS#為6)表表空間TEMMP所對(duì)應(yīng)的的數(shù)據(jù)文件為為D:ORRACLEORADAATAORRACLE99ITEMMP01.DDBF,文件件號(hào)為1(FFILE#為為1)?,F(xiàn)在在您就可以使使用如

43、例6-20的SQQL語(yǔ)句來(lái)創(chuàng)創(chuàng)建所需的臨臨時(shí)表空間了了。例6-20SQL CRREATE TEMPOORARY TABLEESPACEE jinllian_ttemp 2 TEEMPFILLE J:DISKK8MOOONjinnlian_temp.dbf 3 SIIZE 100 M 4 EXXTENT MANAGGEMENTT LOCAAL 5 UNNIFORMM SIZEE 2 M;表空間已創(chuàng)建。接下來(lái)您應(yīng)該使使用如例6-21,例66-22,和和例6-233的SQL查查詢語(yǔ)句來(lái)驗(yàn)驗(yàn)證一下該表表空間是否已已經(jīng)建立,它它是否為臨時(shí)時(shí)表空間,以以及它所對(duì)應(yīng)應(yīng)的數(shù)據(jù)文件件是否也被創(chuàng)創(chuàng)建等。例6-21

44、SQL seelect tableespacee_namee, staatus, conteents 2 frrom dbba_tabblespaaces 3 whhere ttablesspace_name LIKE JIN%;TABLESPPACE_NNAME SSTATUSS CCONTENNTS - - -JINLIANN OONLINEE PPERMANNENTJINLIANN_INDEEX OONLINEE PPERMANNENTJINLIANN_TEMPP OONLINEE TTEMPORRARYJINLIANN_UNDOO OONLINEE UUNDO 例6-22SQL SEE

45、LECT f.fille#, tt.ts#, f.naame FFile, t.naame TTablesspace 2 FRROM v$tempffile ff, v$ttablesspace t 3 WHHERE ff.ts# = t.tts#; FIILE# TS# File Tabllespacce - - - - 1 6 D:ORRACLEORADAATAORRACLE99ITEMMP01.DDBF TEMPP 2 12 J:DIISK8MMOONJJINLIAAN_TEMMP.DBFF JINLLIAN_TTEMP例6-23SQL SEELECT tableespacee_name

46、e, bloock_siize, eextentt_manaagemennt, 2 segmeent_sppace_mmanageement, min_extleen 3 FRROM dbba_tabblespaaces 4 WHHERE ttablesspace_name LIKE JIN%;TABLESPPACE_NNAME BBLOCK_SIZE EXTENNT_MANN SEGMMEN MIIN_EXTTLEN- - - - -JINLIANN 4096 DICTIIONARYY MANUUAL 533248JINLIANN_INDEEX 4096 LOCALL MANUUAL 104

47、88576JINLIANN_TEMPP 4096 LOCALL MANUUAL 20977152JINLIANN_UNDOO 4096 LOCALL MANUUAL 655536例6-21,例例6-22,和和例6-233的查詢語(yǔ)句句顯示結(jié)果表表明:您已經(jīng)經(jīng)成功地創(chuàng)建建了臨時(shí)表空空間jinllian_ttemp。最最后您還應(yīng)該該利用操作系系統(tǒng)工具,如如NT資源管管理器來(lái)驗(yàn)證證一下臨時(shí)表表空間所對(duì)應(yīng)應(yīng)的物理文件件是否真的生生成了。本地管理的臨時(shí)時(shí)表空間是基基于臨時(shí)數(shù)據(jù)據(jù)文件(teemp fiiles),這些文件與與普通的數(shù)據(jù)據(jù)文件非常相相似,但它們們還具有如下下的特性:臨時(shí)數(shù)據(jù)文件的的狀態(tài)不能置置

48、為只讀。不能將臨時(shí)數(shù)據(jù)據(jù)文件重新命命名。臨時(shí)數(shù)據(jù)文件總總是置為NOOLOGGIING狀態(tài)。不能使用ALTTER DAATABASSE命令創(chuàng)建建臨時(shí)數(shù)據(jù)文文件。以只讀方式運(yùn)行行的數(shù)據(jù)庫(kù)需需要臨時(shí)數(shù)據(jù)據(jù)文件。介質(zhì)恢復(fù)是不能能恢復(fù)臨時(shí)數(shù)數(shù)據(jù)文件的。另外,為了優(yōu)化化某一臨時(shí)表表空間中排序序的效率,應(yīng)應(yīng)該將UNIIFORM SIZE設(shè)設(shè)為SORTT_AREAA_SIZEE(PGA中中排序區(qū)的大大?。﹨?shù)的的整數(shù)倍。默認(rèn)臨時(shí)表空間間默認(rèn)臨時(shí)表空間間是在Oraacle9ii開(kāi)始引入的的。如果在創(chuàng)創(chuàng)建一個(gè)數(shù)據(jù)據(jù)庫(kù)時(shí)沒(méi)有設(shè)設(shè)定默認(rèn)臨時(shí)時(shí)表空間,那那么任何一個(gè)個(gè)用戶如果在在創(chuàng)建他時(shí)沒(méi)沒(méi)有使用TEEMPORAARY

49、 TABLEESPACEE子句,他就就將使用SYYSTEM表表空間作為排排序區(qū)。這將將使SYSTTEM表空間間碎片化,從從而使數(shù)據(jù)庫(kù)庫(kù)系統(tǒng)的效率率下降。如果果在創(chuàng)建一個(gè)個(gè)數(shù)據(jù)庫(kù)時(shí)沒(méi)沒(méi)有設(shè)定默認(rèn)認(rèn)臨時(shí)表空間間,Oraccle服務(wù)器器將把SYSSTEM表空空間是默認(rèn)臨臨時(shí)表空間的的報(bào)警信息寫(xiě)寫(xiě)入報(bào)警文件件。因此說(shuō)明一個(gè)數(shù)數(shù)據(jù)庫(kù)范圍的的默認(rèn)臨時(shí)表表空間可以消消除使用系統(tǒng)統(tǒng)(SYSTTEM)表空空間對(duì)臨時(shí)數(shù)數(shù)據(jù)進(jìn)行排序序的現(xiàn)象,從從而提高數(shù)據(jù)據(jù)庫(kù)系統(tǒng)的效效率。默認(rèn)臨臨時(shí)表空間即即可以在創(chuàng)建建數(shù)據(jù)庫(kù)時(shí)一一起創(chuàng)建,也也可以在數(shù)據(jù)據(jù)庫(kù)創(chuàng)建之后后建立。在創(chuàng)建數(shù)據(jù)庫(kù)的的同時(shí)創(chuàng)建默默認(rèn)臨時(shí)表空空間要使用CCREA

50、TEE DATAABASE命命令,在數(shù)據(jù)據(jù)庫(kù)創(chuàng)建之后后改變默認(rèn)臨臨時(shí)表空間要要使用ALTTER DAATABASSE命令。在數(shù)據(jù)據(jù)庫(kù)創(chuàng)建期間間建立默認(rèn)臨臨時(shí)表空間的的方法在以后后的章節(jié)中介介紹。首先可以利用數(shù)數(shù)據(jù)字典DAATABASSE_PROOPERTIIES使用如如例6-277的查詢語(yǔ)句句來(lái)得到當(dāng)前前的默認(rèn)臨時(shí)時(shí)表空間。為為了使顯示清清晰,您應(yīng)該該首先使用如如例6-244,例6-225,和例66-26的SSQL*Pllus格式化化命令。例6-24SQL COOL PROOPERTYY_NAMEE FOR A25例6-25SQL COOL PROOPERTYY_VALUUE FORR A16

51、例6-26SQL COOL DESSCRIPTTION FFOR A338例6-27SQL SEELECT * 2 FRROM DAATABASSE_PROOPERTIIES WHERE PROPEERTY_NNAME LLIKE DEFAUULT%;PROPERTTY_NAMME PPROPERRTY_VAALUE DESCCRIPTIION- - -DEFAULTT_TEMPP_TABLLESPACCE TTEMP Namee of ddefaullt temmporarry tabblespaace 例6-27的查查詢語(yǔ)句顯示示結(jié)果表明:表空間TEEMP為當(dāng)前前的默認(rèn)臨時(shí)時(shí)表空間。隨著潘

52、金蓮蓮項(xiàng)目的不斷斷進(jìn)展,有關(guān)關(guān)該項(xiàng)目的數(shù)數(shù)據(jù)處理也變變得越來(lái)越頻頻繁,為了提提高該項(xiàng)目的的數(shù)據(jù)處理的的速度,您決決定將jinliaan_temmp臨時(shí)表空空間設(shè)為默認(rèn)認(rèn)臨時(shí)表空間間。于是您發(fā)發(fā)出了如例66-28命令令。例6-28SQL ALLTER DDATABAASE 2 DEEFAULTT TEMPPORARYY TABLLESPACCE jinnlian_temp;數(shù)據(jù)庫(kù)已更改。接下來(lái)您可以使使用如例6-29的SQQL查詢語(yǔ)句句來(lái)驗(yàn)證現(xiàn)在在的默認(rèn)臨時(shí)時(shí)表空間是否否為jinliaan_temmp。例6-29SQL SEELECT * 2 FRROM DAATABASSE_PROOPERTI

53、IES 3 WHHERE PPROPERRTY_NAAME LIIKE DDEFAULLT%;PROPERTTY_NAMME PPROPERRTY_VAALUE DESCCRIPTIION- - -DEFAULTT_TEMPP_TABLLESPACCE JJINLIAAN_TEMMP Namee of ddefaullt temmporarry tabblespaace 當(dāng)不再處理金蓮蓮項(xiàng)目數(shù)據(jù)時(shí)時(shí),請(qǐng)別忘了了將默認(rèn)臨時(shí)時(shí)表空間再改改回為T(mén)EMMP表空間。此此時(shí)您應(yīng)該使使用如例6-30的命令令。例6-30SQL ALLTER DDATABAASE 2 DEEFAULTT TEMPPORARYY

54、 TABLLESPACCE temmp;數(shù)據(jù)庫(kù)已更改。最后您還是應(yīng)該該使用如例66-31的SSQL查詢語(yǔ)語(yǔ)句來(lái)驗(yàn)證一一下現(xiàn)在的默默認(rèn)臨時(shí)表空空間是否為ttemp。例6-31SQL SEELECT * 2 FRROM DAATABASSE_PROOPERTIIES 3 WHHERE PPROPERRTY_NAAME LIIKE DDEFAULLT%;PROPERTTY_NAMME PPROPERRTY_VAALUE DESCCRIPTIION- - -DEFAULTT_TEMPP_TABLLESPACCE TTEMP Namee of ddefaullt temmporarry tabblesp

55、aace 在結(jié)束這一節(jié)之之前,最后介介紹一下在默默認(rèn)臨時(shí)表空空間上的一些些限制。首先先默認(rèn)臨時(shí)表表空間不能被被刪除,除非非有一個(gè)新的的可以使用的的默認(rèn)臨時(shí)表表空間。也就就是必須先使使用ALTEER DATTABASEE將一新的臨臨時(shí)表空間設(shè)設(shè)置為默認(rèn)臨臨時(shí)表空間,之之后才能刪除除舊的(默認(rèn)認(rèn))臨時(shí)表空空間。使用舊舊的(默認(rèn))臨臨時(shí)表空間的的用戶被自動(dòng)動(dòng)地賦予新的的默認(rèn)臨時(shí)表表空間。因?yàn)槟J(rèn)臨時(shí)表表空間必須是是臨時(shí)(TEEMPORAARY)表空空間或者是系系統(tǒng)(SYSSTEM)表表空間,所以以不能將默認(rèn)認(rèn)臨時(shí)表空間間改為一個(gè)永永久表空間。也也不能將默認(rèn)認(rèn)臨時(shí)表空間間設(shè)置為脫機(jī)機(jī)。(在接下下來(lái)的幾

56、節(jié)中中我們將介紹紹這些操作。)設(shè)置表空間為脫脫機(jī) 一個(gè)表空間的正正常狀態(tài)是聯(lián)聯(lián)機(jī)(Onlline)狀狀態(tài),此時(shí)數(shù)數(shù)據(jù)庫(kù)用戶可可以訪問(wèn)該表表空間中的數(shù)數(shù)據(jù)。然而,有時(shí)數(shù)據(jù)庫(kù)管理員需要將某一表空間設(shè)置為脫機(jī)狀態(tài),以進(jìn)行數(shù)據(jù)庫(kù)的維護(hù)。其維護(hù)工作包括:在數(shù)據(jù)庫(kù)處在打打開(kāi)狀態(tài)下移移動(dòng)數(shù)據(jù)文件件在數(shù)據(jù)庫(kù)處在打打開(kāi)狀態(tài)下恢恢復(fù)一個(gè)表空空間或一個(gè)數(shù)數(shù)據(jù)文件執(zhí)行對(duì)表空間的的脫機(jī)備份(雖雖然對(duì)表空間間可以進(jìn)行聯(lián)聯(lián)機(jī)備份)使數(shù)據(jù)庫(kù)的一部部分不可以被被訪問(wèn),而其其它的部分可可以被正常地地訪問(wèn)當(dāng)一個(gè)表空間被被設(shè)置為脫機(jī)機(jī)狀態(tài)時(shí),該該表空間上的的數(shù)據(jù)是不可可以訪問(wèn)。如如果用戶試圖圖訪問(wèn)該表空空間上的數(shù)據(jù)據(jù)就會(huì)收到出出錯(cuò)信

57、息。當(dāng)一個(gè)表空間被被設(shè)置為脫機(jī)機(jī)狀態(tài)時(shí)或重重新被設(shè)置為為聯(lián)機(jī)狀態(tài)時(shí)時(shí),Oraccle會(huì)把這這一事件記錄錄在數(shù)據(jù)字典典和控制文件件中,也會(huì)記記錄在報(bào)警文文件中。如果果當(dāng)數(shù)據(jù)庫(kù)被被關(guān)閉時(shí),某某一表空間為為脫機(jī)狀態(tài),那那么當(dāng)數(shù)據(jù)庫(kù)庫(kù)被加載(MMOUNT)和和重新打開(kāi)時(shí)時(shí)該表空間仍仍保持為脫機(jī)機(jī)狀態(tài)。并不是所有的表表空間都可以以被設(shè)置為脫脫機(jī)狀態(tài),以以下的表空間間不能被設(shè)置置為脫機(jī)狀態(tài)態(tài):系統(tǒng)(SYSTTEM)表空空間上面有活動(dòng)的還還原/回滾段的表表空間默認(rèn)臨時(shí)表空間間假設(shè)JINLIIAN數(shù)據(jù)表表空間出了些些問(wèn)題,需要要對(duì)它進(jìn)行維維護(hù)。于是要要將它的狀態(tài)態(tài)設(shè)為脫機(jī)。但但為了慎重起起見(jiàn)您先使用用了如例6

58、-32和例66-34的SSQL查詢語(yǔ)語(yǔ)句以獲取該該表空間和它它對(duì)應(yīng)的數(shù)據(jù)據(jù)文件現(xiàn)在的的狀態(tài)。例6-32SQL seelect tableespacee_namee, staatus, conteents 2 frrom dbba_tabblespaaces 3 whhere ttablesspace_name LIKE JIN%;TABLESPPACE_NNAME SSTATUSS CCONTENNTS - - -JINLIANN OONLINEE PPERMANNENTJINLIANN_INDEEX OONLINEE PPERMANNENTJINLIANN_TEMPP OONLINEE TT

59、EMPORRARYJINLIANN_UNDOO OONLINEE UUNDO 例6-33SQL cool namme forr a55例6-34SQL SEELECT file#, namme, sttatus 2 FRROM v$dataffile 3 WHHERE ffile# = 8; FIILE# NNAME STATUUS - - - 8 DD:ORAACLEOORADATTAORAACLE9IIUSERRS01.DDBF ONLINNE 9 JJ:DISSK2MOOONJIINLIANN01.DBBF ONLINNE 10 JJ:DISSK4MOOONJIINLIANN02.DBB

60、F ONLINNE 11 JJ:DISSK6MOOONJIINLIANN_INDEEX.DBFF ONLINNE 12 JJ:DISSK7MOOONJIINLIANN_UNDOO.DBF ONLINNE 從例6-32和和例6-344的查詢結(jié)果果顯示可以看看出:表空間間JINLIIAN以及與與它相對(duì)應(yīng)的的兩個(gè)數(shù)據(jù)文文件J:DDISK2MOONJINLIIAN01.DBF和J:DIISK4MMOONJJINLIAAN02.DDBF都處在在聯(lián)機(jī)狀態(tài)。此此時(shí)您就可以以使用如例66-25的命命令將表空間間JINLIIAN置為脫脫機(jī)狀態(tài)。例6-25SQL ALLTER TTABLESSPACE jinli

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論