




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第7章邏輯存儲結(jié)構(gòu)本章內(nèi)容Oracle邏輯存儲結(jié)構(gòu)概述表空間數(shù)據(jù)塊區(qū)段本章要求掌握Oracle數(shù)據(jù)庫邏輯結(jié)構(gòu)組成掌握表空間的作用及其管理掌握擴(kuò)展區(qū)的結(jié)構(gòu),了解擴(kuò)展區(qū)的管理掌握段的作用,了解段的管理7.1邏輯存儲結(jié)構(gòu)概述概念邏輯存儲結(jié)構(gòu)是從邏輯的角度來分析數(shù)據(jù)庫的構(gòu)成的,是數(shù)據(jù)庫創(chuàng)建后利用邏輯概念來描述Oracle數(shù)據(jù)庫內(nèi)部數(shù)據(jù)的組織和管理形式。在操作系統(tǒng)中,沒有數(shù)據(jù)庫邏輯存儲結(jié)構(gòu)信息,而只有物理存儲結(jié)構(gòu)信息。數(shù)據(jù)庫的邏輯存儲結(jié)構(gòu)概念存儲在數(shù)據(jù)庫的數(shù)據(jù)字典中,可以通過數(shù)據(jù)字典查詢邏輯存儲結(jié)構(gòu)信息。
邏輯結(jié)構(gòu)單元類型數(shù)據(jù)塊:BLOCK區(qū):EXTENT段:SEGMENT表空間:TABLESPACE數(shù)據(jù)庫的存儲層次關(guān)系DatabaseLogicalPhysicalTablespaceDatafileOSblockOracle
blockSegmentExtent數(shù)據(jù)庫邏輯存儲結(jié)構(gòu)之間的關(guān)系表空間數(shù)據(jù)段………
區(qū)間數(shù)據(jù)塊(段片)7.2表空間表空間概述表空間的管理7.2.1表空間概述表空間的概念表空間的分類表空間的管理方式表空間的管理策略(1)表空間概念Oracle數(shù)據(jù)庫在邏輯上可以劃分為一系列的邏輯空間,每一個邏輯空間就可以稱為一個表空間。一個數(shù)據(jù)庫由有一個或多個表空間構(gòu)成,不同表空間用于存放不同應(yīng)用的數(shù)據(jù),表空間大小決定了數(shù)據(jù)庫的大小。一個表空間對應(yīng)一個或多個數(shù)據(jù)文件,數(shù)據(jù)文件大小決定了表空間的大小。一個數(shù)據(jù)文件只能從屬于一個表空間。表空間是存儲模式對象的容器,一個數(shù)據(jù)庫對象只能存儲在一個表空間中(分區(qū)表和分區(qū)索引除外),但可以存儲在該表空間所對應(yīng)的一個或多個數(shù)據(jù)文件中。若表空間只有一個數(shù)據(jù)文件,則該表空間中所有對象都保存在該文件中;若表空間對應(yīng)多個數(shù)據(jù)文件,則表空間中的對象可以分布于不同的數(shù)據(jù)文件中。數(shù)據(jù)庫、表空間、數(shù)據(jù)文件、數(shù)據(jù)庫對象之間的關(guān)系:通過過表表空空間間,,可可以以實(shí)實(shí)現(xiàn)現(xiàn)對對數(shù)數(shù)據(jù)據(jù)庫庫存存儲儲的的管理理:控制制整整個個數(shù)數(shù)據(jù)據(jù)庫庫占占用用空空間間的的大大小小;;控制制數(shù)數(shù)據(jù)據(jù)庫庫在在磁磁盤盤上上的的分分配配,,提提高高數(shù)數(shù)據(jù)據(jù)庫庫的的I/O性性能能;;控制制用用戶戶所所占占用用的的存存儲儲空空間間的的大大小小。。(2))表表空空間間的的分分類類系統(tǒng)統(tǒng)表表空空間間————包包括括SYSTEM和和SYSAUXSYSTEM表空空間間,,主主要要存存儲儲::數(shù)據(jù)據(jù)庫庫的的數(shù)數(shù)據(jù)據(jù)字字典典;;PL/SQL程程序序的的源源代代碼碼和和解解釋釋代代碼碼,,包包括括存存儲儲過過程程、、函函數(shù)數(shù)、、包包、、觸觸發(fā)發(fā)器器等等;;數(shù)據(jù)據(jù)庫庫對對象象的的定定義義,,如如表表、、視視圖圖、、序序列列、、同同義義詞詞等等。。SYSAUX表空空間間SYSAUX表表空空間間是是Oracle10g新新增增的的輔輔助助系系統(tǒng)統(tǒng)表表空空間間,,主主要要用用于于存儲儲數(shù)數(shù)據(jù)據(jù)庫庫組組件件等等信信息息,以以減減小小SYSTEM表表空空間間的的負(fù)負(fù)荷荷。。在通常情情況下,,不允許刪除、重命名及傳輸SYSAUX表空空間。非系統(tǒng)表表空間撤銷表空間專門進(jìn)行行回滾信息息的自動動管理,由回滾滾段構(gòu)成成。一個個數(shù)據(jù)庫庫可以有有多個撤撤銷表空空間,但但每個數(shù)據(jù)據(jù)庫實(shí)例例只能使用一個個由UNDO_TABLESPACE參數(shù)設(shè)設(shè)置的撤撤銷表空空間。初始化參參數(shù)UNDO_MANAGEMENT=AUTO時,系系統(tǒng)使用用撤銷表表空間自自動進(jìn)行行回滾信信息管理理。臨時表空間專門進(jìn)行行臨時數(shù)據(jù)據(jù)管理的表空間間。在數(shù)據(jù)庫庫實(shí)例運(yùn)運(yùn)行過程程中,執(zhí)執(zhí)行排序序等SQL語句句時會產(chǎn)產(chǎn)生大量量的臨時時數(shù)據(jù),,這些臨臨時數(shù)據(jù)據(jù)將保存存在數(shù)據(jù)據(jù)庫臨時時表空間間中。建議為數(shù)數(shù)據(jù)庫單單獨(dú)定義義默認(rèn)的臨臨時表空空間。用戶表空間保存用戶戶數(shù)據(jù)。。大文件表表空間與與小文件件表空間間所謂大文件表表空間(BigfileTablespace)是指指一個表表空間只包含一一個大數(shù)據(jù)文文件,該該文件的的最大尺尺寸為128TB(數(shù)據(jù)塊塊大小為為32KB)或只32TB(數(shù)數(shù)據(jù)塊大大小為8KB)。與大文件件表空間間相對應(yīng)應(yīng),系統(tǒng)統(tǒng)默認(rèn)創(chuàng)創(chuàng)建的表表空間稱稱為小文件表表空間(SmallfileTablespace),如SYSTEM表表空間、、SYSAUX表空間間等。小小文件表表空間可可以包含含多達(dá)1024個數(shù)據(jù)據(jù)文件。。小文件件表空間間的總?cè)萑萘颗c大大文件表表空間的的容量基基本相似似。(3)表表空間的的管理方方式字典管理理方式表空間使用數(shù)據(jù)據(jù)字典來管理存存儲空間間的分配配,當(dāng)進(jìn)進(jìn)行區(qū)的的分配與與回收時時,Oracle將對數(shù)據(jù)字字典中的的相關(guān)基基礎(chǔ)表進(jìn)進(jìn)行更新新,同時會會產(chǎn)生回滾滾信息和和重做信信息。字典管管理方式式將漸漸漸被淘汰汰。本地管理理方式在本地管管理方式式中,區(qū)區(qū)的分配配和管理理信息都都存儲在在表空間間的數(shù)據(jù)文件件中,而與數(shù)數(shù)據(jù)字典典無關(guān)。。表空間間在每個個數(shù)據(jù)文文件中維維護(hù)一個個“位圖圖”結(jié)構(gòu)構(gòu),用于于記錄表表空間中中所有區(qū)區(qū)的分配配情況,,因此區(qū)區(qū)在分配配與回收收時,Oracle將將對數(shù)據(jù)據(jù)文件中中的位圖圖進(jìn)行更更新,不會產(chǎn)生生回滾信息息或重做做信息。表空間本本地管理理方式的的優(yōu)勢:由于在區(qū)區(qū)分配與與回收過過程中不不需要對對數(shù)據(jù)字字典進(jìn)行行訪問,,提高了表空間存存儲管理理操作的的速度和并發(fā)性。能夠避免表空間存存儲管理理操作中中的遞歸現(xiàn)象象,提高了存儲空間間管理操作作性能。能夠在保留可查查詢性同同時,將整個個數(shù)據(jù)庫庫設(shè)置為只只讀狀態(tài)態(tài)。這種數(shù)數(shù)據(jù)庫可可以作為為備用數(shù)數(shù)據(jù)庫使使用。簡化了表空間的的存儲管理理,由Oracle自動動完成存存儲管理理操作。。降低了用戶對數(shù)數(shù)據(jù)字典典的依賴性。不存在磁磁盤碎片片問題,因?yàn)楸乇匾男判畔⒍即娲鎯υ跀?shù)數(shù)據(jù)文件件的位圖圖中,而而不是保保存在數(shù)數(shù)據(jù)字典典中。(4)表表空間管管理策略略將數(shù)據(jù)字典典與用戶數(shù)據(jù)據(jù)分離,避避免由于于數(shù)據(jù)字字典對象象和用戶戶對象保保存在一一個數(shù)據(jù)據(jù)文件中中而產(chǎn)生生I/O沖突。。將回滾數(shù)據(jù)據(jù)與用戶數(shù)據(jù)據(jù)分離,避避免由于于硬盤損損壞而導(dǎo)導(dǎo)致永久久性的數(shù)數(shù)據(jù)丟失失。將表空間的的數(shù)據(jù)文文件分散散保存到不同的的硬盤上上,平均均分布物物理I/O操作作。為不同的應(yīng)應(yīng)用創(chuàng)建建獨(dú)立的的表空間間,避免多多個應(yīng)用用之間的的相互干干擾。能夠?qū)⒈肀砜臻g設(shè)置為脫脫機(jī)狀態(tài)態(tài)或聯(lián)機(jī)狀態(tài)態(tài),以便對對數(shù)據(jù)庫庫的一部部分進(jìn)行行備份或或恢復(fù)。。能夠?qū)⒈肀砜臻g設(shè)置為只只讀狀態(tài)態(tài),從而將將數(shù)據(jù)庫庫的一部部分設(shè)置置為只讀讀狀態(tài)。。能夠?yàn)槟撤N特特殊用途途專門設(shè)設(shè)置一個個表空間間,如臨時時表空間間,優(yōu)化化表空間間的使用用效率。。能夠更加加靈活地地為用戶戶設(shè)置表空空間配額額。表表空間的的管理((本地管管理方式式)創(chuàng)建表空空間修改表空空間表空間的的備份刪除表空空間大文件表表空間的的管理表空間信信息查詢詢利用OEM管理理表空間間(1)創(chuàng)創(chuàng)建表空空間在創(chuàng)建本本地管理理方式下下的表空空間時,,應(yīng)該確確定表空空間的名稱、類型、對應(yīng)的的數(shù)據(jù)文件件的名稱稱和位置以及區(qū)的分配配方式、段的管理理方式。表空間名名稱不能超過過30個個字符,必須以以字母開頭頭,可以包包含字母、數(shù)字以及一些些特殊字符符(如#、、_、$)等;;表空間的的類型包括普通表空間、、臨時表空間和和撤銷表空間;;表空間中中區(qū)的分配配方式包包括兩種方式式:自動擴(kuò)展(AUTOALLOCATE)和定制(UNIFORM);;段的管理理包括兩種方式式:自動管理(AUTO)和手動管理(MANUAL)。創(chuàng)建永久久表空間間創(chuàng)建永久表空空間使用CREATETABLESPACE語句來實(shí)實(shí)現(xiàn),該該語句包包含以下下幾個子句:DATAFILE:設(shè)設(shè)定表空空間對應(yīng)應(yīng)的數(shù)據(jù)據(jù)文件。。EXTENTMANAGEMENT:指定表表空間的管理理方式,取值值為LOCAL(默認(rèn))或DICTIONARY。。AUTOALLOCATE(默認(rèn))或UNIFORM:設(shè)定區(qū)區(qū)的分配方式式。SEGMENTSPACEMANAGEMENT:設(shè)設(shè)定段的管理理方式,其取取值為MANUAL或AUTO(默認(rèn))。。例1:為ORCL數(shù)據(jù)庫庫創(chuàng)建一個永久性的表空間ORCLTBS1,區(qū)自動擴(kuò)展,段采用自動管理方式。例2:為ORCL數(shù)數(shù)據(jù)庫創(chuàng)建一一個永久性的表空間ORCLTBS2,區(qū)定制分配,段采用自動管理方式。SQL>CREATETABLESPACEORCLTBS1DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS1_1.DBF'SIZE50M;SQL>CREATETABLESPACEORCLTBS2DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS2_1.DBF'SIZE50MEXTENTMANAGEMENTLOCALUNIFORMSIZE512K;例3:為ORCL數(shù)據(jù)庫庫創(chuàng)建一個永久性的表空間ORCLTBS3,區(qū)自動擴(kuò)展,段采用手動管理方式。例4:為ORCL數(shù)據(jù)庫庫創(chuàng)建一個永久性的表空間ORCLTBS4,區(qū)定制分配,段采用手動管理方式。SQL>CREATETABLESPACEORCLTBS3DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS3_1.DBF'SIZE50MSEGMENTSPACEMANAGEMENTMANUAL;SQL>CREATETABLESPACEORCLTBS4DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS4_1.DBF'SIZE50MEXTENTMANAGEMENTLOCALUNIFORMSIZE512KSEGMENTSPACEMANAGEMENTMANUAL;數(shù)據(jù)文件的名名稱分別為ORCLTBS3_1.DBF和ORCLTBS4_1.DBF創(chuàng)建臨時表空空間使用CREATETEMPORARYTABLESPACE語句創(chuàng)建臨時時表空間,用用TEMPFILE子句句設(shè)置臨時數(shù)數(shù)據(jù)文件。注意:臨時表空間間中區(qū)的分配方式只能是UNIFORM,而不能是AUTOALLOCATE,因?yàn)檫@這樣才能保證證不會在臨時時段中產(chǎn)生過過多的存儲碎碎片。例5:為ORCL數(shù)據(jù)庫庫創(chuàng)建一個臨臨時表空間ORCLTEMP1。SQL>CREATETEMPORARYTABLESPACEORCLTEMP1TEMPFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTEMP1_1.DBF'SIZE20MEXTENTMANAGEMENTLOCALUNIFORMSIZE16M;臨時表空間組組將一個或多個個臨時表空間間構(gòu)成一個表表空間組。優(yōu)點(diǎn):避免由于單個個臨時表空間間的空間不足足而導(dǎo)致數(shù)據(jù)據(jù)庫運(yùn)行故障障??梢员WC在一一個簡單并行行操作中多個個并行服務(wù)的的執(zhí)行。臨時表空間組組不需要顯式式創(chuàng)建,為臨臨時表空間組組指定第一個臨臨時表空間時隱式創(chuàng)建,,當(dāng)臨時表空空間組中最后后一個臨時表表空間刪除時時而隱式地刪刪除。通過在CREATETEMPORARYTABLSPACE或ALTERTABLESPACE語句中使用用TABLESPACEGROUP短語創(chuàng)建臨時時表空間組。。例6:為ORCL數(shù)據(jù)庫庫創(chuàng)建一個臨臨時表空間ORCLTEMP2,并并放入臨時表表空間組temp_group1。。同時,將臨臨時表空間ORCLTEMP1也放放入該temp_group1中。。SQL>CREATETEMPORARYTABLESPACEORCLTEMP2TEMPFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTEMP2_1.DBF'SIZE20MEXTENTMANAGEMENTLOCALUNIFORMSIZE16MTABLESPACEGROUPtemp_group1;SQL>ALTERTABLESPACEORCLTEMP1TABLESPACEGROUPtemp_group1;創(chuàng)建撤銷表空空間如果數(shù)據(jù)庫中中沒有創(chuàng)建撤撤銷表空間,,那么將使用用SYSTEM表空間來來管理回滾段段。如果數(shù)據(jù)庫中中包含多個撤撤銷表空間,,那么一個實(shí)實(shí)例只能使用一個處于活動狀態(tài)的撤銷表空間,,可以通過參參數(shù)UNDO_TABLESPACE來指定;;如果數(shù)據(jù)庫中中只包含一個個撤銷表空間間,那么數(shù)據(jù)據(jù)庫實(shí)例啟動動后會自動使使用該撤銷表表空間。如果要使用撤撤銷表空間對對數(shù)據(jù)庫回滾滾信息進(jìn)行自動管理,則必須將初初始化參數(shù)UNDO_MANAGEMENT=AUTO??梢允褂肅REATEUNDOTABLESPACE語句創(chuàng)建撤銷銷表空間,但但是在該語句句中只能指定DATAFILE和EXTENTMANAGEMENTLOCAL兩個子句,而而不能指定其其他子句。例7:為ORCL數(shù)據(jù)庫庫創(chuàng)建一個撤撤銷表空間。。注意:如果要在數(shù)數(shù)據(jù)庫使用該該撤銷表空間間,需要設(shè)置置參數(shù)UNDO_MANAGEMENT=AUTOUNDO_TABLESPACE=ORCLUNDO1SQL>CREATEUNDOTABLESPACEORCLUNDO1DATAFILE'D:\ORACLE\ORADATA\ORCL\ORCLUNDO1_1.DBF'SIZE20M;(2)修改表表空間可以對表空間間進(jìn)行下列修修改操作:擴(kuò)展表空間修改表空間可可用性修改表空間讀讀/寫性設(shè)置默認(rèn)表空空間表空間重命名名注意:不能將本地管理的的永久性表空空間轉(zhuǎn)換為本本地管理的臨臨時表空間,,也不能修改本地管理表空空間中段的管理方式式。擴(kuò)展表空間為表空間添加數(shù)據(jù)文件件通過ALTERTABLESPACE…ADDDATAFILE語句為永久表表空間添加數(shù)數(shù)據(jù)文件,通通過ALTERTABLESPACE…ADDTEMPFILE語句為臨時表表空間添加臨臨時數(shù)據(jù)文件件。例8:為ORCL數(shù)據(jù)庫庫的ORCLTBS1表表空間添加一一個大小為10MB的的新數(shù)據(jù)文件件。例9:為ORCL數(shù)據(jù)庫庫的ORCLTEMP1表空間添加加一個大小為為10MB的臨時數(shù)據(jù)據(jù)文件。SQL>ALTERTABLESPACEORCLTBS1ADDDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS1_2.DBF'SIZE10M;SQL>ALTERTABLESPACEORCLTEMP1ADDTEMPFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTEMP1_2.DBF'SIZE10M;改變數(shù)據(jù)文件的大小可以通過改變變表空間已有有數(shù)據(jù)文件的的大小,達(dá)到到擴(kuò)展表空間間的目的。例10:將ORCL數(shù)據(jù)據(jù)庫的ORCLTBS1表空間的數(shù)數(shù)據(jù)文件ORCLTBS1_2.DBF大小增增加到20MB。SQL>ALTERDATABASEDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS1_2.DBF'RESIZE20M;改變數(shù)據(jù)文件的擴(kuò)展方式如果在創(chuàng)建表表空間或?yàn)楸肀砜臻g增加數(shù)數(shù)據(jù)文件時沒沒有指定AUTOEXTENDON選項(xiàng),則則該文件的大大小是固定的的。如果為數(shù)數(shù)據(jù)文件指定定了AUTOEXTENDON選選項(xiàng),當(dāng)數(shù)據(jù)據(jù)文件被填滿滿時,數(shù)據(jù)文文件會自動擴(kuò)擴(kuò)展,即表空空間被擴(kuò)展了了。例11:將ORCL數(shù)據(jù)據(jù)庫的ORCLTBS1表空間的數(shù)數(shù)據(jù)文件ORCLTBS1_2.DBF設(shè)置為為自動擴(kuò)展,,每次擴(kuò)展5MB空間間,文件最大大為100MB。SQL>ALTERDATABASEDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS1_2.DBF'AUTOEXTENDONNEXT5MMAXSIZE100M;修改表空間可可用性離線狀態(tài)的表表空間是不能能進(jìn)行數(shù)據(jù)訪訪問的,所對對應(yīng)的所有數(shù)數(shù)據(jù)文件也都都處于脫機(jī)狀狀態(tài)。一些表空間必須是在線狀態(tài):SYSTEM表空間存放在線回退信息息的撤銷表空間臨時表空間語法ALTERTABLESPACE…ONLINE|OFFLINE例12、13:SQL>ALTERTABLESPACEORCLTBS1OFFLINE;SQL>ALTERTABLESPACEORCLTBS1ONLINE;修改表空間讀讀寫性語法:ALTERTABLESPACE…READONLY|READWRITE設(shè)置“只讀””的目的:避免對DB中中大量靜態(tài)數(shù)數(shù)據(jù)進(jìn)行備份份;避免用戶對歷歷史數(shù)據(jù)進(jìn)行行修改。表空間只有滿足下列要求求才可以轉(zhuǎn)換為為只讀狀態(tài):表空間處于聯(lián)機(jī)狀態(tài);表空間中不能包含任何活動動的回退段;如果表空間正在進(jìn)行聯(lián)機(jī)機(jī)數(shù)據(jù)庫備份份,不能將它設(shè)置為只讀狀狀態(tài)。因?yàn)槁?lián)機(jī)備備份結(jié)束時,,Oracle更新表空空間數(shù)據(jù)文件件的頭部信息息。例14、15:SQL>ALTERTABLESPACEORCLTBS1READONLY;SQL>ALTERTABLESPACEORCLTBS1READWRITE;設(shè)置默認(rèn)表空空間在Oracle10g數(shù)數(shù)據(jù)庫中,默默認(rèn)表空間為為USERS表空間,默默認(rèn)臨時表空空間為TEMP表空間。。設(shè)置數(shù)據(jù)庫庫的默認(rèn)表表空間ALTERDATABASEDEFAULTTABLESPACE設(shè)置數(shù)據(jù)庫庫的默認(rèn)臨臨時表空間間ALTERDATABASEDEFAULTTEMPORARYTABLESPACE例16、17、18:SQL>ALTERDATABASEDEFAULTTABLESPACEORCLTBS1;SQL>ALTERDATABASEDEFAULTTEMPORARYTABLESPACETEMP;SQL>ALTERDATABASEDEFAULTTEMPORARYTABLESPACEtemp_group1;表空間重命命名語句ALTERTABLESPACE……RENAMETO當(dāng)重命名一一個表空間間時:數(shù)據(jù)庫會自動更新數(shù)據(jù)字典、控制文件以及數(shù)據(jù)文件頭頭部中對該表空空間的引用用。表空間ID號并沒沒有修改,如果該表表空間是數(shù)數(shù)據(jù)庫默認(rèn)認(rèn)表空間,,那么重命命名后仍然然是數(shù)據(jù)庫庫的默認(rèn)表表空間。注意:不能重命名SYSTEM表空間和SYSAUX表空間;不能重命名處于于脫機(jī)狀態(tài)或部分?jǐn)?shù)據(jù)文文件處于脫脫機(jī)狀態(tài)的表空間。。(3)表空空間的備份份語法ALTERTABLESPACE……BEGIN|ENDBACKUP在數(shù)據(jù)庫進(jìn)進(jìn)行熱備份份(聯(lián)機(jī)備備份)時,,需要分別別對表空間間進(jìn)行備份份?;静襟E為:使用ALTERTABLESPACE…BEGINBACKUP語句將將表空間設(shè)置為備份份模式。在操作系統(tǒng)統(tǒng)中備份表表空間所對對應(yīng)的數(shù)據(jù)據(jù)文件。使用ALTERTABLESPACE…ENDBACKUP語句結(jié)束表空間間的備份模模式。例20:備備份ORCL數(shù)據(jù)庫庫的ORCLTBS1表空間間。SQL>ALTERTABLESPACEORCLTBS1BEGINBACKUP;復(fù)制ORCLTBS1表空間間的數(shù)據(jù)文文件ORCLTBS1_1.DBF和和ORCLTBS1_2.DBF到目標(biāo)位置。。SQL>ALTERTABLESPACEORCLTBS1ENDBACKUP;(4)刪除除表空間語法DROPTABLESPACEtablespace_name說明:如果表空間間非空,應(yīng)帶有子子句INCLUDINGCONTENTS若要刪除操作系系統(tǒng)下的數(shù)數(shù)據(jù)文件,應(yīng)帶有子子句ANDDATAFILES刪除參照完完整性約束,應(yīng)帶帶有子句CASCADECONSTRAINTS例21:刪刪除ORCL數(shù)據(jù)庫庫的ORCLTBS1表空間及其其所有內(nèi)容。例22:刪刪除ORCL數(shù)據(jù)庫庫的ORCLUNDO1表空空間及其所所有內(nèi)容,,同時刪除其其所對應(yīng)的的數(shù)據(jù)文件件。例23:刪刪除ORCL數(shù)據(jù)庫庫的ORCLUNDO1表空空間及其所所有內(nèi)容,,同時刪除其所對對應(yīng)的數(shù)據(jù)據(jù)文件,以及其他他表空間中中與ORCLUNDO1表空空間相關(guān)的的參照完整性性約束。SQL>DROPTABLESPACEORCLTBS1INCLUDINGCONTENTS;SQL>DROPTABLESPACEORCLUNDO1INCLUDINGCONTENTSANDDATAFILES;SQL>DROPTABLESPACEORCLUNDO1INCLUDINGCONTENTSANDDATAFILESCASCADECONSTRAINTS;(5)大文文件表空間間的管理概念大文件表空空間只包含一個個數(shù)據(jù)文件,,可以減少少數(shù)據(jù)庫中中數(shù)據(jù)文件件的數(shù)量,,減少SGA中用于于存放數(shù)據(jù)據(jù)文件信息息的內(nèi)存需需求,同時時減小控制制文件。通過對大文文件表空間間的操作可可以實(shí)現(xiàn)對對數(shù)據(jù)文件件的透明操操作,簡化化了對數(shù)據(jù)據(jù)文件的管管理。大文件表空空間只能采用本地管理方式,其段采用自動管理方式。如果在數(shù)據(jù)據(jù)庫創(chuàng)建時時設(shè)置系統(tǒng)默認(rèn)的的表空間類類型為BIGFILE,則使用CREATETABLESPACE語句默認(rèn)認(rèn)創(chuàng)建的就就是大文件件表空間。。此時要創(chuàng)創(chuàng)建傳統(tǒng)的的小文件表表空間,則則需要使用用CREATESMALLFILETABLESPACE語句。。創(chuàng)建大文件件表空間的的語句CREATEBIGFILETABLESPACE例24:創(chuàng)創(chuàng)建一個大大文件表空空間ORCLTBS5。SQL>CREATEBIGFILETABLESPACEORCLTBS5DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS5_1.DBF'SIZE20M;大文件表空空間的操作作例25:將將大文件表表空間ORCLTBS5的數(shù)數(shù)據(jù)文件D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS5_1.DBF大小小修改為30MB。例26:將將大文件表表空間ORCLTBS5的數(shù)數(shù)據(jù)文件D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS5_1.DBF修改為為可以自動動擴(kuò)展。SQL>ALTERTABLESPACEORCLTBS5RESIZE30M;SQL>ALTERTABLESPACEORCLTBS5AUTOEXTENDONNEXT10MMAXSIZEUNLIMITED;(6)表空空間信息查查詢V$TABLESPACE::從控制文文件中獲取取的表空間間名稱和編編號信息。。DBA_TABLESPACES:數(shù)數(shù)據(jù)庫中所所有表空間間的信息。。DBA_TABLESPACE_GROUPS:表空間間組及其包包含的表空空間信息。。DBA_SEGMENTS::所有表空空間中段的的信息。DBA_EXTENTS:所所有表空間間中區(qū)的信信息。DBA_FREE_SPACE:所有有表空間中中空閑區(qū)的的信息。V$DATAFILE:所有有數(shù)據(jù)文件件信息,包包括所屬表表空間的名名稱和編號號。V$TEMPFILE:所有有臨時文件件信息,包包括所屬表表空間的名名稱和編號號。DBA_DATA_FILES:數(shù)據(jù)據(jù)文件及其其所屬表空空間信息。。DBA_TEMP_FILES:臨時時文件及其其所屬表空空間信息。。DBA_USERS:所有用用戶的默認(rèn)認(rèn)表空間和和臨時表空空間信息。。DBA_TS_QUOTAS:所有用用戶的表空空間配額信信息。V$SORT_SEGMENT:數(shù)據(jù)據(jù)庫實(shí)例的的每個排序序段信息。。V$SORT_USER:用用戶使用臨臨時排序段段信息。查詢表空間間基本信息息查詢表空間間數(shù)據(jù)文件件信息查詢表空間間空閑空間大大小SQL>SELECTTABLESPACE_NAME,EXTENT_MANAGEMENT,ALLOCATION_TYPE,CONTENTSFROMDBA_TABLESPACES;SQL>SELECTFILE_NAME,BLOCKS,TABLESPACE_NAMEFROMDBA_DATA_FILES;SQL>SELECTTABLESPACE_NAME,SUM(BYTES)FREE_SPACESFROMDBA_FREE_SPACEGROUPBYTABLESPACE_NAME;統(tǒng)計(jì)表空間間空閑空間間信息SQL>SELECTTABLESPACE_NAME"TABLESPACE",FILE_ID,COUNT(*)"PIECES",MAX(blocks)"MAXIMUM",MIN(blocks)"MINIMUM",AVG(blocks)"AVERAGE",SUM(blocks)"TOTAL"FROMDBA_FREE_SPACEGROUPBYTABLESPACE_NAME,FILE_ID;(7)利用用OEM管管理表空間間創(chuàng)建表空間間編輯表空間間查看表空間間信息刪除表空間間臨時表空間間組的管理理7.3數(shù)數(shù)據(jù)塊(BLOCK)數(shù)據(jù)塊的概概念數(shù)據(jù)塊結(jié)構(gòu)構(gòu)數(shù)據(jù)塊的管管理(1)數(shù)據(jù)據(jù)塊的概念念最小的I/O單元元包括一個或或者多個OSBLOCK在數(shù)據(jù)庫創(chuàng)創(chuàng)建時設(shè)置置,大小不不可更改分為標(biāo)準(zhǔn)塊和非標(biāo)準(zhǔn)塊數(shù)據(jù)庫創(chuàng)建建時,DB_BLOCK_SIZE參參數(shù)設(shè)置標(biāo)標(biāo)準(zhǔn)塊大小小(2)數(shù)據(jù)據(jù)庫塊結(jié)構(gòu)構(gòu)Header(塊頭頭部)Freespace(空閑閑區(qū))Data(行數(shù)據(jù)區(qū)區(qū))存儲區(qū)塊頭部包括括標(biāo)題、表表目錄、行行目錄三部部分。標(biāo)題包含塊的一一般屬性信信息,如塊塊的物理地地址、塊所所屬段的類類型等;表目錄包含數(shù)據(jù)塊塊中保存的的表的信息息;行目錄包含數(shù)據(jù)塊塊中的行地地址等信息息。存儲區(qū)包括括行數(shù)據(jù)區(qū)區(qū)和空閑區(qū)區(qū)兩部分。。行數(shù)據(jù)區(qū)是已經(jīng)使用用的空間,,保存數(shù)據(jù)據(jù)庫的對象象數(shù)據(jù);空閑區(qū)是尚未使用用的存儲空空間,用于于存放新的的行或用來來更新已存存在的行。。(3)數(shù)據(jù)據(jù)塊的管理理對塊的管理理主要是對塊中可用存儲空空間的管理理,確定保留留多少空閑閑空間,避避免產(chǎn)生行行鏈接、行行遷移而影影響數(shù)據(jù)的的查詢效率率。當(dāng)向表格中中插入數(shù)據(jù)時時,如果行的的長度大于于塊的大小小,行的信信息無法存存放在一個個塊中,就就需要使用用多個塊存存放行信息息,這稱為為行鏈接。當(dāng)表格數(shù)據(jù)被更新新時,如果更新新后的數(shù)據(jù)據(jù)長度大于于塊長度,,Oracle會將將整行的數(shù)數(shù)據(jù)從原數(shù)數(shù)據(jù)塊遷移移到新的數(shù)數(shù)據(jù)塊中,,只在原數(shù)數(shù)據(jù)塊中留留下一個指指針指向新新數(shù)據(jù)塊,,這稱為行遷移。對塊的管理理分為自動和手動兩種。如果建立表表空間時使使用本地管理方式,并且且將段的管管理方式設(shè)設(shè)置為AUTO,則采用自自動方式管管理塊。否則,DBA可以采采用手動管管理方式,,通過為段段設(shè)置PCTFREE和PCTUSED兩個參參數(shù)來控制制數(shù)據(jù)塊中中空閑空間間的使用。。PCTFREE指定塊中必須保留的的最小空閑閑空間比例例。當(dāng)數(shù)據(jù)塊塊的自由空空間百分率率低于PCTFREE時,,此數(shù)據(jù)塊塊被標(biāo)志為USED,此時在數(shù)數(shù)據(jù)塊中只可以進(jìn)行更新操作,而不不可以進(jìn)行行插入操作作。該參數(shù)數(shù)默認(rèn)為10。PCTUSED指定可以向向塊中插入入數(shù)據(jù)時塊塊已使用的最最大空間比比列。當(dāng)數(shù)據(jù)塊塊使用空間間低于PCTUSED時,,此塊標(biāo)志為FREE,可以對數(shù)數(shù)據(jù)塊中數(shù)數(shù)據(jù)進(jìn)行插插入操作;;反之,如如果使用空空間高于PCTUSED,則則不可以進(jìn)進(jìn)行插入操操作。該參參數(shù)默認(rèn)為10。同時設(shè)置這這兩個參數(shù)數(shù)就能夠控控制塊存儲儲空間的使使用方式。。插入操作只能向位于可用用塊列表中中的塊寫入入數(shù)據(jù)。插入數(shù)據(jù)不能占用保留空閑空空間,只有有在對塊中中的已有數(shù)數(shù)據(jù)進(jìn)行更更新時,才才能使用保保留空閑空空間。80%80%40%Inserts1234InsertsPCTFREE=20PCTUSED=40Insert(onfreelist)Inserts(offfreelist)INITRANS可以同時對此此數(shù)據(jù)塊進(jìn)行行DML操作作的事務(wù)的個個數(shù)。MAXTRANS可以同時對此此數(shù)據(jù)塊進(jìn)行行DML操作作的最多事務(wù)務(wù)的個數(shù)。7.4區(qū)區(qū)的概念區(qū)的管理(1)區(qū)的概概念區(qū)是由一系列列連續(xù)的數(shù)據(jù)塊塊構(gòu)成的邏輯存存儲單元,是是存儲空間分配配與回收的最小單位。當(dāng)創(chuàng)建一個數(shù)數(shù)據(jù)庫對象時時,Oracle為對象象分配若干個個區(qū),以構(gòu)成成一個段來為為對象提供初初始的存儲空空間。當(dāng)段中中已分配的區(qū)區(qū)都寫滿后,,Oracle會為段分分配一個新區(qū)區(qū),以容納更更多的數(shù)據(jù)。。(2)區(qū)的管管理區(qū)的分配在本地管理方式式的表空間中,,自動進(jìn)行區(qū)區(qū)的分配。可可以通過使用用UNIFORM選項(xiàng),,指定所有段段的初始區(qū)和和后續(xù)區(qū)具有有統(tǒng)一大小,,也可以使用用AUTOALLOCATE選項(xiàng)指指定由Oracle自動動決定后續(xù)區(qū)區(qū)大小。用戶戶不能通過其其他參數(shù)來干干預(yù)區(qū)的分配配。在字典管理方式式的表空間中,,創(chuàng)建表空間間時可以使用用DEFAULTSTORAGE子句設(shè)置存存儲參數(shù),也也可以在該表表空間定義對對象時通過STORAGE子句設(shè)置置存儲參數(shù)。。如果在定義義對象時沒有有設(shè)置存儲參參數(shù),則繼承承表空間存儲儲參數(shù)的設(shè)置置。例27:創(chuàng)建建一個本地管管理方式的表表空間,區(qū)分分配采用自動動擴(kuò)展方式進(jìn)進(jìn)行。例28:創(chuàng)建建一個本地管管理方式的表表空間,區(qū)分分配采用固定定大小,每個個區(qū)5MB。SQL>CREATETABLESPACEORCLTBS6DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS6_1.DBF'SIZE20MEXTENTMANAGEMENTLOCALAUTOALLOCATE;SQL>CREATETABLESPACEORCLTBS7DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS7_1.DBF'SIZE10MEXTENTMANAGEMENTLOCALUNIFORMSIZE5M;區(qū)的回收通常分配給段段的區(qū)將一直保留在段段中,不論區(qū)中的的數(shù)據(jù)塊是否否被使用。只有當(dāng)段所屬的對象被刪除時,段中所有有的區(qū)才會被被回收。此外,在一些些特殊情況下下,也能夠回回收未使用的的區(qū)。例如,,如果在創(chuàng)建建回滾段時指指定了OPTIMAL關(guān)關(guān)鍵字,Oracle會會定期回收回回滾段中未使使用的區(qū)。7.5段段概述回滾段段段概述段的概述段是由一個或多個連續(xù)或不連續(xù)續(xù)的區(qū)組成的邏邏輯存儲單元元。數(shù)據(jù)庫模式對對象在邏輯上上是以段來占占據(jù)表空間的的大小。段代表特定數(shù)數(shù)據(jù)類型的數(shù)數(shù)據(jù)存儲結(jié)構(gòu)構(gòu)。一個對象只擁有一個段,一個個段至少包含含一個區(qū)。段的類型:數(shù)據(jù)段索引段臨時段回滾段數(shù)據(jù)段數(shù)據(jù)段用來存存儲表或簇的的數(shù)據(jù),可以以細(xì)分為普通表數(shù)據(jù)段段、索引表數(shù)據(jù)段段、分區(qū)表數(shù)據(jù)段段及簇?cái)?shù)據(jù)段四種。索引段用來存放索引引信息,主要要包括ROWID和索引鍵。索引段與其相相應(yīng)的表段經(jīng)經(jīng)常會被同時時訪問,為了了減少硬盤訪訪問的沖突,,索引段與表表段可以放到到處于不同物物理位置的表表空間中。臨時段當(dāng)用戶進(jìn)行排排序查詢時,,如果在指定定的內(nèi)存無法法完成排序,,Oracle將自動從從用戶默認(rèn)的的臨時表空間間中指派臨時時段進(jìn)行排序序。會話結(jié)束束,數(shù)據(jù)將從從臨時段中自自動刪除。回滾段回滾段用于保保存數(shù)據(jù)庫的的回滾信息,,包含當(dāng)前未未提交事務(wù)所所修改的數(shù)據(jù)據(jù)的原始版本本。一個事務(wù)只能使用一個個回滾段存放它它的回滾信息息,但是一個個回滾段可以以存放多個事事務(wù)的回滾信信息?;貪L段段可以動態(tài)創(chuàng)創(chuàng)建和撤銷。?;鼗貪L段回滾段的工作方式回滾段的作用用回滾段的種類類回滾段的管理理回滾段的查詢詢(1)回滾段段的工作方式回滾段采用循環(huán)寫的方式式進(jìn)行寫入。當(dāng)當(dāng)回滾段中最最后一個區(qū)寫寫滿時,Oracle將覆蓋寫入回回滾段的第一一個區(qū),如果果此時第一個個區(qū)保存得回回滾條目所對對應(yīng)的事務(wù)依依然處于活動狀態(tài)(事務(wù)未提交交),則此時時該區(qū)不能被覆蓋,Oracle將為回滾段分分配一個新的的區(qū)。一個回滾段至少需要兩個個區(qū)。一個事務(wù)可可以占用回滾滾段中的多個個區(qū),同一個個區(qū)也能夠
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)答辯-學(xué)前教育
- 組件封裝工藝流程
- 婚慶策劃居間協(xié)議模板
- 自助便利店創(chuàng)業(yè)計(jì)劃書
- 老年護(hù)理與老年人安全保護(hù)
- 實(shí)驗(yàn)室翻新附加合同范本
- 端子壓接機(jī)安全操作規(guī)程
- 咖啡連鎖店裝修協(xié)議樣本
- 產(chǎn)品銷售合同范本
- 2024清河縣職業(yè)技術(shù)教育中心工作人員招聘考試及答案
- 2025年蘭考三農(nóng)職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測試歷年(2019-2024年)真題考點(diǎn)試卷含答案解析
- 2025電動自行車集中充電設(shè)施第2部分:充換電服務(wù)信息交換
- 輸油管道安全培訓(xùn)
- 2025年海南重點(diǎn)項(xiàng)目-300萬只蛋雞全產(chǎn)業(yè)鏈項(xiàng)目可行性研究報告
- 2025美國急性冠脈綜合征(ACS)患者管理指南解讀課件
- 統(tǒng)編歷史七年級下冊(2024版)第7課-隋唐時期的科技與文化【課件】f
- 2025年河南省高校畢業(yè)生“三支一扶”招募1100人高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 2025年國家林業(yè)局西北林業(yè)調(diào)查規(guī)劃設(shè)計(jì)院招聘4人歷年高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 橋梁檢測報告模板
- 現(xiàn)代護(hù)理管理新理念
- 2025年浪潮數(shù)字企業(yè)技術(shù)有限公司招聘筆試參考題庫含答案解析
評論
0/150
提交評論