




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第九講第九講 數(shù)據(jù)庫邏輯結(jié)構(gòu)數(shù)據(jù)庫邏輯結(jié)構(gòu)本章學(xué)習(xí)目標(biāo)本章學(xué)習(xí)目標(biāo) Oracle對邏輯存儲結(jié)構(gòu)和物理存儲結(jié)構(gòu)對邏輯存儲結(jié)構(gòu)和物理存儲結(jié)構(gòu)的管理是分別進(jìn)行的,的管理是分別進(jìn)行的,Oracle的邏輯存的邏輯存儲結(jié)構(gòu)能夠適用于不同的操作系統(tǒng)平臺儲結(jié)構(gòu)能夠適用于不同的操作系統(tǒng)平臺和硬件平臺。本章介紹和硬件平臺。本章介紹Oracle數(shù)據(jù)庫的數(shù)據(jù)庫的邏輯結(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ù)庫邏輯結(jié)構(gòu)概述數(shù)據(jù)庫邏輯結(jié)構(gòu)概述n9.2 數(shù)據(jù)塊數(shù)據(jù)塊n9.3 擴(kuò)展區(qū)擴(kuò)展區(qū)n9.4 段段n9.5 表空間及其管理表空
2、間及其管理9.1 數(shù)據(jù)庫邏輯結(jié)構(gòu)概述數(shù)據(jù)庫邏輯結(jié)構(gòu)概述n9.1.1 邏輯結(jié)構(gòu)邏輯結(jié)構(gòu)n9.1.2 邏輯結(jié)構(gòu)與物理結(jié)構(gòu)的對應(yīng)關(guān)系邏輯結(jié)構(gòu)與物理結(jié)構(gòu)的對應(yīng)關(guān)系表空間表空間數(shù)據(jù)塊數(shù)據(jù)塊擴(kuò)展區(qū)擴(kuò)展區(qū)段段數(shù)據(jù)庫數(shù)據(jù)庫數(shù)據(jù)文件數(shù)據(jù)文件數(shù)據(jù)存儲單位數(shù)據(jù)存儲單位n數(shù)據(jù)塊數(shù)據(jù)塊 最小的邏輯存儲單位,最小的邏輯存儲單位,由多個操作系統(tǒng)由多個操作系統(tǒng)塊組成塊組成n擴(kuò)展區(qū)擴(kuò)展區(qū) 一組一組連續(xù)的連續(xù)的數(shù)據(jù)塊數(shù)據(jù)塊n段段 有共同結(jié)構(gòu)的一個或幾個擴(kuò)展區(qū),數(shù)據(jù)有共同結(jié)構(gòu)的一個或幾個擴(kuò)展區(qū),數(shù)據(jù)對象對象(Table, Index, 等等)以以 段的形式存在段的形式存在n表空間表空間 邏輯上用來保存各種段,物理上由多個邏輯上用來
3、保存各種段,物理上由多個操作系統(tǒng)文件組成。操作系統(tǒng)文件組成。n文件文件 屬于某個表空間的物理文件屬于某個表空間的物理文件邏輯結(jié)構(gòu)與物理結(jié)構(gòu)的對應(yīng)關(guān)系邏輯結(jié)構(gòu)與物理結(jié)構(gòu)的對應(yīng)關(guān)系表空間表空間段段擴(kuò)展區(qū)擴(kuò)展區(qū)數(shù)據(jù)塊數(shù)據(jù)塊數(shù)據(jù)文件數(shù)據(jù)文件操作系統(tǒng)塊操作系統(tǒng)塊數(shù)據(jù)庫數(shù)據(jù)庫n從物理上看,一個數(shù)據(jù)庫是由一到多個數(shù)據(jù)從物理上看,一個數(shù)據(jù)庫是由一到多個數(shù)據(jù)文件(文件(data file)組成;一個數(shù)據(jù)文件是由一)組成;一個數(shù)據(jù)文件是由一到多個操作系統(tǒng)塊(到多個操作系統(tǒng)塊(os block)組成。)組成。n從邏輯和物理存儲結(jié)構(gòu)的聯(lián)系來看,一個表從邏輯和物理存儲結(jié)構(gòu)的聯(lián)系來看,一個表空間是由多個數(shù)據(jù)文件組成,一個
4、數(shù)據(jù)文件空間是由多個數(shù)據(jù)文件組成,一個數(shù)據(jù)文件是由多個擴(kuò)展區(qū)組成,一個數(shù)據(jù)庫塊是由多是由多個擴(kuò)展區(qū)組成,一個數(shù)據(jù)庫塊是由多個操作系統(tǒng)塊組成。個操作系統(tǒng)塊組成。n一個數(shù)據(jù)庫塊是一個數(shù)據(jù)庫塊是Oracle最小的邏輯存儲單位,最小的邏輯存儲單位,一個操作系統(tǒng)塊是進(jìn)行一個操作系統(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 塊空間的使用及存儲參數(shù)塊空間的使用及存儲參數(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ù)的地址地址行目錄行目錄包含塊中存儲數(shù)據(jù)所屬包含塊中存儲數(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ū)懙淖钚〉拇鎯畏峙?、讀或?qū)懙淖钚〉拇鎯卧址Q邏輯塊或,又稱邏輯塊或ORACLE塊。塊。n一個數(shù)據(jù)塊對應(yīng)一個或多個從現(xiàn)有數(shù)據(jù)文件一個數(shù)據(jù)塊對應(yīng)一個或多個從現(xiàn)有數(shù)據(jù)文件中分配的操作系統(tǒng)塊,每個中分配的操作系統(tǒng)塊,每個Oracle數(shù)據(jù)庫的數(shù)數(shù)據(jù)庫的數(shù)據(jù)塊大小由初始化參數(shù)據(jù)
6、塊大小由初始化參數(shù)db_block_size在創(chuàng)建在創(chuàng)建數(shù)據(jù)庫時指定。數(shù)據(jù)庫時指定。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 塊空間的使用及存儲參數(shù)塊空間的使用及存儲參數(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ù)的代價、易引起行鏈和重組數(shù)據(jù)的代價PCTUSED 當(dāng)塊當(dāng)塊中數(shù)據(jù)加上頭和目錄數(shù)據(jù)中數(shù)據(jù)加上頭和目錄數(shù)據(jù)的百分比的百分比小于小于PCTUSED時,可時,可以插入數(shù)據(jù)以插入數(shù)據(jù)。數(shù)據(jù)塊數(shù)據(jù)塊(Block)(Block)的存儲參數(shù)的存儲參數(shù)默認(rèn)值:默認(rèn)值:Pctfree 10 Pctfree, Pctused互相消漲互相消漲, 其
8、和不超過其和不超過100Pctused 40Inittrans 1或或 2 單一塊中最初活動的事務(wù)數(shù)單一塊中最初活動的事務(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ā)生于插入時行鏈接發(fā)生于插入時
9、 行太長,數(shù)據(jù)塊放不下,該行數(shù)據(jù)存放行太長,數(shù)據(jù)塊放不下,該行數(shù)據(jù)存放在該段的多個數(shù)據(jù)塊中在該段的多個數(shù)據(jù)塊中n行遷移發(fā)生于修改時行遷移發(fā)生于修改時 修改后行變長,空閑空間不夠,該行數(shù)修改后行變長,空閑空間不夠,該行數(shù)據(jù)被整個遷移到另一個數(shù)據(jù)塊中。據(jù)被整個遷移到另一個數(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一個區(qū)是一組連續(xù)的一個區(qū)是一組連續(xù)的Oracle塊。塊。nOracle按區(qū)向段分配空間,當(dāng)段創(chuàng)建后,按區(qū)向段分配空間
10、,當(dāng)段創(chuàng)建后,它至少由一個區(qū)組成。它至少由一個區(qū)組成。區(qū)是區(qū)是Oracle存儲存儲分配的最小單位。分配的最小單位。n一個區(qū)不能跨越數(shù)據(jù)文件,一個區(qū)不能跨越數(shù)據(jù)文件,一個區(qū)只能一個區(qū)只能惟一地屬于一個數(shù)據(jù)文件惟一地屬于一個數(shù)據(jù)文件。9.3.2 擴(kuò)展區(qū)的分配和釋放擴(kuò)展區(qū)的分配和釋放n下述情況下向段分配擴(kuò)展區(qū)下述情況下向段分配擴(kuò)展區(qū)n段創(chuàng)建時段創(chuàng)建時 n擴(kuò)展時擴(kuò)展時n下述情況下從段釋放擴(kuò)展區(qū)下述情況下從段釋放擴(kuò)展區(qū) + 刪除對象時刪除對象時 (Drop)+ 清空數(shù)據(jù)時(清空數(shù)據(jù)時(Truncated)+ 自動改變大小時自動改變大小時 (僅對回滾段)僅對回滾段)9.3.3 擴(kuò)展區(qū)的參數(shù)設(shè)置擴(kuò)展區(qū)的參數(shù)
11、設(shè)置Extent有關(guān)的參數(shù)有關(guān)的參數(shù)initial 最初分配的空間最初分配的空間next 下一步分配的空間數(shù)下一步分配的空間數(shù)maxextents 段生成時最大分配段生成時最大分配extent數(shù)數(shù)Minextents 段生成時最小分配段生成時最小分配extent數(shù)數(shù)pctincrease 增長率增長率optimal 盡量設(shè)小盡量設(shè)小 (缺省為空,僅用缺省為空,僅用回滾段回滾段)表空間、表、索引、分區(qū)、快照、快照日表空間、表、索引、分區(qū)、快照、快照日志志 的存儲參數(shù)的存儲參數(shù) 默認(rèn)值默認(rèn)值 最小值最小值Initial 5個數(shù)據(jù)塊個數(shù)據(jù)塊 2個數(shù)據(jù)塊個數(shù)據(jù)塊Next 5個數(shù)據(jù)塊個數(shù)據(jù)塊 1個數(shù)據(jù)塊
12、個數(shù)據(jù)塊Minextents 1 1Maxextents根據(jù)數(shù)據(jù)塊大小而定根據(jù)數(shù)據(jù)塊大小而定 1Pctincrease 50 0推薦使用:大小一致的推薦使用:大小一致的, 增長率較低存儲分配增長率較低存儲分配initial = next表空間的表空間的 pctincrease 1其它數(shù)據(jù)對象其它數(shù)據(jù)對象pctincrease 0n對象級的存儲參數(shù)設(shè)置值覆蓋表空間級對象級的存儲參數(shù)設(shè)置值覆蓋表空間級的設(shè)置的設(shè)置n未在對象級設(shè)置存儲參數(shù),由表空間級未在對象級設(shè)置存儲參數(shù),由表空間級的設(shè)置決定的設(shè)置決定n未在表空間級設(shè)置存儲參數(shù),由未在表空間級設(shè)置存儲參數(shù),由Oracle數(shù)據(jù)庫級參數(shù)設(shè)置決定數(shù)據(jù)庫級
13、參數(shù)設(shè)置決定n存儲參數(shù)改變后,新的選項只針對未分存儲參數(shù)改變后,新的選項只針對未分配的配的extents有效。有效。存儲參數(shù)的設(shè)定規(guī)則存儲參數(shù)的設(shè)定規(guī)則9. 4 段段n9.4.1 段的概念段的概念n9.4.2 段的分類段的分類n9.4.3 查詢段信息查詢段信息9.4.1 段的概念段的概念n段是為表空間內(nèi)特定邏輯存儲結(jié)構(gòu)分配段是為表空間內(nèi)特定邏輯存儲結(jié)構(gòu)分配的空間。例如分配給表的所有存儲空間的空間。例如分配給表的所有存儲空間是一個段。是一個段。 n段無法跨越表空間,但是段可以跨越屬段無法跨越表空間,但是段可以跨越屬于一個表空間的多個數(shù)據(jù)文件。于一個表空間的多個數(shù)據(jù)文件。n每個段由一個或多個區(qū)組成
14、。每個段由一個或多個區(qū)組成。 nDBA_SEGMENTS中保存段的有關(guān)信息中保存段的有關(guān)信息9.4.2 段的分類段的分類n數(shù)據(jù)段數(shù)據(jù)段 一個數(shù)據(jù)段可存放一個未經(jīng)分區(qū)的表或聚簇,一個數(shù)據(jù)段可存放一個未經(jīng)分區(qū)的表或聚簇,也可以存放表的一個分區(qū)。也可以存放表的一個分區(qū)。n索引段索引段 保存索引中的索引條目保存索引中的索引條目n臨時段臨時段 存放排序操作中生成的臨時表的數(shù)據(jù)存放排序操作中生成的臨時表的數(shù)據(jù)n回滾段回滾段 存放事務(wù)所修改數(shù)據(jù)的舊值,當(dāng)進(jìn)行回退操存放事務(wù)所修改數(shù)據(jù)的舊值,當(dāng)進(jìn)行回退操作或?qū)嵗r使用。作或?qū)嵗r使用。9.4.3 查詢段信息查詢段信息DBA_SEGMENTS一般信息一般
15、信息 OWNERSEGMENT_NAME SEGMENT_TYPE TABLESPACE_NAME 大小大小 EXTENTS BLOCKS 存儲參數(shù)存儲參數(shù) INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE獲得已用子段的信息獲得已用子段的信息DBA_EXTENTS標(biāo)識信息標(biāo)識信息 OWNER SEGMENT_NAME EXTENT_ID 位置和大小位置和大小 TABLESPACE_NAME FILE_ID BLOCK_ID(該區(qū)的第一個塊的塊號)該區(qū)的第一個塊的塊號) BLOCKS 檢查空閑子段的信息檢查空閑子段的信
16、息DBA_FREE_SPACE位置和大小位置和大小 TABLESPACE_NAME FILE_ID BLOCK_ID(該文件自由段的第一個塊號)該文件自由段的第一個塊號) BLOCKS (該自由段占用的塊數(shù)該自由段占用的塊數(shù)) 9. 5 表空間及其管理表空間及其管理n9.5.1 表空間的概念表空間的概念n9.5.2 表空間分類表空間分類n9.5.3 表空間的存儲管理方式表空間的存儲管理方式n9.5.4 表空間管理表空間管理9.5.1 表空間的概念表空間的概念n從邏輯上看,數(shù)據(jù)庫中的數(shù)據(jù)存儲在表從邏輯上看,數(shù)據(jù)庫中的數(shù)據(jù)存儲在表空間中,而從物理上看,則是存儲在與空間中,而從物理上看,則是存儲在與
17、表空間對應(yīng)的數(shù)據(jù)文件中。表空間對應(yīng)的數(shù)據(jù)文件中。n在一個表空間中可以有多個同它有關(guān)聯(lián)在一個表空間中可以有多個同它有關(guān)聯(lián)的數(shù)據(jù)文件,但一個數(shù)據(jù)文件只能屬于的數(shù)據(jù)文件,但一個數(shù)據(jù)文件只能屬于一個表空間,一個表空間,表空間的大小是它所對應(yīng)表空間的大小是它所對應(yīng)的數(shù)據(jù)文件大小的總和的數(shù)據(jù)文件大小的總和。9.5.2 表空間分類表空間分類n系統(tǒng)表空間系統(tǒng)表空間 在創(chuàng)建數(shù)據(jù)庫時,在創(chuàng)建數(shù)據(jù)庫時,Oracle將會創(chuàng)建將會創(chuàng)建SYSTEM表空間。所有數(shù)據(jù)詞典對象都表空間。所有數(shù)據(jù)詞典對象都存儲在這一表空間中。一般不放用戶的存儲在這一表空間中。一般不放用戶的數(shù)據(jù),但是用戶腳本,如過程,函數(shù),數(shù)據(jù),但是用戶腳本,如
18、過程,函數(shù),包等卻是保存在數(shù)據(jù)字典中的。包等卻是保存在數(shù)據(jù)字典中的。n非系統(tǒng)表空間非系統(tǒng)表空間 (1) 臨時表空間:存放用戶的排序等臨臨時表空間:存放用戶的排序等臨時時 數(shù)據(jù),臨時段占有的空間會在下次數(shù)據(jù),臨時段占有的空間會在下次系統(tǒng)啟動的時候全部被釋放系統(tǒng)啟動的時候全部被釋放 (2) 回滾段表空間:回滾段表空間:臨時存放修改前的臨時存放修改前的數(shù)據(jù)數(shù)據(jù) (3) 用戶表空間:用戶表空間:一般是由用戶建立,一般是由用戶建立,來存取用戶數(shù)據(jù)(包括索引)的表空間來存取用戶數(shù)據(jù)(包括索引)的表空間 。 多個表空間的優(yōu)勢多個表空間的優(yōu)勢n將數(shù)據(jù)字典與用戶數(shù)據(jù)分離開來,避免將數(shù)據(jù)字典與用戶數(shù)據(jù)分離開來,避
19、免由于字典對象和用戶對象保存在同一個由于字典對象和用戶對象保存在同一個數(shù)據(jù)文件中而產(chǎn)生的數(shù)據(jù)文件中而產(chǎn)生的I/O沖突。沖突。n將回退數(shù)據(jù)與用戶數(shù)據(jù)分離開來,避免將回退數(shù)據(jù)與用戶數(shù)據(jù)分離開來,避免由于硬盤損壞而導(dǎo)致永久性的數(shù)據(jù)丟失。由于硬盤損壞而導(dǎo)致永久性的數(shù)據(jù)丟失。n將表空間的數(shù)據(jù)文件分散保存到不同的將表空間的數(shù)據(jù)文件分散保存到不同的硬盤上,平均分布物理硬盤上,平均分布物理I/O操作。操作。n能夠?qū)⒛硞€表空間設(shè)置為脫機(jī)狀態(tài)或聯(lián)能夠?qū)⒛硞€表空間設(shè)置為脫機(jī)狀態(tài)或聯(lián)機(jī)狀態(tài),以便對數(shù)據(jù)庫的一部分進(jìn)行備機(jī)狀態(tài),以便對數(shù)據(jù)庫的一部分進(jìn)行備份和恢復(fù)。份和恢復(fù)。n能夠?qū)⒛硞€表空間設(shè)置為只讀狀態(tài),從能夠?qū)⒛硞€表
20、空間設(shè)置為只讀狀態(tài),從而將數(shù)據(jù)庫的一部分設(shè)置為只讀狀態(tài)。而將數(shù)據(jù)庫的一部分設(shè)置為只讀狀態(tài)。n 能夠為某種特殊用途專門設(shè)置一個表空能夠為某種特殊用途專門設(shè)置一個表空間,比如臨時表空間等,以優(yōu)化表空間間,比如臨時表空間等,以優(yōu)化表空間的使用效率。的使用效率。n 能夠更加靈活地為用戶設(shè)置表空間限額能夠更加靈活地為用戶設(shè)置表空間限額9.5.3 表空間的存儲管理方式表空間的存儲管理方式n字典管理方式字典管理方式 表空間的擴(kuò)展區(qū)管理信息保存在表空間的擴(kuò)展區(qū)管理信息保存在system表空間的數(shù)據(jù)字典中,稱為表空間的數(shù)據(jù)字典中,稱為“字典管理字典管理方式方式”。n本地管理方式本地管理方式 在本地管理的表空間中
21、,在本地管理的表空間中,每個數(shù)據(jù)文件每個數(shù)據(jù)文件內(nèi)都維護(hù)一個位圖,以了解該數(shù)據(jù)文件內(nèi)都維護(hù)一個位圖,以了解該數(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 注意問題注意問題9.5.4.1 創(chuàng)建表空間創(chuàng)建表空間n創(chuàng)建字典管理表空間創(chuàng)建字典管理表空間n創(chuàng)建本地管理表空間創(chuàng)建本地管理表空間n創(chuàng)建臨時表空間創(chuàng)建臨時表空間創(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)一的大?。║NIFORM),也可以由),也可以由Oracle來自動決定后來自動決定后續(xù)區(qū)的大小和增加方式(續(xù)區(qū)的大小和增加方式(AUTOALLOCATE)。)。創(chuàng)建臨時表空間創(chuàng)建臨時表空間 如果沒有為數(shù)據(jù)庫用戶指定一個專門的臨時如果沒有為數(shù)據(jù)庫用戶指定一個專門的臨時表空間,這些臨時數(shù)據(jù)在默認(rèn)情況下將存儲表空間,這些臨時數(shù)據(jù)在默認(rèn)情況下將存儲在在system表空間中,這樣做的結(jié)果是會占用表空間中,這樣做的結(jié)果是會占用system表空間的存儲空間,并且頻繁地分配和表空間的存儲空間,并且頻繁地分配和
24、釋放臨時段會在釋放臨時段會在system表空間中產(chǎn)生大量的存表空間中產(chǎn)生大量的存儲碎片,從而影響整個數(shù)據(jù)庫的性能。為了儲碎片,從而影響整個數(shù)據(jù)庫的性能。為了避免在避免在system表空間內(nèi)存儲臨時數(shù)據(jù),表空間內(nèi)存儲臨時數(shù)據(jù),DBA應(yīng)當(dāng)在數(shù)據(jù)庫中創(chuàng)建一個專門用來存儲臨時應(yīng)當(dāng)在數(shù)據(jù)庫中創(chuàng)建一個專門用來存儲臨時數(shù)據(jù)的臨時表空間,數(shù)據(jù)的臨時表空間,n創(chuàng)建字典管理的臨時表空間創(chuàng)建字典管理的臨時表空間 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)建本地管理的臨時表空間創(chuàng)建本地管理的臨時表空間 create temporary tablespace temp tempfile f:orcltemp_01.dbf size 500M extent management local uniform size 10M;9.5.4.2 修改表空間修改表空間n改變表空間存儲設(shè)置改變表空間存儲設(shè)置n改變表空間狀態(tài)改變表空間狀態(tài)n改變表空間尺寸改變表空間尺寸n重定位數(shù)據(jù)文件重定位數(shù)據(jù)文件改變表空間存儲設(shè)置改變表空
26、間存儲設(shè)置n使用命令使用命令alter tablespace命令來改變表空間的命令來改變表空間的缺省存儲定義缺省存儲定義 Alter TABLESPACE tablespace minimum extent integer k|m | default storage_clause 例例1:將表空間中區(qū)的最小尺寸定義為將表空間中區(qū)的最小尺寸定義為2M alter tablespace app_data minimum extent 2m;例例2:將表空間的缺省存儲參數(shù)定義為第一將表空間的缺省存儲參數(shù)定義為第一個區(qū)大小個區(qū)大小2M,第二個區(qū)大小,第二個區(qū)大小2M,每個,每個段最多分配段最多分配99
27、9個區(qū)個區(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ī) 通過將某一表空間置于脫機(jī)或聯(lián)機(jī)狀態(tài),可通過將某一表空間置于脫機(jī)或聯(lián)機(jī)狀態(tài),可以控制它的可用性。以控制它的可用性。當(dāng)表空間處于聯(lián)機(jī)狀態(tài)當(dāng)表空間處于聯(lián)機(jī)狀態(tài)時,用戶可以訪問其中的數(shù)據(jù)。當(dāng)某一表空時,用戶可以訪問其中的數(shù)據(jù)。當(dāng)某一表空間間處于脫機(jī)狀態(tài)時,用戶無法訪問它的數(shù)據(jù),處于脫機(jī)狀態(tài)時,用戶無法訪問它的數(shù)據(jù),但允許正常訪問數(shù)據(jù)庫的其余處于聯(lián)機(jī)的表但允許正常訪問數(shù)
28、據(jù)庫的其余處于聯(lián)機(jī)的表空間??臻g。某些表空間如某些表空間如system和具有活動回退段和具有活動回退段的表空間必須聯(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什么時候需要改變表空間的尺寸?什么時候需要改變表空間的尺寸? 當(dāng)數(shù)據(jù)占滿表空間時,不能向表空間再添加當(dāng)數(shù)據(jù)占滿表空間時,不能向表空間再添加新的數(shù)據(jù)新的數(shù)據(jù)n如何知道表空間已經(jīng)滿了呢?如何知道表空間已經(jīng)滿了呢? 例如我們正對課程表例如我們正對課程表course進(jìn)行插入數(shù)據(jù)的操進(jìn)行插入數(shù)據(jù)的操作,此時出現(xiàn)了作,此時出現(xiàn)了“ora-0165:unable to extend table course in tablespace app_data”,這時我,這時我們就知道表空間已經(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ù)文件自動擴(kuò)展指定數(shù)據(jù)文件自動擴(kuò)展 當(dāng)激活了數(shù)據(jù)文件的自動擴(kuò)展選項之后,當(dāng)激活了數(shù)據(jù)文件的自動擴(kuò)展選項之后,如果數(shù)據(jù)庫數(shù)據(jù)占滿了數(shù)據(jù)文件所有空如果數(shù)據(jù)庫數(shù)據(jù)占滿了數(shù)據(jù)文件所有空間,系統(tǒng)會自動擴(kuò)展該數(shù)據(jù)文件。間,系統(tǒng)會自動擴(kuò)展該數(shù)據(jù)文件。 例:以下命令創(chuàng)建了表空間例:以下命令創(chuàng)建了表空間student_data,當(dāng)當(dāng)數(shù)據(jù)占滿了數(shù)據(jù)占滿了student3.dbf文件之后,系統(tǒng)會自動擴(kuò)文
31、件之后,系統(tǒ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手動調(diào)整數(shù)據(jù)文件大小手動調(diào)整數(shù)據(jù)文件大小 使用使用alter database命令能夠手動調(diào)整數(shù)據(jù)文命令能夠手動調(diào)整數(shù)據(jù)文件的大小,其語法如下:件的大小,其語法如下: 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)下移動數(shù)據(jù)文件)在操作系統(tǒ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ù)庫)關(guān)閉數(shù)據(jù)庫(2)在操作系統(tǒng)下移動數(shù)據(jù)文件)在操作系統(tǒ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ù)庫()打開數(shù)據(jù)庫(ALTER DATABASE OPEN)9.5.4.3 刪除表空間刪除表空間 當(dāng)表空間損壞無法恢復(fù)時,或者當(dāng)表空間不再當(dāng)表空間損壞無法恢復(fù)時,或者當(dāng)表空間不再需要時,需要時,可以使用可以使用drop tablespace命令將表空命令將表空間從數(shù)據(jù)庫中刪除。間從數(shù)據(jù)庫中刪除。 表空間中沒有任何對象時表空間中沒有任何對象時 DROP TABLESPACE tablespac
35、e_name;表空間中已經(jīng)創(chuàng)建了對象時表空間中已經(jīng)創(chuàng)建了對象時 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臨時文件信息臨時文件信息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)建一個有一個或多個文件的表空間時,當(dāng)創(chuàng)建一個有一個或多個文件的表空間時,向向dba_tablespaces添加一行添加一行n對數(shù)據(jù)庫中的每個文件,都向?qū)?shù)據(jù)庫中的每個文件,都向dba_data_files添加一行添加一行n在這個階段,每個數(shù)據(jù)文件的空間(除了文在這個階段,每個數(shù)據(jù)文件的空間(除了文件頭)在件頭)在dba_free_space中均顯示為一個空閑中均顯示為一個空閑區(qū)區(qū)n在創(chuàng)建一個段后,在創(chuàng)建一個段后,dba_segments內(nèi)將看到一內(nèi)將看到一行行n分配給該段的區(qū)的空間可從分配給該段的區(qū)
37、的空間可從dba_extents查看,查看,同時調(diào)整同時調(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中說明。中說明。數(shù)據(jù)文件查詢數(shù)據(jù)文件查詢n查詢數(shù)據(jù)文件列表,包括數(shù)據(jù)文件的狀態(tài),查詢數(shù)據(jù)文件列表,包括數(shù)據(jù)文件的狀態(tài),存儲容量和名稱存儲容量和名稱 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)存儲參數(shù)查詢表空間默認(rèn)存儲參數(shù) SQLselect tablespace_name,block_size,initial_extent,next_extent from dba_tablespaces; n獲得分配給用戶獲得分配給用戶SCOTT
39、的各個段的區(qū)和塊的數(shù)的各個段的區(qū)和塊的數(shù)目目 SQL select segment_name, extents, blocks from dba_segments where owner= SCOTT;n查詢分配給用戶查詢分配給用戶HR的區(qū)所屬的段類型、段所的區(qū)所屬的段類型、段所屬的表空間名稱、段所屬的文件號、區(qū)的大屬的表空間名稱、段所屬的文件號、區(qū)的大小小SQL select segment_type, tablespace_name, file_id, bytes from dba_extents where owner=HR;存儲結(jié)構(gòu)查詢存儲結(jié)構(gòu)查詢n查詢查詢SCOTT用戶的用戶的EMP段所占用區(qū)的區(qū)號、段所占用區(qū)的區(qū)號、區(qū)所屬的文件號、該區(qū)第一個塊的塊號、該區(qū)所屬的文件號、該區(qū)第一個塊的塊號、該區(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. 本站所有資源如無特殊說明,都需要本地電腦安裝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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 購買果園協(xié)議書范本
- 解除經(jīng)紀(jì)合同協(xié)議書范本
- 貨物運(yùn)輸包裝合同協(xié)議
- 論就業(yè)協(xié)議和勞動合同
- 資產(chǎn)債務(wù)移交協(xié)議書范本
- 解除合同經(jīng)濟(jì)補(bǔ)償金協(xié)議
- 2025年大學(xué)物理基礎(chǔ)項目試題及答案
- 2025年礦業(yè)工程專業(yè)人員實(shí)驗技能測試題及答案
- 2025年歷史文化研究生入學(xué)考試試卷及答案
- 2025年抗疫志愿者培訓(xùn)考試試題及答案總結(jié)
- 2025鄂爾多斯準(zhǔn)格爾旗事業(yè)單位引進(jìn)40名高層次人才和急需緊缺專業(yè)人才筆試備考試題及答案解析
- 銀行領(lǐng)導(dǎo)力培養(yǎng)試題及答案
- (二模)濟(jì)寧市2025年4月高考模擬考試地理試卷
- 首都醫(yī)科大學(xué)附屬北京安貞醫(yī)院招聘考試真題2024
- 抽化糞池合同協(xié)議
- 中醫(yī)養(yǎng)生館運(yùn)營方案中醫(yī)養(yǎng)生館策劃書
- 醫(yī)療社工筆試題及答案
- 食品安全自查、從業(yè)人員健康管理、進(jìn)貨查驗記錄、食品安全事故處置等保證食品安全的規(guī)章制度
- 【MOOC】理解馬克思-南京大學(xué) 中國大學(xué)慕課MOOC答案
- 傳統(tǒng)園林技藝智慧樹知到期末考試答案章節(jié)答案2024年華南農(nóng)業(yè)大學(xué)
- 物理實(shí)驗通知單記錄單初二上
評論
0/150
提交評論