《邏輯存儲結(jié)構(gòu)》ppt課件_第1頁
《邏輯存儲結(jié)構(gòu)》ppt課件_第2頁
《邏輯存儲結(jié)構(gòu)》ppt課件_第3頁
《邏輯存儲結(jié)構(gòu)》ppt課件_第4頁
《邏輯存儲結(jié)構(gòu)》ppt課件_第5頁
已閱讀5頁,還剩59頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、邏輯存儲構(gòu)造邏輯存儲構(gòu)造本章內(nèi)容本章內(nèi)容pOracle的邏輯存儲構(gòu)造p表空間p數(shù)據(jù)塊p區(qū)p段本章要求本章要求p掌握Oracle數(shù)據(jù)庫邏輯構(gòu)造組成p掌握表空間的作用及其管理p掌握擴(kuò)展區(qū)的構(gòu)造及其管理p掌握段的作用及其管理邏輯存儲構(gòu)造概述邏輯存儲構(gòu)造概述p邏輯構(gòu)造單元類型p數(shù)據(jù)塊:BLOCK p區(qū):EXTENTp段:SEGMENTp表空間:TABLESPACEp 數(shù)據(jù)庫的存儲層次p數(shù)據(jù)庫邏輯存儲單元之間的關(guān)系DatabaseLogicalPhysicalTablespaceData fileOS blockOracle blockSegmentExtent 數(shù)據(jù)庫的存儲層次數(shù)據(jù)庫的存儲層次表空間表

2、空間數(shù)據(jù)段數(shù)據(jù)段 區(qū)間區(qū)間數(shù)據(jù)塊數(shù)據(jù)塊段片段片數(shù)據(jù)庫邏輯存儲單元之間的關(guān)系數(shù)據(jù)庫邏輯存儲單元之間的關(guān)系表空間表空間p表空間概述p表空間的管理表空間概述表空間概述p表空間概念p是Oracle數(shù)據(jù)庫的一個(gè)主要邏輯組織構(gòu)造,Oracle數(shù)據(jù)庫在邏輯上可以劃分為一系列的邏輯空間,每一個(gè)邏輯空間就可以稱為一個(gè)表空間。p一個(gè)數(shù)據(jù)庫由有一個(gè)或多個(gè)表空間構(gòu)成,不同表空間用于存放不同運(yùn)用的數(shù)據(jù),表空間大小決議了數(shù)據(jù)庫的大小。一個(gè)表空間對應(yīng)一個(gè)或多個(gè)數(shù)據(jù)文件,數(shù)據(jù)文件大小決議了表空間的大小。一個(gè)數(shù)據(jù)文件只能從屬于一個(gè)表空間。p表空間是存儲方式對象的容器,一個(gè)數(shù)據(jù)庫對象只能存儲在一個(gè)表空間中分區(qū)表和分區(qū)索引除外,但

3、可以存儲在該表空間所對應(yīng)的一個(gè)或多個(gè)數(shù)據(jù)文件中。假設(shè)表空間只需一個(gè)數(shù)據(jù)文件,那么該表空間中一切對象都保管在該文件中;假設(shè)表空間對應(yīng)多個(gè)數(shù)據(jù)文件,那么表空間中的對象可以分布于不同的數(shù)據(jù)文件中。p數(shù)據(jù)庫、表空間、數(shù)據(jù)文件、數(shù)據(jù)庫對象之間的關(guān)系 數(shù)據(jù)庫 表空間1 數(shù)據(jù)文件1 數(shù)據(jù)庫對象1 數(shù)據(jù)文件2 數(shù)據(jù)庫對象3 數(shù)據(jù)庫對象2 表空間2 數(shù)據(jù)文件3 數(shù)據(jù)庫對象4 數(shù)據(jù)文件4 數(shù)據(jù)庫對象5 數(shù)據(jù)庫對象6 表空間的作用表空間的作用邏輯存放數(shù)據(jù)庫中的數(shù)據(jù)??刂瓶臻g分配、指定用戶可用的空間份額;經(jīng)過將表空間聯(lián)機(jī)或脫機(jī)來控制數(shù)據(jù)的可用執(zhí)行部分備份和部分恢復(fù)功能;當(dāng)實(shí)體增大或創(chuàng)建時(shí),給其分配表空間,表空間的分配

4、方式是以區(qū)的方式分配的。表空間的分類表空間的分類nSYSTEM SYSTEM 表空間表空間n每個(gè)每個(gè)OracleOracle數(shù)據(jù)庫必需具有一個(gè)默許系統(tǒng)表空數(shù)據(jù)庫必需具有一個(gè)默許系統(tǒng)表空間,即間,即SYSTEMSYSTEM表空間,該表空間是在創(chuàng)建數(shù)據(jù)表空間,該表空間是在創(chuàng)建數(shù)據(jù)庫時(shí)自動創(chuàng)建的。庫時(shí)自動創(chuàng)建的。nSYSTEMSYSTEM表空間主要用于存儲以下信息表空間主要用于存儲以下信息n數(shù)據(jù)庫的數(shù)據(jù)字典。數(shù)據(jù)庫的數(shù)據(jù)字典。nPL/SQLPL/SQL程序的源代碼和解釋代碼,包括存儲過程序的源代碼和解釋代碼,包括存儲過程、函數(shù)、包、觸發(fā)器等。程、函數(shù)、包、觸發(fā)器等。n數(shù)據(jù)庫對象的定義,如表、視圖、序

5、列、同義數(shù)據(jù)庫對象的定義,如表、視圖、序列、同義詞等。詞等。n開發(fā)者不應(yīng)把方式對象如表等存放在開發(fā)者不應(yīng)把方式對象如表等存放在SYSTEMSYSTEM表空間,以免影響數(shù)據(jù)庫的穩(wěn)定性與執(zhí)表空間,以免影響數(shù)據(jù)庫的穩(wěn)定性與執(zhí)行效率。行效率。表空間的分類表空間的分類n非非SYSTEM SYSTEM 表空間表空間n索引表空間索引表空間INDEXINDEX : :用來單獨(dú)存放索引,用來單獨(dú)存放索引,使得它與其他類型的對象分別。使得它與其他類型的對象分別。n吊銷表空間吊銷表空間 UNDOTBSUNDOTBSn專門進(jìn)展回退信息的自動管理專門進(jìn)展回退信息的自動管理 n暫時(shí)表空間暫時(shí)表空間(TEMP)(TEMP)

6、:n保管保管SQLSQL語句在執(zhí)行過程中所產(chǎn)生的暫時(shí)數(shù)據(jù)語句在執(zhí)行過程中所產(chǎn)生的暫時(shí)數(shù)據(jù)主要是在排序時(shí)產(chǎn)生的暫時(shí)數(shù)據(jù)主要是在排序時(shí)產(chǎn)生的暫時(shí)數(shù)據(jù) n用戶表空間用戶表空間(USERS)(USERS)n保管用戶數(shù)據(jù)保管用戶數(shù)據(jù)表空間的管理方式表空間的管理方式n字典管理方式字典管理方式n在字典管理方式下,表空間運(yùn)用數(shù)據(jù)字典來管理存儲在字典管理方式下,表空間運(yùn)用數(shù)據(jù)字典來管理存儲空間的分配,當(dāng)進(jìn)展區(qū)的分配與回收時(shí),空間的分配,當(dāng)進(jìn)展區(qū)的分配與回收時(shí),OracleOracle將對將對數(shù)據(jù)字典中的相關(guān)根底表進(jìn)展更新,同時(shí)會產(chǎn)生回退數(shù)據(jù)字典中的相關(guān)根底表進(jìn)展更新,同時(shí)會產(chǎn)生回退信息和重做信息信息和重做信息

7、n本地管理方式本地管理方式n在本地管理方式中,區(qū)的分配與管理信息都存儲在表在本地管理方式中,區(qū)的分配與管理信息都存儲在表空間的數(shù)據(jù)文件中,而與數(shù)據(jù)字典無關(guān)。表空間在每空間的數(shù)據(jù)文件中,而與數(shù)據(jù)字典無關(guān)。表空間在每個(gè)數(shù)據(jù)文件中維護(hù)一個(gè)個(gè)數(shù)據(jù)文件中維護(hù)一個(gè)“位圖構(gòu)造,用于記錄表空間位圖構(gòu)造,用于記錄表空間中的一切區(qū)的分配情況,因此區(qū)在分配與回收時(shí),中的一切區(qū)的分配情況,因此區(qū)在分配與回收時(shí),OracleOracle將對數(shù)據(jù)文件中的位圖進(jìn)展更新,不會產(chǎn)生回將對數(shù)據(jù)文件中的位圖進(jìn)展更新,不會產(chǎn)生回退信息或重做信息。退信息或重做信息。 n在在Oracle9iOracle9i數(shù)據(jù)庫中創(chuàng)建表空間時(shí),表空間的

8、默許管數(shù)據(jù)庫中創(chuàng)建表空間時(shí),表空間的默許管理方式為本地管理方式。理方式為本地管理方式。 本地管理方式優(yōu)勢n由于在區(qū)分配與回收過程中不需求對數(shù)據(jù)字典進(jìn)展訪問,提高了由于在區(qū)分配與回收過程中不需求對數(shù)據(jù)字典進(jìn)展訪問,提高了表空間存儲管理操作的速度和并發(fā)性。表空間存儲管理操作的速度和并發(fā)性。n可以防止表空間存儲管理操作中的遞歸景象,提高了存儲空間管可以防止表空間存儲管理操作中的遞歸景象,提高了存儲空間管理操作性能。理操作性能。n由于本地管理的暫時(shí)表空間在運(yùn)用過程中不會產(chǎn)生任何重做信息由于本地管理的暫時(shí)表空間在運(yùn)用過程中不會產(chǎn)生任何重做信息和撤銷信息,因此既使查詢操作中包含排序,對數(shù)據(jù)庫來說也完和撤銷

9、信息,因此既使查詢操作中包含排序,對數(shù)據(jù)庫來說也完全是只讀操作,這樣可以在保管可查詢性同時(shí),將整個(gè)數(shù)據(jù)庫設(shè)全是只讀操作,這樣可以在保管可查詢性同時(shí),將整個(gè)數(shù)據(jù)庫設(shè)置為只讀形狀。這種數(shù)據(jù)庫可以作為備用數(shù)據(jù)庫運(yùn)用。置為只讀形狀。這種數(shù)據(jù)庫可以作為備用數(shù)據(jù)庫運(yùn)用。n簡化了表空間存儲管理,由簡化了表空間存儲管理,由Oracle自動完成存儲管理操作。自動完成存儲管理操作。n降低了用戶對數(shù)據(jù)字典的依賴性。降低了用戶對數(shù)據(jù)字典的依賴性。n不存在磁盤碎片問題,由于必要的信息都存儲在數(shù)據(jù)文件的位圖不存在磁盤碎片問題,由于必要的信息都存儲在數(shù)據(jù)文件的位圖中,而不是保管在數(shù)據(jù)字典中中,而不是保管在數(shù)據(jù)字典中 在Or

10、acle9i數(shù)據(jù)庫中,系統(tǒng)表空間主要用于存儲數(shù)據(jù)字典等Oracle本身對象和數(shù)據(jù),將一切的用戶對象和數(shù)據(jù)保管在其他表空間中,因此需求為數(shù)據(jù)庫創(chuàng)建非系統(tǒng)表空間。運(yùn)用多個(gè)表空間需遵照以下原那么:將數(shù)據(jù)字典與用戶數(shù)據(jù)分別 將回滾數(shù)據(jù)與用戶數(shù)據(jù)分別 將表空間的數(shù)據(jù)文件分散保管到不同的硬盤上 可以將表空間設(shè)置為脫機(jī)形狀或聯(lián)機(jī)形狀將表空間設(shè)置為只讀形狀 可以為某種特殊用途專門設(shè)置一個(gè)表空間 可以更加靈敏的為用戶設(shè)置表空間配額 表空間管理戰(zhàn)略表空間管理戰(zhàn)略表空間的管理本地管理方式表空間的管理本地管理方式p表空間的創(chuàng)建p表空間的修正p表空間的備份p表空間的刪除p表空間信息查詢創(chuàng)建表空間創(chuàng)建表空間 p在創(chuàng)建本地

11、管理方式下的表空間時(shí),首先應(yīng)該確定表空間的稱號、類型、對應(yīng)的數(shù)據(jù)文件的稱號和位置以及區(qū)的分配方式、段的管理方式。p表空間稱號不能超越30個(gè)字符,必需以字母開頭,可以包含字母、數(shù)字以及一些特殊字符如#、_、$等;表空間的類型包括普通表空間、暫時(shí)表空間和撤銷表空間;表空間中區(qū)的分配方式包括自動擴(kuò)展AUTOALLOCATE和定制UNIFORM兩種;段的管理包括自動管理AUTO和手動管理MANUAL兩種。創(chuàng)建永久表空間創(chuàng)建永久表空間 p創(chuàng)建表空間運(yùn)用CREATE TABLESPACE語句來實(shí)現(xiàn),該語句包含以下幾個(gè)子句:pDATAFILE:設(shè)定表空間對應(yīng)的一個(gè)或多個(gè)數(shù)據(jù)文件。pEXTENT MANAGE

12、MENT:指定表空間的管理方式,取值為LOCAL默許或DICTIONARY。pAUTOALLOCATE默許或UNIFORM:設(shè)定區(qū)的分配方式。pSEGMENT SPACE MANAGEMENT:設(shè)定段的管理方式,其取值為MANUAL默許或AUTO。創(chuàng)建表空間例如創(chuàng)建表空間例如p為ORCL數(shù)據(jù)庫創(chuàng)建一個(gè)永久性的表空間,區(qū)自動擴(kuò)展,段采用手動管理方式p CREATE TABLESPACE ORCLTBS1 DATAFILE p D:ORACLEORADATAORCLORCLTBS1_1.DBF p SIZE 50M;p為ORCL數(shù)據(jù)庫創(chuàng)建一個(gè)永久性的表空間,區(qū)定制分配,段采用手動管理方式 p CR

13、EATE TABLESPACE ORCLTBS2 DATAFILE p D:ORACLEORADATAORCLORCLTBS2_1.DBFp SIZE 50M EXTENT MANAGEMENT LOCAL p UNIFORM SIZE 512K創(chuàng)建表空間例如創(chuàng)建表空間例如p為ORCL數(shù)據(jù)庫創(chuàng)建一個(gè)永久性的表空間,區(qū)自動擴(kuò)展,段采用自動管理方式。p CREATE TABLESPACE ORCLTBS3 DATAFILE p D:ORACLEORADATAORCLORCLTBS3_1.DBF SIZE 50M p SEGMENT SPACE MANAGEMENT AUTO;p為ORCL數(shù)據(jù)庫創(chuàng)建

14、一個(gè)永久性的表空間,區(qū)定制分配,段采用自動管理方式。p CREATE TABLESPACE ORCLTBS4 DATAFILEp D:ORACLEORADATAORCLORCLTBS4_1.DBF SIZE 50Mp EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K SEGMENT SPACE MANAGEMENT AUTO;創(chuàng)建暫時(shí)表空間創(chuàng)建暫時(shí)表空間p運(yùn)用CREATE TEMPORARY TABLESPACE 語句創(chuàng)建暫時(shí)表空間,用TEMPFILE子句設(shè)置暫時(shí)數(shù)據(jù)文件。p需求留意的是暫時(shí)表空間中區(qū)的分配方式只能是UNIFORM,而不能是AUTOALLOCA

15、TE,由于這樣才干保證不會在暫時(shí)段中產(chǎn)生過多的存儲碎片。p為ORCL數(shù)據(jù)庫創(chuàng)建一個(gè)暫時(shí)表空間。p CREATE TEMPORARY TABLESPACE ORCLTEMP1 p TEMPFILE D:ORACLEORADATAORCLORCLTEMP1_1.DBF SIZE 20M p EXTENT MANAGEMENT LOCAL UNIFORM SIZE 16M; 創(chuàng)建撤銷表空間創(chuàng)建撤銷表空間p可以運(yùn)用CREATE UNDO TABLESPACE語句創(chuàng)建撤銷表空間,但是在該語句中只能指定DATAFILE和EXTENT MANAGEMENT LOCAL兩個(gè)子句,而不能指定其他子句。p為ORC

16、L數(shù)據(jù)庫創(chuàng)建一個(gè)撤銷表空間。p CREATE UNDO TABLESPACE ORCLUNDO1p DATAFILE D:ORACLEORADATAORCLORCLUNDO1_1.DBF SIZE 20M;p假設(shè)要在數(shù)據(jù)庫運(yùn)用該撤銷表空間,需求設(shè)置參數(shù)UNDO_MANAGEMENT=AUTO和參數(shù)UNDO_TABLESPACE= ORCLUNDO1。修正表空間修正表空間p擴(kuò)展表空間 p為表空間添加數(shù)據(jù)文件p可以經(jīng)過ALTER TABLESPACEADD DATAFILE語句為永久表空間添加數(shù)據(jù)文件,經(jīng)過ALTER TABLESPACEADD TEMPFILE語句為暫時(shí)表空間添加數(shù)據(jù)文件。p為O

17、RCL數(shù)據(jù)庫的ORCLTBS1表空間添加一個(gè)大小為10M的新的數(shù)據(jù)文件。p ALTER TABLESPACE ORCLTBS1 ADD DATAFILE p D:ORACLEORADATAORCLORCLTBS1_2.DBF SIZE 10M;p為ORCL數(shù)據(jù)庫的ORCLTEMP1表空間添加一個(gè)大小為10M的暫時(shí)數(shù)據(jù)文件。p ALTER TABLESPACE ORCLTEMP1 ADD TEMPFILE p D:ORACLEORADATAORCLORCLTEMP1_2.DBF SIZE 10M; p 修正表空間修正表空間n改動數(shù)據(jù)文件的大小改動數(shù)據(jù)文件的大小n可以經(jīng)過改動表空間已有數(shù)據(jù)文件的大

18、小,到達(dá)擴(kuò)展可以經(jīng)過改動表空間已有數(shù)據(jù)文件的大小,到達(dá)擴(kuò)展表空間的目的。表空間的目的。n將將ORCL數(shù)據(jù)庫的數(shù)據(jù)庫的ORCLTBS1表空間的數(shù)據(jù)文件表空間的數(shù)據(jù)文件ORCLTBS1_2.DBF大小添加到大小添加到20M。n ALTER DATABASE DATAFILE n D:ORACLEORADATAORCLORCLTBS1_2.DBF n RESIZE 20M; 修正表空間修正表空間n改動數(shù)據(jù)文件的擴(kuò)展方式改動數(shù)據(jù)文件的擴(kuò)展方式n假設(shè)在創(chuàng)建表空間或?yàn)楸砜臻g添加數(shù)據(jù)文件時(shí)沒有指假設(shè)在創(chuàng)建表空間或?yàn)楸砜臻g添加數(shù)據(jù)文件時(shí)沒有指定定AUTOEXTEND ON選項(xiàng),那么該文件的大小是固選項(xiàng),那么該

19、文件的大小是固定的。假設(shè)為數(shù)據(jù)文件指定了定的。假設(shè)為數(shù)據(jù)文件指定了AUTOEXTEND ON選選項(xiàng),當(dāng)數(shù)據(jù)文件被填滿時(shí),數(shù)據(jù)文件會自動擴(kuò)展,即項(xiàng),當(dāng)數(shù)據(jù)文件被填滿時(shí),數(shù)據(jù)文件會自動擴(kuò)展,即表空間被擴(kuò)展了。表空間被擴(kuò)展了。n將將ORCL數(shù)據(jù)庫的數(shù)據(jù)庫的ORCLTBS1表空間的數(shù)據(jù)文件表空間的數(shù)據(jù)文件ORCLTBS1_2.DBF設(shè)置為自動擴(kuò)展,每次擴(kuò)展設(shè)置為自動擴(kuò)展,每次擴(kuò)展5M空間,文件最大為空間,文件最大為100M。n ALTER DATABASE DATAFILEC:ORACLEORADATAORCLORCLTBS1_2.DBFAUTOEXTEND ON NEXT 5M MAXSIZE 10

20、0M;修正表空間修正表空間p修正表空間可用性p語法pALTER TABLESPACE tablespace_name ONLINE|OFFLINEp離線形狀的表空間是不能進(jìn)展數(shù)據(jù)訪問的p一些表空間必需是在線形狀:pSYSTEM表空間p存放在線回退信息的撤銷表空間p暫時(shí)表空間p修正表空間讀寫性修正表空間讀寫性 p語法語法pALTER TABLESPACE tbs_name READ ONLY|READ WRITEp表空間只需滿足以下要求才可以轉(zhuǎn)換為只讀形狀:表空間只需滿足以下要求才可以轉(zhuǎn)換為只讀形狀:p表空間處于聯(lián)機(jī)形狀;表空間處于聯(lián)機(jī)形狀;p表空間中不能包含任何活動的回退段;表空間中不能包含任

21、何活動的回退段;p假設(shè)表空間正在進(jìn)展聯(lián)機(jī)數(shù)據(jù)庫備份,那么不能將它設(shè)置假設(shè)表空間正在進(jìn)展聯(lián)機(jī)數(shù)據(jù)庫備份,那么不能將它設(shè)置為只讀形狀。由于聯(lián)機(jī)備份終了時(shí),為只讀形狀。由于聯(lián)機(jī)備份終了時(shí),Oracle更新表空間更新表空間數(shù)據(jù)文件的頭部信息。數(shù)據(jù)文件的頭部信息。修正表空間修正表空間設(shè)置默許表空間設(shè)置默許表空間pOracle數(shù)據(jù)庫的默許表空間為System,默許暫時(shí)表空間為Temp??筛鶕?jù)需求設(shè)置數(shù)據(jù)庫的默許表空間p將ORCLTBS1表空間設(shè)置為ORCL數(shù)據(jù)庫默許表空間:p Alter database default tablespace ORCLTBS1 p將TEMP表空間設(shè)置為ORCL數(shù)據(jù)庫的默許

22、暫時(shí)表空間:p Alter database default temporary tablespace TEMP 表空間的備份表空間的備份p語法pALTER TABLESPACE tablespace_name BEGIN|END BACKUPp在數(shù)據(jù)庫進(jìn)展熱備份聯(lián)機(jī)備份時(shí),需求分別對表空間進(jìn)展備份。對表空間進(jìn)展備份根本步驟為:p運(yùn)用ALTER TABLESPACEBEGIN BACKUP語句將表空間設(shè)置為備份方式。p在操作系統(tǒng)中備份表空間所對應(yīng)的數(shù)據(jù)文件。p運(yùn)用ALTER TABLESPACEEND BACKUP語句終了表空間的備份方式。表空間刪除表空間刪除p語法pDROP TABLESPA

23、CE tablespace_namep假設(shè)表空間非空,應(yīng)帶有子句:pINCLUDING CONTENTSp假設(shè)要刪除操作系統(tǒng)下的數(shù)據(jù)文件,應(yīng)帶有子句:AND DATAFILESp例如pDROP TABLESPACE userdata pINCLUDING CONTENTS AND DATAFILES;查詢表空間信息查詢表空間信息p表空間信息:pDBA_TABLESPACESpV$TABLESPACEp數(shù)據(jù)文件信息:pDBA_DATA_FILESpV$DATAFILEp暫時(shí)文件信息:pDBA_TEMP_FILESpV$TEMPFILEp查詢表空間的稱號,區(qū)管理方式,存儲分配方式,類型等根本信息p

24、SELECT TABLESPACE_NAME,EXTENT_MANAGEMENT,ALLOCATON_TYPE,CONTENTS FROM DBA_TABLESPACES;p查詢表空間的數(shù)據(jù)文件信息pSELECT FILE_NAME,BLOCKS,TABLESPACE_NAME FROM DBA_DATA_FILES;p查詢數(shù)據(jù)文件的根本信息pSELECT NAME ,FILE#,RFILE#,STATUS,BYTESp FROM V$DATAFILE;查詢表空間信息查詢表空間信息p詢數(shù)據(jù)文件的自動增長方式pSELECT TABLESPACE_NAME,FILE_NAME,AUTOEXTENS

25、IBLE FROM DBA_DATA_FILES;p查詢暫時(shí)數(shù)據(jù)文件的信息pSELECT TABLESPACE_NAME,FILE_NAME,AUTOEXTENSIBLE FROM DBA_TEMP_FILES;查詢表空間信息查詢表空間信息利用利用OEM管理表空間管理表空間p創(chuàng)建表空間p改動表空間p合并表空間中的存儲碎片 p為表空間添加數(shù)據(jù)文件p更改已有數(shù)據(jù)文件 利用利用OEM管理表空間管理表空間數(shù)據(jù)塊數(shù)據(jù)塊BLOCKp數(shù)據(jù)塊概述p數(shù)據(jù)塊構(gòu)造p數(shù)據(jù)塊的管理數(shù)據(jù)塊概述數(shù)據(jù)塊概述p最小的 I/O單元p包括一個(gè)或者多個(gè)OS BLOCKp在數(shù)據(jù)庫創(chuàng)建時(shí)設(shè)置,不可更改 pDB_BLOCK_SIZE 參數(shù)

26、是缺省值pOracle9i 中分為規(guī)范塊和非規(guī)范塊數(shù)據(jù)庫塊構(gòu)造數(shù)據(jù)庫塊構(gòu)造HeaderFree spaceData包含塊頭部、表目錄行目錄等 Header:包括塊頭部,表目錄,行目錄,事務(wù)條目等塊頭部:塊類型及地址信息:物理地址,段類型表目錄:數(shù)據(jù)塊所存儲的表的相關(guān)信息行目錄:保管表中數(shù)據(jù)(記錄)的相關(guān)信息 Free space:尚未運(yùn)用的存儲空間 Data:曾經(jīng)運(yùn)用的空間,保管數(shù)據(jù)庫對象的數(shù)據(jù) 空閑空間和行空間共同構(gòu)成存儲區(qū)數(shù)據(jù)庫塊構(gòu)造數(shù)據(jù)庫塊構(gòu)造數(shù)據(jù)塊的存儲空間管理數(shù)據(jù)塊的存儲空間管理 p防止發(fā)生行鏈接和行遷移 p當(dāng)向表格中插入數(shù)據(jù)時(shí),假設(shè)行的長度大于塊的大小,行的信息無法存放在一個(gè)塊中,

27、需求運(yùn)用多個(gè)塊存放行信息,稱為行鏈接。p當(dāng)表格數(shù)據(jù)被更新時(shí),假設(shè)更新后的數(shù)據(jù)長度大于塊長度,Oracle將整行的數(shù)據(jù)從原數(shù)據(jù)塊遷移到新的數(shù)據(jù)塊中,只在原數(shù)據(jù)塊中留下一個(gè)指針指向新數(shù)據(jù)塊,稱為行遷移。 p塊管理分為自動和手動兩種表空間的管理方式nPCTFREEnPCTFREE參數(shù)指定塊中必需保管的最小空閑空間比參數(shù)指定塊中必需保管的最小空閑空間比例。當(dāng)數(shù)據(jù)塊的自在空間百分率低于例。當(dāng)數(shù)據(jù)塊的自在空間百分率低于PCTFREE時(shí),時(shí),此數(shù)據(jù)塊被標(biāo)志為此數(shù)據(jù)塊被標(biāo)志為USED,此時(shí)在數(shù)據(jù)塊中只可以進(jìn),此時(shí)在數(shù)據(jù)塊中只可以進(jìn)展更新操作,而不可以進(jìn)展插入操作。該參數(shù)默以為展更新操作,而不可以進(jìn)展插入操作。

28、該參數(shù)默以為10。nPCTUSED nPCTUSED參數(shù)指定可以向塊中插入數(shù)據(jù)時(shí)塊已運(yùn)用參數(shù)指定可以向塊中插入數(shù)據(jù)時(shí)塊已運(yùn)用的最大空間比列。當(dāng)數(shù)據(jù)塊運(yùn)用空間低于的最大空間比列。當(dāng)數(shù)據(jù)塊運(yùn)用空間低于PCTUSED時(shí),此塊標(biāo)志為時(shí),此塊標(biāo)志為FREE,可以對數(shù)據(jù)塊中數(shù)據(jù)進(jìn)展插入,可以對數(shù)據(jù)塊中數(shù)據(jù)進(jìn)展插入操作;反之,假設(shè)運(yùn)用空間高于操作;反之,假設(shè)運(yùn)用空間高于PCTUSED,那么不,那么不可以進(jìn)展插入操作。該參數(shù)默以為可以進(jìn)展插入操作。該參數(shù)默以為10。nINITRANSn可以同時(shí)對此數(shù)據(jù)塊進(jìn)展可以同時(shí)對此數(shù)據(jù)塊進(jìn)展DML操作的事務(wù)的個(gè)數(shù)。操作的事務(wù)的個(gè)數(shù)。nMAXTRANSn可以同時(shí)對此數(shù)據(jù)塊進(jìn)

29、展可以同時(shí)對此數(shù)據(jù)塊進(jìn)展DML操作的最多事務(wù)的個(gè)數(shù)。操作的最多事務(wù)的個(gè)數(shù)。 手動管理塊存儲參數(shù)手動管理塊存儲參數(shù)BLOCK 空間運(yùn)用舉例空間運(yùn)用舉例80%80%40%Inserts1234InsertsPCTFREE=20PCTUSED=40Inserts(off freelist) 運(yùn)用塊空間適用參數(shù)運(yùn)用塊空間適用參數(shù)p1. 為行的增長額外留出空間: p c t f r e ep它通知 O r a c l e在最初用行數(shù)據(jù)填充塊之前,在塊中留出多少可用空間。例如,假設(shè)一個(gè)表的p c t f r e e指定為1 0 %,當(dāng)塊中剩下1 0 %的可用空間時(shí), O r a c l e停頓給該塊添加新

30、行。剩下的空間在用戶設(shè)置 N U L L列為非N U L L值時(shí),供已有的行運(yùn)用。p怎樣設(shè)置p c t f r e e:p假設(shè)添加到一個(gè)表的行需求經(jīng)常更新,每次更新都會給行添加許多字節(jié),那么設(shè)置 p c t f r e e為一個(gè)較高的值。反之,假設(shè)塊中的行不常更新,或者更新不影響每個(gè)行的尺寸,那么應(yīng)該設(shè)置數(shù)據(jù)庫對象上的 p c t f r e e值為較低的值。設(shè)置 p c t f r e e較高能阻止性能“殺手,如行遷移 (由于原來的塊再也沒有空間存儲而將整個(gè)行移到另一個(gè)塊 )。p較高的p c t f r e e值大約在2 0到2 5之間,而較低的pctfree值大約為4或5,可用于靜態(tài)或只讀

31、表。pp c t f r e e子句是在數(shù)據(jù)庫對象級給出運(yùn)用塊空間適用參數(shù)運(yùn)用塊空間適用參數(shù)p2. 對塊中可用空間進(jìn)展管理: p c t u s e dppctused選項(xiàng)指定一個(gè)以百分?jǐn)?shù)表示的閾值, Oracle根據(jù)它判別能否可以給塊添加新行。p如:在表中參與新行的過程中, Oracle用插入的行填充相應(yīng)的塊,直到到達(dá)pctfree所設(shè)置的邊境為止。以后,由于從表中刪除了數(shù)據(jù),表在塊級的空間利用率就下降了。當(dāng)數(shù)據(jù)塊中所運(yùn)用的空間下降到低于 pctused所設(shè)置的閾值時(shí), Oracl e將這個(gè)塊添加到為表維護(hù)的可用列表( freelist )中??捎昧斜硎钱?dāng)前可接納新數(shù)據(jù)行的數(shù)據(jù)塊的列表。為了

32、防止塊在只可以添加一兩行時(shí)就進(jìn)入可用列表,應(yīng)該相對低地設(shè)置p c t u s e d選項(xiàng)。p提示 除非需求嚴(yán)厲地管理可用空間,否那么不要設(shè)置pctused的值超越40或50。設(shè)置設(shè)置p c t f r e e和和p c t u s e d詳細(xì)值詳細(xì)值p這兩個(gè)選項(xiàng)的值是在建立數(shù)據(jù)庫對象時(shí)配合設(shè)置的,在確定p c t f r e e和p c t u s e d的值時(shí),不要給它們分配合計(jì)超越 1 0 0的值。下面的列表給出了 p c t f r e e和p c t u s e d的一些能夠以為是適宜的值:p? pctfree 5,pctused 40 適宜于靜態(tài)或只讀表,如那些定期裝載用于數(shù)據(jù)倉庫和

33、只進(jìn)展查詢的運(yùn)用程序。p? pctfree 10,pctused 40 特別適宜于在插入行之后,更新活動不會添加已有行的長度的綜合性O(shè) L T P系統(tǒng)。p? pctfree 20,pctused 40 適宜于插入行之后,更新活動會添加已有行的長度的 O L T P系統(tǒng)( 2 0是p c t f r e e的一個(gè)較高的值)。例子例子p4. 設(shè)置p c t f r e e和p c t u s e d:pSQL CREATE TABLE FAMILY p2 ( NAME VARCHAR2(10) primary key,p3 RELATIONSHIP VARCHAR2(10)p4 storage (

34、initial 100K next 100Kp5 pctincrease 0 minextents 1 maxextents 200)p6 PCTFREE 20 PCTUSED 40; 區(qū)區(qū)EXTENTp區(qū)的概念p由一組延續(xù)的數(shù)據(jù)塊構(gòu)成,是存儲分配的最小單位。p區(qū)的管理p區(qū)的分配p在本地管理方式的表空間中,系統(tǒng)可以根據(jù)需求,自動進(jìn)展區(qū)的分配。可以經(jīng)過運(yùn)用UNIFORM選項(xiàng)指定一切段的初始區(qū)和后續(xù)區(qū)具有一致大小,也可以運(yùn)用AUTOALLOCATE選項(xiàng)指定由Oracle自動決議后續(xù)區(qū)大小。用戶不能經(jīng)過其他參數(shù)來干涉區(qū)的分配。 pAUTOALLOCATE默許設(shè)置p EXTENT MANAGEMENT

35、 LOCAL AUTOALLOCATp 由Oracle擔(dān)任對區(qū)的分配進(jìn)展自動管理,表空間中最小 p 的區(qū)為64kBpUNIFORMpEXTENT MANAGEMENT LOCAL UNIFORM SIZE n表空間中一切的區(qū)必需具有一致的大小假設(shè)沒有指定SIZE參數(shù)的值,那么為默許值1MB 區(qū)區(qū)EXTENT段段p段概述 p回退段 段概述段概述p段的概述p段是由一個(gè)或多個(gè)擴(kuò)展區(qū)組成的邏輯存儲單元。 p數(shù)據(jù)庫方式對象在邏輯上是以段來占據(jù)表空間的大小。p段代表特定數(shù)據(jù)類型的數(shù)據(jù)存儲構(gòu)造。p段的類型:p數(shù)據(jù)段p數(shù)據(jù)段用來存儲表或簇的數(shù)據(jù),可以細(xì)分為表數(shù)據(jù)段、索引表數(shù)據(jù)段、分區(qū)表數(shù)據(jù)段及簇?cái)?shù)據(jù)段四種。

36、段的類型:段的類型:n索引段索引段n用來存放索引信息,主要包括存儲用來存放索引信息,主要包括存儲ROWID和索引鍵。和索引鍵。n索引段與其相應(yīng)的表段經(jīng)常會被同時(shí)訪問,為了減少硬盤訪問的沖突,索引段與其相應(yīng)的表段經(jīng)常會被同時(shí)訪問,為了減少硬盤訪問的沖突,索引段與表段可以放四處于不同物理位置的表空間中。索引段與表段可以放四處于不同物理位置的表空間中。n暫時(shí)段暫時(shí)段n當(dāng)用戶進(jìn)展排序查詢時(shí),假設(shè)在指定的內(nèi)存無法完成排序,當(dāng)用戶進(jìn)展排序查詢時(shí),假設(shè)在指定的內(nèi)存無法完成排序,Oracle將自動從用戶默許的暫時(shí)表空間中指派暫時(shí)段進(jìn)展排序。會話終了,將自動從用戶默許的暫時(shí)表空間中指派暫時(shí)段進(jìn)展排序。會話終了,

37、數(shù)據(jù)將從暫時(shí)段中自動刪除。數(shù)據(jù)將從暫時(shí)段中自動刪除。n回退段回退段n用于存放數(shù)據(jù)修正之前的值包括數(shù)據(jù)修正之前的位置和值,利用用于存放數(shù)據(jù)修正之前的值包括數(shù)據(jù)修正之前的位置和值,利用回滾段恢復(fù)被回滾事務(wù)對數(shù)據(jù)庫所做的修正,或者為事務(wù)提供讀一致回滾段恢復(fù)被回滾事務(wù)對數(shù)據(jù)庫所做的修正,或者為事務(wù)提供讀一致性保證。性保證。n一個(gè)事務(wù)只能運(yùn)用一個(gè)回滾段存放它的回滾信息,但一個(gè)回滾段可以一個(gè)事務(wù)只能運(yùn)用一個(gè)回滾段存放它的回滾信息,但一個(gè)回滾段可以存放多個(gè)事務(wù)的回滾信息。存放多個(gè)事務(wù)的回滾信息。TableClusterTable partitionIndex-organizedtableIndex part

38、itionUndosegmentTemporarysegmentIndex回退段回退段p回退段的作用 p回退段的種類p回退段的管理回滾段的任務(wù)方式回滾段的任務(wù)方式p回滾段采用循環(huán)寫的方式進(jìn)展寫入。當(dāng)回滾段中最后一個(gè)區(qū)寫滿時(shí),Oracle將覆蓋寫入回滾段的第一個(gè)區(qū),假設(shè)此時(shí)第一個(gè)區(qū)保管得回滾條目所對應(yīng)的事務(wù)依然處于活動形狀事務(wù)未提交,那么此時(shí)該區(qū)不能被覆蓋,Oracle將為回滾段分配一個(gè)新的區(qū)。p一個(gè)回滾段至少需求兩個(gè)區(qū)。一個(gè)事務(wù)可以占用回滾段中的多個(gè)區(qū),同一個(gè)區(qū)也可以存放多個(gè)事務(wù)的數(shù)據(jù) Update transactionOld imageNew imageUndo segmentTable回滾段的作用回滾段的作用Transaction rollback事務(wù)回滾事務(wù)回滾Transaction recovery事務(wù)恢復(fù)事務(wù)恢復(fù)Undo segmentRead consistency讀一

溫馨提示

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

最新文檔

評論

0/150

提交評論