版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第九講第九講 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)本章學(xué)習(xí)目標(biāo)本章學(xué)習(xí)目標(biāo) Oracle對(duì)邏輯存儲(chǔ)結(jié)構(gòu)和物理存儲(chǔ)結(jié)構(gòu)對(duì)邏輯存儲(chǔ)結(jié)構(gòu)和物理存儲(chǔ)結(jié)構(gòu)的管理是分別進(jìn)行的,的管理是分別進(jìn)行的,Oracle的邏輯存的邏輯存儲(chǔ)結(jié)構(gòu)能夠適用于不同的操作系統(tǒng)平臺(tái)儲(chǔ)結(jié)構(gòu)能夠適用于不同的操作系統(tǒng)平臺(tái)和硬件平臺(tái)。本章介紹和硬件平臺(tái)。本章介紹Oracle數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),即表空間、擴(kuò)展區(qū)、段和數(shù)邏輯結(jié)構(gòu),即表空間、擴(kuò)展區(qū)、段和數(shù)據(jù)塊的概念及管理方法。據(jù)塊的概念及管理方法。學(xué)習(xí)內(nèi)容學(xué)習(xí)內(nèi)容n9.1 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)概述數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)概述n9.2 數(shù)據(jù)塊數(shù)據(jù)塊n9.3 擴(kuò)展區(qū)擴(kuò)展區(qū)n9.4 段段n9.5 表空間及其管理表空
2、間及其管理9.1 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)概述數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)概述n9.1.1 邏輯結(jié)構(gòu)邏輯結(jié)構(gòu)n9.1.2 邏輯結(jié)構(gòu)與物理結(jié)構(gòu)的對(duì)應(yīng)關(guān)系邏輯結(jié)構(gòu)與物理結(jié)構(gòu)的對(duì)應(yīng)關(guān)系表空間表空間數(shù)據(jù)塊數(shù)據(jù)塊擴(kuò)展區(qū)擴(kuò)展區(qū)段段數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)數(shù)據(jù)文件數(shù)據(jù)文件數(shù)據(jù)存儲(chǔ)單位數(shù)據(jù)存儲(chǔ)單位n數(shù)據(jù)塊數(shù)據(jù)塊 最小的邏輯存儲(chǔ)單位,最小的邏輯存儲(chǔ)單位,由多個(gè)操作系統(tǒng)由多個(gè)操作系統(tǒng)塊組成塊組成n擴(kuò)展區(qū)擴(kuò)展區(qū) 一組一組連續(xù)的連續(xù)的數(shù)據(jù)塊數(shù)據(jù)塊n段段 有共同結(jié)構(gòu)的一個(gè)或幾個(gè)擴(kuò)展區(qū),數(shù)據(jù)有共同結(jié)構(gòu)的一個(gè)或幾個(gè)擴(kuò)展區(qū),數(shù)據(jù)對(duì)象對(duì)象(Table, Index, 等等)以以 段的形式存在段的形式存在n表空間表空間 邏輯上用來(lái)保存各種段,物理上由多個(gè)邏輯上用來(lái)
3、保存各種段,物理上由多個(gè)操作系統(tǒng)文件組成。操作系統(tǒng)文件組成。n文件文件 屬于某個(gè)表空間的物理文件屬于某個(gè)表空間的物理文件邏輯結(jié)構(gòu)與物理結(jié)構(gòu)的對(duì)應(yīng)關(guān)系邏輯結(jié)構(gòu)與物理結(jié)構(gòu)的對(duì)應(yīng)關(guān)系表空間表空間段段擴(kuò)展區(qū)擴(kuò)展區(qū)數(shù)據(jù)塊數(shù)據(jù)塊數(shù)據(jù)文件數(shù)據(jù)文件操作系統(tǒng)塊操作系統(tǒng)塊數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)n從物理上看,一個(gè)數(shù)據(jù)庫(kù)是由一到多個(gè)數(shù)據(jù)從物理上看,一個(gè)數(shù)據(jù)庫(kù)是由一到多個(gè)數(shù)據(jù)文件(文件(data file)組成;一個(gè)數(shù)據(jù)文件是由一)組成;一個(gè)數(shù)據(jù)文件是由一到多個(gè)操作系統(tǒng)塊(到多個(gè)操作系統(tǒng)塊(os block)組成。)組成。n從邏輯和物理存儲(chǔ)結(jié)構(gòu)的聯(lián)系來(lái)看,一個(gè)表從邏輯和物理存儲(chǔ)結(jié)構(gòu)的聯(lián)系來(lái)看,一個(gè)表空間是由多個(gè)數(shù)據(jù)文件組成,一個(gè)
4、數(shù)據(jù)文件空間是由多個(gè)數(shù)據(jù)文件組成,一個(gè)數(shù)據(jù)文件是由多個(gè)擴(kuò)展區(qū)組成,一個(gè)數(shù)據(jù)庫(kù)塊是由多是由多個(gè)擴(kuò)展區(qū)組成,一個(gè)數(shù)據(jù)庫(kù)塊是由多個(gè)操作系統(tǒng)塊組成。個(gè)操作系統(tǒng)塊組成。n一個(gè)數(shù)據(jù)庫(kù)塊是一個(gè)數(shù)據(jù)庫(kù)塊是Oracle最小的邏輯存儲(chǔ)單位,最小的邏輯存儲(chǔ)單位,一個(gè)操作系統(tǒng)塊是進(jìn)行一個(gè)操作系統(tǒng)塊是進(jìn)行I/O的最小單位。的最小單位。9.2 數(shù)據(jù)塊數(shù)據(jù)塊n9.2.1 數(shù)據(jù)塊的概念與結(jié)構(gòu)數(shù)據(jù)塊的概念與結(jié)構(gòu)n9.2.2 塊空間的使用及存儲(chǔ)參數(shù)塊空間的使用及存儲(chǔ)參數(shù)n9.2.3 行鏈接和行遷移行鏈接和行遷移行數(shù)據(jù)行數(shù)據(jù)空閑空間空閑空間塊管理數(shù)據(jù)塊管理數(shù)據(jù)9.2.1 數(shù)據(jù)塊的概念與結(jié)構(gòu)數(shù)據(jù)塊的概念與結(jié)構(gòu)數(shù)據(jù)塊數(shù)據(jù)塊(BLOCK
5、)塊頭塊頭包含一般的塊信息,如塊的包含一般的塊信息,如塊的地址,所屬段的類型等地址,所屬段的類型等表目錄表目錄包含數(shù)據(jù)區(qū)每行數(shù)據(jù)的包含數(shù)據(jù)區(qū)每行數(shù)據(jù)的地址地址行目錄行目錄包含塊中存儲(chǔ)數(shù)據(jù)所屬包含塊中存儲(chǔ)數(shù)據(jù)所屬表的信息表的信息塊管理數(shù)據(jù)的結(jié)構(gòu)塊管理數(shù)據(jù)的結(jié)構(gòu)數(shù)據(jù)塊概念小結(jié)數(shù)據(jù)塊概念小結(jié)n數(shù)據(jù)塊為數(shù)據(jù)塊為Oracle分配、讀或?qū)懙淖钚〉拇鎯?chǔ)單分配、讀或?qū)懙淖钚〉拇鎯?chǔ)單元元,又稱邏輯塊或,又稱邏輯塊或ORACLE塊。塊。n一個(gè)數(shù)據(jù)塊對(duì)應(yīng)一個(gè)或多個(gè)從現(xiàn)有數(shù)據(jù)文件一個(gè)數(shù)據(jù)塊對(duì)應(yīng)一個(gè)或多個(gè)從現(xiàn)有數(shù)據(jù)文件中分配的操作系統(tǒng)塊,每個(gè)中分配的操作系統(tǒng)塊,每個(gè)Oracle數(shù)據(jù)庫(kù)的數(shù)數(shù)據(jù)庫(kù)的數(shù)據(jù)塊大小由初始化參數(shù)據(jù)
6、塊大小由初始化參數(shù)db_block_size在創(chuàng)建在創(chuàng)建數(shù)據(jù)庫(kù)時(shí)指定。數(shù)據(jù)庫(kù)時(shí)指定。n數(shù)據(jù)塊的大小應(yīng)該是操作系統(tǒng)塊的整數(shù)倍,數(shù)據(jù)塊的大小應(yīng)該是操作系統(tǒng)塊的整數(shù)倍,數(shù)據(jù)塊大小的最大值取決于操作系統(tǒng)數(shù)據(jù)塊大小的最大值取決于操作系統(tǒng)9.2.2 塊空間的使用及存儲(chǔ)參數(shù)塊空間的使用及存儲(chǔ)參數(shù)行數(shù)據(jù)行數(shù)據(jù)PCTFREE = 20%PCTUSED = 40%空閑空間空閑空間空閑空間空閑空間塊空間的使用塊空間的使用1234PCTFREE PCTFREE參數(shù)給出保留空間的最小百參數(shù)給出保留空間的最小百分比,分比,用于行的用于行的UPDATE操作操作。在遭遇在遭遇到到PCTFREE后,這塊被填滿且不能進(jìn)后,這塊被
7、填滿且不能進(jìn)行行INSERT操作。操作。PCTFREE 的影響的影響PCTFREE 低低高高1、可把塊填、可把塊填 得較滿得較滿2、易引起行遷移、易引起行遷移1、剩下多的空間給以后修改用、剩下多的空間給以后修改用2、需更多的塊存數(shù)據(jù)、需更多的塊存數(shù)據(jù)3、易引起行鏈和重組數(shù)據(jù)的代價(jià)、易引起行鏈和重組數(shù)據(jù)的代價(jià)PCTUSED 當(dāng)塊當(dāng)塊中數(shù)據(jù)加上頭和目錄數(shù)據(jù)中數(shù)據(jù)加上頭和目錄數(shù)據(jù)的百分比的百分比小于小于PCTUSED時(shí),可時(shí),可以插入數(shù)據(jù)以插入數(shù)據(jù)。數(shù)據(jù)塊數(shù)據(jù)塊(Block)(Block)的存儲(chǔ)參數(shù)的存儲(chǔ)參數(shù)默認(rèn)值:默認(rèn)值:Pctfree 10 Pctfree, Pctused互相消漲互相消漲, 其
8、和不超過(guò)其和不超過(guò)100Pctused 40Inittrans 1或或 2 單一塊中最初活動(dòng)的事務(wù)數(shù)單一塊中最初活動(dòng)的事務(wù)數(shù)Maxtrans 255 單一塊中最大事務(wù)數(shù)單一塊中最大事務(wù)數(shù)常見的幾種分配方案:常見的幾種分配方案:大量大量Update操作操作Pcrfree 20Pctused 40大量大量Insert, Select, 少量少量UpdatePctfree 5Pctused 60體積大的表體積大的表, Select較多較多Pctfree 5Pctused 90僅僅用于查詢的僅僅用于查詢的 Pctfree 09.2.3 行鏈接和行遷移行鏈接和行遷移n行鏈接發(fā)生于插入時(shí)行鏈接發(fā)生于插入時(shí)
9、 行太長(zhǎng),數(shù)據(jù)塊放不下,該行數(shù)據(jù)存放行太長(zhǎng),數(shù)據(jù)塊放不下,該行數(shù)據(jù)存放在該段的多個(gè)數(shù)據(jù)塊中在該段的多個(gè)數(shù)據(jù)塊中n行遷移發(fā)生于修改時(shí)行遷移發(fā)生于修改時(shí) 修改后行變長(zhǎng),空閑空間不夠,該行數(shù)修改后行變長(zhǎng),空閑空間不夠,該行數(shù)據(jù)被整個(gè)遷移到另一個(gè)數(shù)據(jù)塊中。據(jù)被整個(gè)遷移到另一個(gè)數(shù)據(jù)塊中。行遷移行遷移9. 3 擴(kuò)展區(qū)擴(kuò)展區(qū)n9.3.1 擴(kuò)展區(qū)的概念擴(kuò)展區(qū)的概念n9.3.2 擴(kuò)展區(qū)的分配和釋放擴(kuò)展區(qū)的分配和釋放n9.3.3 擴(kuò)展區(qū)的參數(shù)設(shè)置擴(kuò)展區(qū)的參數(shù)設(shè)置9.3.1 擴(kuò)展區(qū)的概念擴(kuò)展區(qū)的概念n一個(gè)區(qū)是一組連續(xù)的一個(gè)區(qū)是一組連續(xù)的Oracle塊。塊。nOracle按區(qū)向段分配空間,當(dāng)段創(chuàng)建后,按區(qū)向段分配空間
10、,當(dāng)段創(chuàng)建后,它至少由一個(gè)區(qū)組成。它至少由一個(gè)區(qū)組成。區(qū)是區(qū)是Oracle存儲(chǔ)存儲(chǔ)分配的最小單位。分配的最小單位。n一個(gè)區(qū)不能跨越數(shù)據(jù)文件,一個(gè)區(qū)不能跨越數(shù)據(jù)文件,一個(gè)區(qū)只能一個(gè)區(qū)只能惟一地屬于一個(gè)數(shù)據(jù)文件惟一地屬于一個(gè)數(shù)據(jù)文件。9.3.2 擴(kuò)展區(qū)的分配和釋放擴(kuò)展區(qū)的分配和釋放n下述情況下向段分配擴(kuò)展區(qū)下述情況下向段分配擴(kuò)展區(qū)n段創(chuàng)建時(shí)段創(chuàng)建時(shí) n擴(kuò)展時(shí)擴(kuò)展時(shí)n下述情況下從段釋放擴(kuò)展區(qū)下述情況下從段釋放擴(kuò)展區(qū) + 刪除對(duì)象時(shí)刪除對(duì)象時(shí) (Drop)+ 清空數(shù)據(jù)時(shí)(清空數(shù)據(jù)時(shí)(Truncated)+ 自動(dòng)改變大小時(shí)自動(dòng)改變大小時(shí) (僅對(duì)回滾段)僅對(duì)回滾段)9.3.3 擴(kuò)展區(qū)的參數(shù)設(shè)置擴(kuò)展區(qū)的參數(shù)
11、設(shè)置Extent有關(guān)的參數(shù)有關(guān)的參數(shù)initial 最初分配的空間最初分配的空間next 下一步分配的空間數(shù)下一步分配的空間數(shù)maxextents 段生成時(shí)最大分配段生成時(shí)最大分配extent數(shù)數(shù)Minextents 段生成時(shí)最小分配段生成時(shí)最小分配extent數(shù)數(shù)pctincrease 增長(zhǎng)率增長(zhǎng)率optimal 盡量設(shè)小盡量設(shè)小 (缺省為空,僅用缺省為空,僅用回滾段回滾段)表空間、表、索引、分區(qū)、快照、快照日表空間、表、索引、分區(qū)、快照、快照日志志 的存儲(chǔ)參數(shù)的存儲(chǔ)參數(shù) 默認(rèn)值默認(rèn)值 最小值最小值Initial 5個(gè)數(shù)據(jù)塊個(gè)數(shù)據(jù)塊 2個(gè)數(shù)據(jù)塊個(gè)數(shù)據(jù)塊Next 5個(gè)數(shù)據(jù)塊個(gè)數(shù)據(jù)塊 1個(gè)數(shù)據(jù)塊
12、個(gè)數(shù)據(jù)塊Minextents 1 1Maxextents根據(jù)數(shù)據(jù)塊大小而定根據(jù)數(shù)據(jù)塊大小而定 1Pctincrease 50 0推薦使用:大小一致的推薦使用:大小一致的, 增長(zhǎng)率較低存儲(chǔ)分配增長(zhǎng)率較低存儲(chǔ)分配initial = next表空間的表空間的 pctincrease 1其它數(shù)據(jù)對(duì)象其它數(shù)據(jù)對(duì)象pctincrease 0n對(duì)象級(jí)的存儲(chǔ)參數(shù)設(shè)置值覆蓋表空間級(jí)對(duì)象級(jí)的存儲(chǔ)參數(shù)設(shè)置值覆蓋表空間級(jí)的設(shè)置的設(shè)置n未在對(duì)象級(jí)設(shè)置存儲(chǔ)參數(shù),由表空間級(jí)未在對(duì)象級(jí)設(shè)置存儲(chǔ)參數(shù),由表空間級(jí)的設(shè)置決定的設(shè)置決定n未在表空間級(jí)設(shè)置存儲(chǔ)參數(shù),由未在表空間級(jí)設(shè)置存儲(chǔ)參數(shù),由Oracle數(shù)據(jù)庫(kù)級(jí)參數(shù)設(shè)置決定數(shù)據(jù)庫(kù)級(jí)
13、參數(shù)設(shè)置決定n存儲(chǔ)參數(shù)改變后,新的選項(xiàng)只針對(duì)未分存儲(chǔ)參數(shù)改變后,新的選項(xiàng)只針對(duì)未分配的配的extents有效。有效。存儲(chǔ)參數(shù)的設(shè)定規(guī)則存儲(chǔ)參數(shù)的設(shè)定規(guī)則9. 4 段段n9.4.1 段的概念段的概念n9.4.2 段的分類段的分類n9.4.3 查詢段信息查詢段信息9.4.1 段的概念段的概念n段是為表空間內(nèi)特定邏輯存儲(chǔ)結(jié)構(gòu)分配段是為表空間內(nèi)特定邏輯存儲(chǔ)結(jié)構(gòu)分配的空間。例如分配給表的所有存儲(chǔ)空間的空間。例如分配給表的所有存儲(chǔ)空間是一個(gè)段。是一個(gè)段。 n段無(wú)法跨越表空間,但是段可以跨越屬段無(wú)法跨越表空間,但是段可以跨越屬于一個(gè)表空間的多個(gè)數(shù)據(jù)文件。于一個(gè)表空間的多個(gè)數(shù)據(jù)文件。n每個(gè)段由一個(gè)或多個(gè)區(qū)組成
14、。每個(gè)段由一個(gè)或多個(gè)區(qū)組成。 nDBA_SEGMENTS中保存段的有關(guān)信息中保存段的有關(guān)信息9.4.2 段的分類段的分類n數(shù)據(jù)段數(shù)據(jù)段 一個(gè)數(shù)據(jù)段可存放一個(gè)未經(jīng)分區(qū)的表或聚簇,一個(gè)數(shù)據(jù)段可存放一個(gè)未經(jīng)分區(qū)的表或聚簇,也可以存放表的一個(gè)分區(qū)。也可以存放表的一個(gè)分區(qū)。n索引段索引段 保存索引中的索引條目保存索引中的索引條目n臨時(shí)段臨時(shí)段 存放排序操作中生成的臨時(shí)表的數(shù)據(jù)存放排序操作中生成的臨時(shí)表的數(shù)據(jù)n回滾段回滾段 存放事務(wù)所修改數(shù)據(jù)的舊值,當(dāng)進(jìn)行回退操存放事務(wù)所修改數(shù)據(jù)的舊值,當(dāng)進(jìn)行回退操作或?qū)嵗r(shí)使用。作或?qū)嵗r(shí)使用。9.4.3 查詢段信息查詢段信息DBA_SEGMENTS一般信息一般
15、信息 OWNERSEGMENT_NAME SEGMENT_TYPE TABLESPACE_NAME 大小大小 EXTENTS BLOCKS 存儲(chǔ)參數(shù)存儲(chǔ)參數(shù) INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE獲得已用子段的信息獲得已用子段的信息DBA_EXTENTS標(biāo)識(shí)信息標(biāo)識(shí)信息 OWNER SEGMENT_NAME EXTENT_ID 位置和大小位置和大小 TABLESPACE_NAME FILE_ID BLOCK_ID(該區(qū)的第一個(gè)塊的塊號(hào))該區(qū)的第一個(gè)塊的塊號(hào)) BLOCKS 檢查空閑子段的信息檢查空閑子段的信
16、息DBA_FREE_SPACE位置和大小位置和大小 TABLESPACE_NAME FILE_ID BLOCK_ID(該文件自由段的第一個(gè)塊號(hào))該文件自由段的第一個(gè)塊號(hào)) BLOCKS (該自由段占用的塊數(shù)該自由段占用的塊數(shù)) 9. 5 表空間及其管理表空間及其管理n9.5.1 表空間的概念表空間的概念n9.5.2 表空間分類表空間分類n9.5.3 表空間的存儲(chǔ)管理方式表空間的存儲(chǔ)管理方式n9.5.4 表空間管理表空間管理9.5.1 表空間的概念表空間的概念n從邏輯上看,數(shù)據(jù)庫(kù)中的數(shù)據(jù)存儲(chǔ)在表從邏輯上看,數(shù)據(jù)庫(kù)中的數(shù)據(jù)存儲(chǔ)在表空間中,而從物理上看,則是存儲(chǔ)在與空間中,而從物理上看,則是存儲(chǔ)在與
17、表空間對(duì)應(yīng)的數(shù)據(jù)文件中。表空間對(duì)應(yīng)的數(shù)據(jù)文件中。n在一個(gè)表空間中可以有多個(gè)同它有關(guān)聯(lián)在一個(gè)表空間中可以有多個(gè)同它有關(guān)聯(lián)的數(shù)據(jù)文件,但一個(gè)數(shù)據(jù)文件只能屬于的數(shù)據(jù)文件,但一個(gè)數(shù)據(jù)文件只能屬于一個(gè)表空間,一個(gè)表空間,表空間的大小是它所對(duì)應(yīng)表空間的大小是它所對(duì)應(yīng)的數(shù)據(jù)文件大小的總和的數(shù)據(jù)文件大小的總和。9.5.2 表空間分類表空間分類n系統(tǒng)表空間系統(tǒng)表空間 在創(chuàng)建數(shù)據(jù)庫(kù)時(shí),在創(chuàng)建數(shù)據(jù)庫(kù)時(shí),Oracle將會(huì)創(chuàng)建將會(huì)創(chuàng)建SYSTEM表空間。所有數(shù)據(jù)詞典對(duì)象都表空間。所有數(shù)據(jù)詞典對(duì)象都存儲(chǔ)在這一表空間中。一般不放用戶的存儲(chǔ)在這一表空間中。一般不放用戶的數(shù)據(jù),但是用戶腳本,如過(guò)程,函數(shù),數(shù)據(jù),但是用戶腳本,如
18、過(guò)程,函數(shù),包等卻是保存在數(shù)據(jù)字典中的。包等卻是保存在數(shù)據(jù)字典中的。n非系統(tǒng)表空間非系統(tǒng)表空間 (1) 臨時(shí)表空間:存放用戶的排序等臨臨時(shí)表空間:存放用戶的排序等臨時(shí)時(shí) 數(shù)據(jù),臨時(shí)段占有的空間會(huì)在下次數(shù)據(jù),臨時(shí)段占有的空間會(huì)在下次系統(tǒng)啟動(dòng)的時(shí)候全部被釋放系統(tǒng)啟動(dòng)的時(shí)候全部被釋放 (2) 回滾段表空間:回滾段表空間:臨時(shí)存放修改前的臨時(shí)存放修改前的數(shù)據(jù)數(shù)據(jù) (3) 用戶表空間:用戶表空間:一般是由用戶建立,一般是由用戶建立,來(lái)存取用戶數(shù)據(jù)(包括索引)的表空間來(lái)存取用戶數(shù)據(jù)(包括索引)的表空間 。 多個(gè)表空間的優(yōu)勢(shì)多個(gè)表空間的優(yōu)勢(shì)n將數(shù)據(jù)字典與用戶數(shù)據(jù)分離開來(lái),避免將數(shù)據(jù)字典與用戶數(shù)據(jù)分離開來(lái),避
19、免由于字典對(duì)象和用戶對(duì)象保存在同一個(gè)由于字典對(duì)象和用戶對(duì)象保存在同一個(gè)數(shù)據(jù)文件中而產(chǎn)生的數(shù)據(jù)文件中而產(chǎn)生的I/O沖突。沖突。n將回退數(shù)據(jù)與用戶數(shù)據(jù)分離開來(lái),避免將回退數(shù)據(jù)與用戶數(shù)據(jù)分離開來(lái),避免由于硬盤損壞而導(dǎo)致永久性的數(shù)據(jù)丟失。由于硬盤損壞而導(dǎo)致永久性的數(shù)據(jù)丟失。n將表空間的數(shù)據(jù)文件分散保存到不同的將表空間的數(shù)據(jù)文件分散保存到不同的硬盤上,平均分布物理硬盤上,平均分布物理I/O操作。操作。n能夠?qū)⒛硞€(gè)表空間設(shè)置為脫機(jī)狀態(tài)或聯(lián)能夠?qū)⒛硞€(gè)表空間設(shè)置為脫機(jī)狀態(tài)或聯(lián)機(jī)狀態(tài),以便對(duì)數(shù)據(jù)庫(kù)的一部分進(jìn)行備機(jī)狀態(tài),以便對(duì)數(shù)據(jù)庫(kù)的一部分進(jìn)行備份和恢復(fù)。份和恢復(fù)。n能夠?qū)⒛硞€(gè)表空間設(shè)置為只讀狀態(tài),從能夠?qū)⒛硞€(gè)表
20、空間設(shè)置為只讀狀態(tài),從而將數(shù)據(jù)庫(kù)的一部分設(shè)置為只讀狀態(tài)。而將數(shù)據(jù)庫(kù)的一部分設(shè)置為只讀狀態(tài)。n 能夠?yàn)槟撤N特殊用途專門設(shè)置一個(gè)表空能夠?yàn)槟撤N特殊用途專門設(shè)置一個(gè)表空間,比如臨時(shí)表空間等,以優(yōu)化表空間間,比如臨時(shí)表空間等,以優(yōu)化表空間的使用效率。的使用效率。n 能夠更加靈活地為用戶設(shè)置表空間限額能夠更加靈活地為用戶設(shè)置表空間限額9.5.3 表空間的存儲(chǔ)管理方式表空間的存儲(chǔ)管理方式n字典管理方式字典管理方式 表空間的擴(kuò)展區(qū)管理信息保存在表空間的擴(kuò)展區(qū)管理信息保存在system表空間的數(shù)據(jù)字典中,稱為表空間的數(shù)據(jù)字典中,稱為“字典管理字典管理方式方式”。n本地管理方式本地管理方式 在本地管理的表空間中
21、,在本地管理的表空間中,每個(gè)數(shù)據(jù)文件每個(gè)數(shù)據(jù)文件內(nèi)都維護(hù)一個(gè)位圖,以了解該數(shù)據(jù)文件內(nèi)都維護(hù)一個(gè)位圖,以了解該數(shù)據(jù)文件內(nèi)塊的空閑或使用狀態(tài),內(nèi)塊的空閑或使用狀態(tài),被稱為被稱為“本地本地管理方式管理方式”。9.5.4 表空間管理表空間管理n9.5.4.1 創(chuàng)建表空間創(chuàng)建表空間n9.5.4.2 修改表空間修改表空間n9.5.4.3 刪除表空間刪除表空間n9.5.4.4 表空間及數(shù)據(jù)文件信息查詢表空間及數(shù)據(jù)文件信息查詢n9.5.4.5 注意問(wèn)題注意問(wèn)題9.5.4.1 創(chuàng)建表空間創(chuàng)建表空間n創(chuàng)建字典管理表空間創(chuàng)建字典管理表空間n創(chuàng)建本地管理表空間創(chuàng)建本地管理表空間n創(chuàng)建臨時(shí)表空間創(chuàng)建臨時(shí)表空間創(chuàng)建字典管
22、理表空間創(chuàng)建字典管理表空間 CREATE TABLESPACE testspace DATAFILE f:orcltestspace1.dbf SIZE 100M , f:orcltestspace2.dbf SIZE 100M DEFAULT STORAGE (INITIAL 128K NEXT 128KMINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0)EXTENT MANAGEMENT DICTIONARY;創(chuàng)建本地管理表空間創(chuàng)建本地管理表空間n不能指定不能指定create tablespace的的default storage和和minimu
23、m extent子句。子句。n所有段的初始區(qū)和后續(xù)區(qū)可以具有統(tǒng)一的大小所有段的初始區(qū)和后續(xù)區(qū)可以具有統(tǒng)一的大小(UNIFORM),也可以由),也可以由Oracle來(lái)自動(dòng)決定后來(lái)自動(dòng)決定后續(xù)區(qū)的大小和增加方式(續(xù)區(qū)的大小和增加方式(AUTOALLOCATE)。)。創(chuàng)建臨時(shí)表空間創(chuàng)建臨時(shí)表空間 如果沒有為數(shù)據(jù)庫(kù)用戶指定一個(gè)專門的臨時(shí)如果沒有為數(shù)據(jù)庫(kù)用戶指定一個(gè)專門的臨時(shí)表空間,這些臨時(shí)數(shù)據(jù)在默認(rèn)情況下將存儲(chǔ)表空間,這些臨時(shí)數(shù)據(jù)在默認(rèn)情況下將存儲(chǔ)在在system表空間中,這樣做的結(jié)果是會(huì)占用表空間中,這樣做的結(jié)果是會(huì)占用system表空間的存儲(chǔ)空間,并且頻繁地分配和表空間的存儲(chǔ)空間,并且頻繁地分配和
24、釋放臨時(shí)段會(huì)在釋放臨時(shí)段會(huì)在system表空間中產(chǎn)生大量的存表空間中產(chǎn)生大量的存儲(chǔ)碎片,從而影響整個(gè)數(shù)據(jù)庫(kù)的性能。為了儲(chǔ)碎片,從而影響整個(gè)數(shù)據(jù)庫(kù)的性能。為了避免在避免在system表空間內(nèi)存儲(chǔ)臨時(shí)數(shù)據(jù),表空間內(nèi)存儲(chǔ)臨時(shí)數(shù)據(jù),DBA應(yīng)當(dāng)在數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)專門用來(lái)存儲(chǔ)臨時(shí)應(yīng)當(dāng)在數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)專門用來(lái)存儲(chǔ)臨時(shí)數(shù)據(jù)的臨時(shí)表空間,數(shù)據(jù)的臨時(shí)表空間,n創(chuàng)建字典管理的臨時(shí)表空間創(chuàng)建字典管理的臨時(shí)表空間 create tablespace temp datafile f:orcltemp01.dbf size 300M default storage (initial 2M next 2M pctincre
25、ase 0 maxextents unlimited) extent management dictionary temporary; n創(chuàng)建本地管理的臨時(shí)表空間創(chuàng)建本地管理的臨時(shí)表空間 create temporary tablespace temp tempfile f:orcltemp_01.dbf size 500M extent management local uniform size 10M;9.5.4.2 修改表空間修改表空間n改變表空間存儲(chǔ)設(shè)置改變表空間存儲(chǔ)設(shè)置n改變表空間狀態(tài)改變表空間狀態(tài)n改變表空間尺寸改變表空間尺寸n重定位數(shù)據(jù)文件重定位數(shù)據(jù)文件改變表空間存儲(chǔ)設(shè)置改變表空
26、間存儲(chǔ)設(shè)置n使用命令使用命令alter tablespace命令來(lái)改變表空間的命令來(lái)改變表空間的缺省存儲(chǔ)定義缺省存儲(chǔ)定義 Alter TABLESPACE tablespace minimum extent integer k|m | default storage_clause 例例1:將表空間中區(qū)的最小尺寸定義為將表空間中區(qū)的最小尺寸定義為2M alter tablespace app_data minimum extent 2m;例例2:將表空間的缺省存儲(chǔ)參數(shù)定義為第一將表空間的缺省存儲(chǔ)參數(shù)定義為第一個(gè)區(qū)大小個(gè)區(qū)大小2M,第二個(gè)區(qū)大小,第二個(gè)區(qū)大小2M,每個(gè),每個(gè)段最多分配段最多分配99
27、9個(gè)區(qū)個(gè)區(qū) alter tablespace app_data default storage( initial 2m next 2m maxextents 999);改變表空間狀態(tài)改變表空間狀態(tài) n使表空間脫機(jī)或聯(lián)機(jī)使表空間脫機(jī)或聯(lián)機(jī) 通過(guò)將某一表空間置于脫機(jī)或聯(lián)機(jī)狀態(tài),可通過(guò)將某一表空間置于脫機(jī)或聯(lián)機(jī)狀態(tài),可以控制它的可用性。以控制它的可用性。當(dāng)表空間處于聯(lián)機(jī)狀態(tài)當(dāng)表空間處于聯(lián)機(jī)狀態(tài)時(shí),用戶可以訪問(wèn)其中的數(shù)據(jù)。當(dāng)某一表空時(shí),用戶可以訪問(wèn)其中的數(shù)據(jù)。當(dāng)某一表空間間處于脫機(jī)狀態(tài)時(shí),用戶無(wú)法訪問(wèn)它的數(shù)據(jù),處于脫機(jī)狀態(tài)時(shí),用戶無(wú)法訪問(wèn)它的數(shù)據(jù),但允許正常訪問(wèn)數(shù)據(jù)庫(kù)的其余處于聯(lián)機(jī)的表但允許正常訪問(wèn)數(shù)
28、據(jù)庫(kù)的其余處于聯(lián)機(jī)的表空間??臻g。某些表空間如某些表空間如system和具有活動(dòng)回退段和具有活動(dòng)回退段的表空間必須聯(lián)機(jī)的表空間必須聯(lián)機(jī)。 alter tablespace user_data online; alter tablespace app_data offline; n使表空間只讀使表空間只讀 如果不想讓用戶修改表空間中的任何數(shù)如果不想讓用戶修改表空間中的任何數(shù)據(jù),可以將表空間設(shè)置為只讀。據(jù),可以將表空間設(shè)置為只讀。system表空間不能設(shè)置為只讀表空間不能設(shè)置為只讀。 alter tablespace user read_only; alter tablespace app_dat
29、a read write ;改變表空間的尺寸改變表空間的尺寸n什么時(shí)候需要改變表空間的尺寸?什么時(shí)候需要改變表空間的尺寸? 當(dāng)數(shù)據(jù)占滿表空間時(shí),不能向表空間再添加當(dāng)數(shù)據(jù)占滿表空間時(shí),不能向表空間再添加新的數(shù)據(jù)新的數(shù)據(jù)n如何知道表空間已經(jīng)滿了呢?如何知道表空間已經(jīng)滿了呢? 例如我們正對(duì)課程表例如我們正對(duì)課程表course進(jìn)行插入數(shù)據(jù)的操進(jìn)行插入數(shù)據(jù)的操作,此時(shí)出現(xiàn)了作,此時(shí)出現(xiàn)了“ora-0165:unable to extend table course in tablespace app_data”,這時(shí)我,這時(shí)我們就知道表空間已經(jīng)滿了。們就知道表空間已經(jīng)滿了。擴(kuò)大表空間方案一擴(kuò)大表空間方案
30、一n添加數(shù)據(jù)文件添加數(shù)據(jù)文件 alter tablespace student_data add datafile f:orclstudent2.dbf size 1000M;擴(kuò)大表空間方案二擴(kuò)大表空間方案二n指定數(shù)據(jù)文件自動(dòng)擴(kuò)展指定數(shù)據(jù)文件自動(dòng)擴(kuò)展 當(dāng)激活了數(shù)據(jù)文件的自動(dòng)擴(kuò)展選項(xiàng)之后,當(dāng)激活了數(shù)據(jù)文件的自動(dòng)擴(kuò)展選項(xiàng)之后,如果數(shù)據(jù)庫(kù)數(shù)據(jù)占滿了數(shù)據(jù)文件所有空如果數(shù)據(jù)庫(kù)數(shù)據(jù)占滿了數(shù)據(jù)文件所有空間,系統(tǒng)會(huì)自動(dòng)擴(kuò)展該數(shù)據(jù)文件。間,系統(tǒng)會(huì)自動(dòng)擴(kuò)展該數(shù)據(jù)文件。 例:以下命令創(chuàng)建了表空間例:以下命令創(chuàng)建了表空間student_data,當(dāng)當(dāng)數(shù)據(jù)占滿了數(shù)據(jù)占滿了student3.dbf文件之后,系統(tǒng)會(huì)自動(dòng)擴(kuò)文
31、件之后,系統(tǒng)會(huì)自動(dòng)擴(kuò)展該數(shù)據(jù)文件,并且該數(shù)據(jù)文件每次擴(kuò)展的尺寸展該數(shù)據(jù)文件,并且該數(shù)據(jù)文件每次擴(kuò)展的尺寸為為50MB,并且其最大尺寸沒有限制。,并且其最大尺寸沒有限制。 create tablespace student_data datafile f:orclstudent3.dbf size 200M autoextend on next 50M maxsize unlimited default storage(initial 100m next 100m minextents 1 maxextents unlimited pctincrease 0); 擴(kuò)大表空間方案三擴(kuò)大表空間方案三
32、n手動(dòng)調(diào)整數(shù)據(jù)文件大小手動(dòng)調(diào)整數(shù)據(jù)文件大小 使用使用alter database命令能夠手動(dòng)調(diào)整數(shù)據(jù)文命令能夠手動(dòng)調(diào)整數(shù)據(jù)文件的大小,其語(yǔ)法如下:件的大小,其語(yǔ)法如下: alter database databasename datafile filename. resize integer K|M 例:例: alter database datafile f:orclstudent2.dbf resize 200M;重定位數(shù)據(jù)文件重定位數(shù)據(jù)文件n使用使用ALTER TABLESPACE(1)使表空間脫機(jī))使表空間脫機(jī) ALTER TABLESPACE app_data OFFLINE;(2
33、2)在操作系統(tǒng)下移動(dòng)數(shù)據(jù)文件)在操作系統(tǒng)下移動(dòng)數(shù)據(jù)文件(3 3)使用命令,修改控制文件中的信息)使用命令,修改控制文件中的信息 ALTER TABLESPACE app_data RENAME DATAFILEf:orclapp_data_01.dbf TOd:orclapp_data_01.dbf;(4 4)使表空間聯(lián)機(jī))使表空間聯(lián)機(jī) ALTER TABLESPACE app_data ONLINE;n使用使用ALTER DATABASE(1)關(guān)閉數(shù)據(jù)庫(kù))關(guān)閉數(shù)據(jù)庫(kù)(2)在操作系統(tǒng)下移動(dòng)數(shù)據(jù)文件)在操作系統(tǒng)下移動(dòng)數(shù)據(jù)文件(3)裝載數(shù)據(jù)()裝載數(shù)據(jù)(STARTUP MOUNT)(4)使用命令,
34、修改控制文件中的信息)使用命令,修改控制文件中的信息 ALTER DATABASE RENAME FILE f:orclsystem_01.dbf TO d:orclsystem_01.dbf;(5)打開數(shù)據(jù)庫(kù)()打開數(shù)據(jù)庫(kù)(ALTER DATABASE OPEN)9.5.4.3 刪除表空間刪除表空間 當(dāng)表空間損壞無(wú)法恢復(fù)時(shí),或者當(dāng)表空間不再當(dāng)表空間損壞無(wú)法恢復(fù)時(shí),或者當(dāng)表空間不再需要時(shí),需要時(shí),可以使用可以使用drop tablespace命令將表空命令將表空間從數(shù)據(jù)庫(kù)中刪除。間從數(shù)據(jù)庫(kù)中刪除。 表空間中沒有任何對(duì)象時(shí)表空間中沒有任何對(duì)象時(shí) DROP TABLESPACE tablespac
35、e_name;表空間中已經(jīng)創(chuàng)建了對(duì)象時(shí)表空間中已經(jīng)創(chuàng)建了對(duì)象時(shí) DROP TABLESPACE tablespace_name INCLUDING CONTENTS;9.5.4.4 表空間及數(shù)據(jù)文件信息查詢表空間及數(shù)據(jù)文件信息查詢n表空間信息表空間信息nDBA_TABLESPACESnV$TABLESPACEn數(shù)據(jù)文件信息數(shù)據(jù)文件信息nDBA_DATA_FILESnV$DATAFILEn臨時(shí)文件信息臨時(shí)文件信息nDBA_TEMP_FILESnV$TEMPFILE數(shù)據(jù)字典視圖數(shù)據(jù)字典視圖表空間表空間DBA_TABLESPACES段段DBA_SEGMENTS數(shù)據(jù)文件數(shù)據(jù)文件DBA_DATA_FIL
36、ES空閑空間空閑空間DBA_FREE_SPACE已用的空間已用的空間DBA_EXTENTSn當(dāng)創(chuàng)建一個(gè)有一個(gè)或多個(gè)文件的表空間時(shí),當(dāng)創(chuàng)建一個(gè)有一個(gè)或多個(gè)文件的表空間時(shí),向向dba_tablespaces添加一行添加一行n對(duì)數(shù)據(jù)庫(kù)中的每個(gè)文件,都向?qū)?shù)據(jù)庫(kù)中的每個(gè)文件,都向dba_data_files添加一行添加一行n在這個(gè)階段,每個(gè)數(shù)據(jù)文件的空間(除了文在這個(gè)階段,每個(gè)數(shù)據(jù)文件的空間(除了文件頭)在件頭)在dba_free_space中均顯示為一個(gè)空閑中均顯示為一個(gè)空閑區(qū)區(qū)n在創(chuàng)建一個(gè)段后,在創(chuàng)建一個(gè)段后,dba_segments內(nèi)將看到一內(nèi)將看到一行行n分配給該段的區(qū)的空間可從分配給該段的區(qū)
37、的空間可從dba_extents查看,查看,同時(shí)調(diào)整同時(shí)調(diào)整dba_free_space以顯示為段創(chuàng)建的區(qū)以顯示為段創(chuàng)建的區(qū)所在文件內(nèi)的空閑空間變低了所在文件內(nèi)的空閑空間變低了n文件內(nèi)的所有空間(除了文件頭)必須在文件內(nèi)的所有空間(除了文件頭)必須在dba_free_space或或dba_extents中說(shuō)明。中說(shuō)明。數(shù)據(jù)文件查詢數(shù)據(jù)文件查詢n查詢數(shù)據(jù)文件列表,包括數(shù)據(jù)文件的狀態(tài),查詢數(shù)據(jù)文件列表,包括數(shù)據(jù)文件的狀態(tài),存儲(chǔ)容量和名稱存儲(chǔ)容量和名稱 SQL select status, bytes, name from v$datafilen查看數(shù)據(jù)文件所屬的表空間、字節(jié)數(shù)、是否查看數(shù)據(jù)文件所屬
38、的表空間、字節(jié)數(shù)、是否可擴(kuò)展、數(shù)據(jù)文件名稱可擴(kuò)展、數(shù)據(jù)文件名稱 SQL select tablespace_name, bytes, autoextensible, file_name from dba_data_files; 表空間查詢表空間查詢n顯示表空間名稱顯示表空間名稱SQL select * from v$tablespace;n查詢表空間默認(rèn)存儲(chǔ)參數(shù)查詢表空間默認(rèn)存儲(chǔ)參數(shù) SQLselect tablespace_name,block_size,initial_extent,next_extent from dba_tablespaces; n獲得分配給用戶獲得分配給用戶SCOTT
39、的各個(gè)段的區(qū)和塊的數(shù)的各個(gè)段的區(qū)和塊的數(shù)目目 SQL select segment_name, extents, blocks from dba_segments where owner= SCOTT;n查詢分配給用戶查詢分配給用戶HR的區(qū)所屬的段類型、段所的區(qū)所屬的段類型、段所屬的表空間名稱、段所屬的文件號(hào)、區(qū)的大屬的表空間名稱、段所屬的文件號(hào)、區(qū)的大小小SQL select segment_type, tablespace_name, file_id, bytes from dba_extents where owner=HR;存儲(chǔ)結(jié)構(gòu)查詢存儲(chǔ)結(jié)構(gòu)查詢n查詢查詢SCOTT用戶的用戶的EMP段所占用區(qū)的區(qū)號(hào)、段所占用區(qū)的區(qū)號(hào)、區(qū)所屬的文件號(hào)、該區(qū)第一個(gè)塊的塊號(hào)、該區(qū)所屬的文件號(hào)、該區(qū)第一個(gè)塊的塊號(hào)、該區(qū)共占用的塊數(shù)區(qū)共占用的塊數(shù)SQL select extent_id,file_id,block_id,blocks from dba_extents where owner=SCOTT and segment_name=EMP;n查詢查詢emp表用了多少空間表用了多少空間SQL select count(*) extents, sum(bytes
溫馨提示
- 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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版智能家居安防系統(tǒng)試用合同3篇
- 二零二五版辦公家具租賃與辦公空間智能化改造合同2篇
- 二零二五年度國(guó)際商務(wù)考察合同范本3篇
- 二零二五年度金融機(jī)構(gòu)貸款合同風(fēng)險(xiǎn)評(píng)估與管理指南3篇
- 二零二五年度某零售商與第三方支付平臺(tái)就支付服務(wù)合作合同2篇
- 敬老院二零二五年度土地承包及社區(qū)服務(wù)一體化合同3篇
- 二零二五年船舶通信設(shè)備維護(hù)船員聘用合同3篇
- 二零二五年智慧交通項(xiàng)目合作開發(fā)合同范本3篇
- 二零二五年度搬家搬運(yùn)服務(wù)合同范本2篇
- 二零二五版導(dǎo)游人員旅游活動(dòng)組織聘用合同3篇
- 深圳2024-2025學(xué)年度四年級(jí)第一學(xué)期期末數(shù)學(xué)試題
- 中考語(yǔ)文復(fù)習(xí)說(shuō)話要得體
- 《工商業(yè)儲(chǔ)能柜技術(shù)規(guī)范》
- 華中師范大學(xué)教育技術(shù)學(xué)碩士研究生培養(yǎng)方案
- 醫(yī)院醫(yī)學(xué)倫理委員會(huì)章程
- 初中班主任案例分析4篇
- 公司7s管理組織實(shí)施方案
- Q∕GDW 12147-2021 電網(wǎng)智能業(yè)務(wù)終端接入規(guī)范
- 仁愛英語(yǔ)單詞默寫本(全六冊(cè))英譯漢
- 公園廣場(chǎng)綠地文化設(shè)施維修改造工程施工部署及進(jìn)度計(jì)劃
- 塑料件缺陷匯總
評(píng)論
0/150
提交評(píng)論