版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第6章邏輯存儲結(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ū)的管理掌握段的作用,了解段的管理6.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ù)塊(段片)6.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)系(2)表表空空間間的的分分類類系統(tǒng)統(tǒng)表表空空間間SYSTEM表空空間間,,主主要要存存儲儲::數(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)統(tǒng)表表空空間間撤銷銷表表空空間間專門門進(jìn)進(jìn)行行回回滾滾信信息息的的自自動動管管理理,,由UNDO_TABLESPACE參數(shù)數(shù)設(shè)設(shè)置置。臨時時表表空空間間專門門進(jìn)進(jìn)行行臨臨時時數(shù)數(shù)據(jù)據(jù)管管理理的的表表空空間間在數(shù)數(shù)據(jù)據(jù)庫庫實實例例運運行行過過程程中中,,執(zhí)執(zhí)行行排排序序等等SQL語句句時時會會產(chǎn)產(chǎn)生生大大量量的的臨臨時時數(shù)數(shù)據(jù)據(jù),,這這些些臨臨時時數(shù)數(shù)據(jù)據(jù)將將保保存存在在數(shù)數(shù)據(jù)據(jù)庫庫臨臨時時表表空空間間中中。。默認(rèn)認(rèn)臨臨時時表表空空間間用戶戶表表空空間間保存存用用戶戶數(shù)數(shù)據(jù)據(jù)大文文件件表表空空間間與與小小文文件件表表空空間間所謂謂大大文文件件表表空空間間((BigfileTablespace)是是指指一一個個表表空空間間只只包包含含一一個個大大數(shù)數(shù)據(jù)據(jù)文文件件,,該該文文件件的的最最大大尺尺寸寸為為128TB(數(shù)數(shù)據(jù)據(jù)塊塊大大小小為為32KB)或或只只32TB(數(shù)數(shù)據(jù)據(jù)塊塊大大小小為為8KB)。。與大大文文件件表表空空間間相相對對應(yīng)應(yīng),,系系統(tǒng)統(tǒng)默默認(rèn)認(rèn)創(chuàng)創(chuàng)建建的的表表空空間間稱稱為為小小文文件件表表空空間間((SmallfileTablespace),,如如SYSTEM表空間、SYSAUX表空間等。小小文件表空間間可以包含多多達(dá)1024個數(shù)據(jù)文件。。小文件表空空間的總?cè)萘苛颗c大文件表表空間的容量量基本相似。。(3)表空間的管管理方式字典管理方式式表空間使用數(shù)數(shù)據(jù)字典來管管理存儲空間間的分配,當(dāng)當(dāng)進(jìn)行區(qū)的分分配與回收時時,Oracle將對數(shù)據(jù)字典典中的相關(guān)基基礎(chǔ)表進(jìn)行更更新,同時會會產(chǎn)生回滾信信息和重做信信息。字典管管理方式將漸漸漸被淘汰。。本地管理方式式在本地管理方方式中,區(qū)的的分配和管理理信息都存儲儲在表空間的的數(shù)據(jù)文件中中,而與數(shù)據(jù)據(jù)字典無關(guān)。。表空間在每每個數(shù)據(jù)文件件中維護(hù)一個個“位圖”結(jié)構(gòu),用于記記錄表空間中中所有區(qū)的分分配情況,因因此區(qū)在分配配與回收時,,Oracle將對數(shù)據(jù)文件件中的位圖進(jìn)進(jìn)行更新,不不會產(chǎn)生回滾滾信息或重做做信息。表空間本地管管理方式的優(yōu)優(yōu)勢:由于在區(qū)分配配與回收過程程中不需要對對數(shù)據(jù)字典進(jìn)進(jìn)行訪問,提提高了表空間間存儲管理操操作的速度和和并發(fā)性。能夠避免表空空間存儲管理理操作中的遞遞歸現(xiàn)象,提提高了存儲空空間管理操作作性能。由于本地管理理的臨時表空空間在使用過過程中不會產(chǎn)產(chǎn)生任何重做做信息和撤銷銷信息,因此此既使查詢操操作中包含排排序,對數(shù)據(jù)據(jù)庫來說也完完全是只讀操操作,這樣能能夠在保留可可查詢性同時時,將整個數(shù)數(shù)據(jù)庫設(shè)置為為只讀狀態(tài)。。這種數(shù)據(jù)庫庫可以作為備備用數(shù)據(jù)庫使使用。簡化了表空間間的存儲管理理,由Oracle自動完成存儲儲管理操作。。降低了用戶對對數(shù)據(jù)字典的的依賴性。不存在磁盤碎碎片問題,因因為必要的信信息都存儲在在數(shù)據(jù)文件的的位圖中,而而不是保存在在數(shù)據(jù)字典中中(4)表空間管理理策略將數(shù)據(jù)字典與與用戶數(shù)據(jù)分分離,避免由由于數(shù)據(jù)字典典對象和用戶戶對象保存在在一個數(shù)據(jù)文文件中而產(chǎn)生生I/O沖突。將回滾數(shù)據(jù)與與用戶數(shù)據(jù)分分離,避免由由于硬盤損壞壞而導(dǎo)致永久久性的數(shù)據(jù)丟丟失。將表空間的數(shù)數(shù)據(jù)文件分散散保存到不同同的硬盤上,,平均分布物物理I/O操作。為不同的應(yīng)用用創(chuàng)建獨立的的表空間,避避免多個應(yīng)用用之間的相互互干擾。能夠?qū)⒈砜臻g間設(shè)置為脫機(jī)機(jī)狀態(tài)或聯(lián)機(jī)機(jī)狀態(tài),以便便對數(shù)據(jù)庫的的一部分進(jìn)行行備份或恢復(fù)復(fù)。能夠?qū)⒈砜臻g間設(shè)置為只讀讀狀態(tài),從而而將數(shù)據(jù)庫的的一部分設(shè)置置為只讀狀態(tài)態(tài)。能夠為某種特特殊用途專門門設(shè)置一個表表空間,如臨臨時表空間,,優(yōu)化表空間間的使用效率率。能夠更加靈活活地為用戶設(shè)設(shè)置表空間配配額。7.2.2表空間的管理理(本地管理理方式)創(chuàng)建表空間修改表空間表空間的備份份刪除表空間大文件表空間間的管理表空間信息查查詢利用OEM管理表空間(1)創(chuàng)建表空間間在創(chuàng)建本地管管理方式下的的表空間時,,應(yīng)該確定表表空間的名稱稱、類型、對對應(yīng)的數(shù)據(jù)文文件的名稱和和位置以及區(qū)區(qū)的分配方式式、段的管理理方式表空間名稱不不能超過30個字符,必須須以字母開頭頭,可以包含含字母、數(shù)字字以及一些特特殊字符(如如#、_、$)等;表空間的類型型包括普通表表空間、臨時時表空間和撤撤銷表空間;;表空間中區(qū)的的分配方式包包括兩種方式式:自動擴(kuò)展展(AUTOALLOCATE)和定制(UNIFORM);段的管理包括括兩種方式::自動管理((AUTO)和手動管理理(MANUAL)。創(chuàng)建永久表空空間創(chuàng)建永久表空空間使用CREATETABLESPACE語句來實現(xiàn),,該語句包含含以下幾個子子句:DATAFILE:設(shè)定表空間間對應(yīng)的數(shù)據(jù)據(jù)文件。EXTENTMANAGEMENT:指定表空間間的管理方式式,取值為LOCAL(默認(rèn))或DICTIONARY。AUTOALLOCATE(默認(rèn))或UNIFORM:設(shè)定區(qū)的分分配方式。SEGMENTSPACEMANAGEMENT:設(shè)定段的管管理方式,其其取值為MANUAL或AUTO(默認(rèn))。。為ORCL數(shù)據(jù)庫創(chuàng)建一一個永久性的的表空間,區(qū)區(qū)自動擴(kuò)展,,段采用自動動管理方式CREATETABLESPACEORCLTBS1DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS1_1.DBF'SIZE50M;為ORCL數(shù)據(jù)庫創(chuàng)建一一個永久性的的表空間,區(qū)區(qū)定制分配,,段采用自動動管理方式。。CREATETABLESPACEORCLTBS2DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS2_1.DBF'SIZE50MEXTENTMANAGEMENTLOCALUNIFORMSIZE512K;為ORCL數(shù)據(jù)庫創(chuàng)建一一個永久性的的表空間,區(qū)區(qū)自動擴(kuò)展,,段采用手動動管理方式。。CREATETABLESPACEORCLTBS3DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS3_1.DBF'SIZE50MSEGMENTSPACEMANAGEMENTMANUAL;為ORCL數(shù)據(jù)庫創(chuàng)建一一個永久性的的表空間,區(qū)區(qū)定制分配,,段采用手動動管理方式。。CREATETABLESPACEORCLTBS4DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS4_1.DBF'SIZE50MEXTENTMANAGEMENTLOCALUNIFORMSIZE512KSEGMENTSPACEMANAGEMENTMANUAL;創(chuàng)建臨時表空空間使用CREATETEMPORARYTABLESPACE語句創(chuàng)建臨時時表空間,用用TEMPFILE子句設(shè)置臨時時數(shù)據(jù)文件。。需要注意的是是臨時表空間間中區(qū)的分配配方式只能是是UNIFORM,而不能是AUTOALLOCATE,因為這樣才才能保證不會會在臨時段中中產(chǎn)生過多的的存儲碎片。。為ORCL數(shù)據(jù)庫創(chuàng)建一一個臨時表空空間ORCLTEMP1。CREATETEMPORARYTABLESPACEORCLTEMP1TEMPFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTEMP1_1.DBF'SIZE20MEXTENTMANAGEMENTLOCALUNIFORMSIZE16M;臨時表空間組組將一個或多個個臨時表空間間構(gòu)成一個表表空間組。當(dāng)當(dāng)將臨時表空空間組作為數(shù)數(shù)據(jù)庫或用戶戶的默認(rèn)臨時時表空間時,,用戶就可以以同時使用該該表空間組中中所有的臨時時表空間,避避免了由于單單個臨時表空空間的空間不不足而導(dǎo)致數(shù)數(shù)據(jù)庫運行故故障。同時,,使用臨時表表空間組,可可以保證在一一個簡單并行行操作中多個個并行服務(wù)的的執(zhí)行。臨時表空間組組不需要顯式式創(chuàng)建,為臨臨時表空間組組指定第一個個臨時表空間間時隱式創(chuàng)建建,當(dāng)臨時表表空間組中最最后一個臨時時表空間刪除除時而隱式地地刪除。通過在CREATETEMPORARYTABLSPACE或ALTERTABLESPACE語句中使用TABLESPACEGROUP短語創(chuàng)建臨時時表空間組。。為ORCL數(shù)據(jù)庫創(chuàng)建一一個臨時表空空間ORCLTEMP2,并放入臨時時表空間組temp_group1。同時,將臨臨時表空間ORCLTEMP1也放入該temp_group1中。CREATETEMPORARYTABLESPACEORCLTEMP2TEMPFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTEMP2_1.DBF'SIZE20MEXTENTMANAGEMENTLOCALUNIFORMSIZE16MTABLESPACEGROUPtemp_group1;ALTERTABLESPACEORCLTEMP1TABLESPACEGROUPtemp_group1;創(chuàng)建撤銷表空空間在Oracle10g中引入了撤銷銷表空間的概概念,專門用用于回滾段的的自動管理。。如果數(shù)據(jù)庫庫中沒有創(chuàng)建建撤銷表空間間,那么將使使用SYSTEM表空間來管理理回滾段。如果數(shù)據(jù)庫中中包含多個撤撤銷表空間,,那么一個實實例只能使用用一個處于活活動狀態(tài)的撤撤銷表空間,,可以通過參參數(shù)UNDO_TABLESPACE來指定;如果果數(shù)據(jù)庫中只只包含一個撤撤銷表空間,,那么數(shù)據(jù)庫庫實例啟動后后會自動使用用該撤銷表空空間。如果要使用撤撤銷表空間對對數(shù)據(jù)庫回滾滾信息進(jìn)行自自動管理,則則必須將初始始化參數(shù)UNDO_MANAGEMENT=AUTO。可以使用CREATEUNDOTABLESPACE語句創(chuàng)建撤銷銷表空間,但但是在該語句句中只能指定定DATAFILE和EXTENTMANAGEMENTLOCAL兩個子句,而而不能指定其其他子句。為ORCL數(shù)據(jù)庫創(chuàng)建一一個撤銷表空空間。CREATEUNDOTABLESPACEORCLUNDO1DATAFILE'D:\ORACLE\ORADATA\ORCL\ORCLUNDO1_1.DBF'SIZE20M;如果要要在數(shù)數(shù)據(jù)庫庫使用用該撤撤銷表表空間間,需需要設(shè)設(shè)置參參數(shù)UNDO_MANAGEMENT=AUTOUNDO_TABLESPACE=ORCLUNDO1(2)修改改表空空間可以對對表空空間進(jìn)進(jìn)行下下列修修改操操作::擴(kuò)展表表空間間修改表表空間間可用用性修改表表空間間讀/寫性設(shè)置默默認(rèn)表表空間間表空間間重命命名注意不能將將本地地管理理的永永久性性表空空間轉(zhuǎn)轉(zhuǎn)換為為本地地管理理的臨臨時表表空間間,也也不能能修改改本地地管理理表空空間中中段的的管理理方式式。擴(kuò)展表表空間間為表空空間添添加數(shù)數(shù)據(jù)文文件通過ALTERTABLESPACE…ADDDATAFILE語句為為永久久表空空間添添加數(shù)數(shù)據(jù)文文件,,通過過ALTERTABLESPACE…ADDTEMPFILE語句為為臨時時表空空間添添加臨臨時數(shù)數(shù)據(jù)文文件。。為ORCL數(shù)據(jù)庫庫的ORCLTBS1表空間間添加加一個個大小小為10MB的新數(shù)數(shù)據(jù)文文件。。ALTERTABLESPACEORCLTBS1ADDDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS1_2.DBF'SIZE10M;為ORCL數(shù)據(jù)庫庫的ORCLTEMP1表空間間添加加一個個大小小為10MB的臨時時數(shù)據(jù)據(jù)文件件。ALTERTABLESPACEORCLTEMP1ADDTEMPFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTEMP1_2.DBF'SIZE20M;改變數(shù)數(shù)據(jù)文文件的的大小小可以通通過改改變表表空間間已有有數(shù)據(jù)據(jù)文件件的大大小,,達(dá)到到擴(kuò)展展表空空間的的目的的。將ORCL數(shù)據(jù)庫庫的ORCLTBS1表空間間的數(shù)數(shù)據(jù)文文件ORCLTBS1_2.DBF大小增增加到到20MB。ALTERDATABASEDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS1_2.DBF'RESIZE20M;改變數(shù)數(shù)據(jù)文文件的的擴(kuò)展展方式式如果在在創(chuàng)建建表空空間或或為表表空間間增加加數(shù)據(jù)據(jù)文件件時沒沒有指指定AUTOEXTENDON選項,,則該該文件件的大大小是是固定定的。。如果果為數(shù)數(shù)據(jù)文文件指指定了了AUTOEXTENDON選項,,當(dāng)數(shù)數(shù)據(jù)文文件被被填滿滿時,,數(shù)據(jù)據(jù)文件件會自自動擴(kuò)擴(kuò)展,,即表表空間間被擴(kuò)擴(kuò)展了了。將ORCL數(shù)據(jù)庫庫的ORCLTBS1表空間間的數(shù)數(shù)據(jù)文文件ORCLTBS1_2.DBF設(shè)置為為自動動擴(kuò)展展,每每次擴(kuò)擴(kuò)展5MB空間,,文件件最大大為100MB。ALTERDATABASEDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS1_2.DBF'AUTOEXTENDONNEXT5MMAXSIZE100M;修改表表空間間可用用性離線狀狀態(tài)的的表空空間是是不能能進(jìn)行行數(shù)據(jù)據(jù)訪問問的,所對應(yīng)應(yīng)的所所有數(shù)數(shù)據(jù)文文件也也都處處于脫脫機(jī)狀狀態(tài)。。一些表表空間間必須須是在在線狀狀態(tài):SYSTEM表空間間存放在在線回回退信信息的的撤銷銷表空空間臨時表表空間間語法ALTERTABLESPACEtablespace_nameONLINE|OFFLINE示例ALTERTABLESPACEORCLTBS1OFFLINE;ALTERTABLESPACEORCLTBS1ONLINE;修改表表空間間讀寫寫性語法ALTERTABLESPACEtbs_nameREADONLY|READWRITE表空間間只有有滿足足下列列要求求才可可以轉(zhuǎn)轉(zhuǎn)換為為只讀讀狀態(tài)態(tài):表空間間處于于聯(lián)機(jī)機(jī)狀態(tài)態(tài);表空間間中不不能包包含任任何活活動的的回退退段;;如果表表空間間正在在進(jìn)行行聯(lián)機(jī)機(jī)數(shù)據(jù)據(jù)庫備備份,,不能能將它它設(shè)置置為只只讀狀狀態(tài)。。因為為聯(lián)機(jī)機(jī)備份份結(jié)束束時,,Oracle更新表表空間間數(shù)據(jù)據(jù)文件件的頭頭部信信息。。示例ALTERTABLESPACEORCLTBS1READONLY;ALTERTABLESPACEORCLTBS1READWRITE設(shè)置默默認(rèn)表表空間間在Oracle10g數(shù)據(jù)庫庫中,,默認(rèn)認(rèn)表空空間為為USERS表空間間,默默認(rèn)臨臨時表表空間間為TEMP表空間間。設(shè)置數(shù)數(shù)據(jù)庫庫的默默認(rèn)表表空間間ALTERDATABASEDEFAULTTABLESPACE設(shè)置數(shù)數(shù)據(jù)庫庫的默默認(rèn)臨臨時表表空間間ALTERDATABASEDEFAULTTEMPORARYTABLESPACE示例ALTERDATABASEDEFAULTTABLESPACEORCLTBS1;ALTERDATABASEDEFAULTTEMPORARYTABLESPACETEMP;ALTERDATABASEDEFAULTTEMPORARYTABLESPACEtemp_group1;表空間重命命名語句ALTERTABLESPACE…RENAMETO當(dāng)重命名一一個表空間間時數(shù)據(jù)庫庫會自動更更新數(shù)據(jù)字字典、控制制文件以及及數(shù)據(jù)文件件頭部中對對該表空間間的引用。。在重命名名表空間時時,該表空空間ID號并沒有修修改,如果果該表空間間是數(shù)據(jù)庫庫默認(rèn)表空空間,那么么重命名后后仍然是數(shù)數(shù)據(jù)庫的默默認(rèn)表空間間。注意不能重命名名SYSTEM表空間和SYSAUX表空間不能重命名名處于脫機(jī)機(jī)狀態(tài)或部部分?jǐn)?shù)據(jù)文文件處于脫脫機(jī)狀態(tài)的的表空間。。(3)表空間的的備份語法ALTERTABLESPACEtablespace_nameBEGIN|ENDBACKUP在數(shù)據(jù)庫進(jìn)進(jìn)行熱備份份(聯(lián)機(jī)備備份)時,,需要分別別對表空間間進(jìn)行備份份。基本步步驟為:使用ALTERTABLESPACE…BEGINBACKUP語句將表空空間設(shè)置為為備份模式式。在操作系統(tǒng)統(tǒng)中備份表表空間所對對應(yīng)的數(shù)據(jù)據(jù)文件。使用ALTERTABLESPACE…ENDBACKUP語句結(jié)束表表空間的備備份模式。。示例:備份份ORCL數(shù)據(jù)庫的ORCLTBS1表空間。ALTERTABLESPACEORCLTBS1BEGINBACKUP;復(fù)制ORCLTBS1表空間的數(shù)數(shù)據(jù)文件ORCLTBS1_1.DBF和ORCLTBS1_2.DBF到目標(biāo)位置置。ALTERTABLESPACEORCLTBS1ENDBACKUP;(4)刪除表空空間語法DROPTABLESPACEtablespace_name如果表空間間非空,應(yīng)應(yīng)帶有子句句INCLUDINGCONTENTS若要刪除操操作系統(tǒng)下下的數(shù)據(jù)文文件,應(yīng)帶帶有子句ANDDATAFILES刪除參照完完整性約束束,應(yīng)帶有有子句CASCADECONSTRAINTS刪除ORCL數(shù)據(jù)庫的ORCLTBS1表空間及其其所有內(nèi)容容。DROPTABLESPACEORCLTBS1INCLUDINGCONTENTS;刪除ORCL數(shù)據(jù)庫的ORCLUNDO1表空間及其其所有內(nèi)容容,同時刪刪除其所對對應(yīng)的數(shù)據(jù)據(jù)文件。DROPTABLESPACEORCLUNDO1INCLUDINGCONTENTSANDDATAFILES;刪除ORCL數(shù)據(jù)庫的ORCLUNDO1表空間及其其所有內(nèi)容容,同時刪刪除其所對對應(yīng)的數(shù)據(jù)據(jù)文件,以以及其他表表空間中與與ORCLUNDO1表空間相關(guān)關(guān)的參照完完整性約束束。DROPTABLESPACEORCLUNDO1INCLUDINGCONTENTSANDDATAFILESCASCADECONSTRAINTS;(5)大文件表表空間的管管理概念大文件表空空間只包含含一個數(shù)據(jù)據(jù)文件,減減少數(shù)據(jù)庫庫中數(shù)據(jù)文文件的數(shù)量量,減少SGA中用于存放數(shù)數(shù)據(jù)文件信息息的內(nèi)存需求求,同時減小小控制文件。。通過對大文件件表空間的操操作可以實現(xiàn)現(xiàn)對數(shù)據(jù)文件件的透明操作作,簡化了對對數(shù)據(jù)文件的的管理。大文件表空間間只能采用本本地管理方式式,其段采用用自動管理方方式。如果在數(shù)據(jù)據(jù)庫創(chuàng)建時時設(shè)置系統(tǒng)統(tǒng)默認(rèn)的表表空間類型型為BIGFILE,則使用CREATETABLESPACE語句默認(rèn)創(chuàng)創(chuàng)建的就是是大文件表表空間。如如果要創(chuàng)建建傳統(tǒng)的小小文件表空空間,則需需要使用CREATESMALLFILETABLESPACE語句。創(chuàng)建大文件件表空間的的語句CREATEBIGFILETABLESPACE示例:創(chuàng)建建一個大文文件表空間間ORCLTBS5。CREATEBIGFILETABLESPACEORCLTBS5DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS5_1.DBF'SIZE20M;大文件表空空間的操作作將大文件表表空間ORCLTBS5的數(shù)據(jù)文件件D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS5_1.DBF大小修改為為30MB。ALTERTABLESPACEORCLTBS5RESIZE30M;將大文件表表空間ORCLTBS5的數(shù)據(jù)文件件D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS5_1.DBF修改為可以以自動擴(kuò)展展。ALTERTABLESPACEORCLTBS5AUTOEXTENDONNEXT10MMAXSIZEUNLIMITED;(6)表空間信信息查詢V$TABLESPACE:從控制文文件中獲取取的表空間間名稱和編編號信息。。DBA_TABLESPACES:數(shù)據(jù)庫中中所有表空空間的信息息。DBA_TABLESPACE_GROUPS:表空間組組及其包含含的表空間間信息。DBA_SEGMENTS:所有表空空間中段的的信息。DBA_EXTENTS:所有表空空間中區(qū)的的信息。DBA_FREE_SPACE:所有表空空間中空閑閑區(qū)的信息息。V$DATAFILE:所有數(shù)據(jù)據(jù)文件信息息,包括所所屬表空間間的名稱和和編號。V$TEMPFILE:所有臨時時文件信息息,包括所所屬表空間間的名稱和和編號。DBA_DATA_FILES:數(shù)據(jù)文件件及其所屬屬表空間信信息。DBA_TEMP_FILES:臨時文件件及其所屬屬表空間信信息。DBA_USERS:所有用戶戶的默認(rèn)表表空間和臨臨時表空間間信息。DBA_TS_QUOTAS:所有用戶戶的表空間間配額信息息。V$SORT_SEGMENT:數(shù)據(jù)庫實實例的每個個排序段信信息。V$SORT_USER:用戶使用用臨時排序序段信息。。查詢表空間間基本信息息SELECTTABLESPACE_NAME,EXTENT_MANAGEMENT,ALLOCATION_TYPE,CONTENTSFROMDBA_TABLESPACES;查詢表空間間數(shù)據(jù)文件件信息SELECTFILE_NAME,BLOCKS,TABLESPACE_NAMEFROMDBA_DATA_FILES;查詢表空間間空閑空間間大小SELECTTABLESPACE_NAME,SUM(BYTES)FREE_SPACESFROMDBA_FREE_SPACEGROUPBYTABLESPACE_NAME;統(tǒng)計表空間間空閑空間間信息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)建表空間間編輯表空間間查看表空間間信息刪除表空間間臨時表空間間組的管理理6.3數(shù)據(jù)塊(BLOCK)數(shù)據(jù)塊的概概念數(shù)據(jù)塊結(jié)構(gòu)構(gòu)數(shù)據(jù)塊的管管理(1)數(shù)據(jù)塊的的概念最小的I/O單元包括一個或或者多個OSBLOCK在數(shù)據(jù)庫創(chuàng)創(chuàng)建時設(shè)置置,不可更更改分為標(biāo)準(zhǔn)塊塊和非標(biāo)準(zhǔn)準(zhǔn)塊DB_BLOCK_SIZE參數(shù)設(shè)置標(biāo)標(biāo)準(zhǔn)塊大小小(2)數(shù)據(jù)庫塊塊結(jié)構(gòu)HeaderFreespaceData塊頭部包括括標(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ù)塊的的管理對塊的管理理主要是對對塊中可用用存儲空間間的管理,,確定保留留多少空閑閑空間,避避免產(chǎn)生行行鏈接、行行遷移而影影響數(shù)據(jù)的的查詢效率率。當(dāng)向表格中中插入數(shù)據(jù)據(jù)時,如果果行的長度度大于塊的的大小,行行的信息無無法存放在在一個塊中中,就需要要使用多個個塊存放行行信息,這這稱為行鏈鏈接。當(dāng)表格數(shù)據(jù)據(jù)被更新時時,如果更更新后的數(shù)數(shù)據(jù)長度大大于塊長度度,Oracle會將整行的的數(shù)據(jù)從原原數(shù)據(jù)塊遷遷移到新的的數(shù)據(jù)塊中中,只在原原數(shù)據(jù)塊中中留下一個個指針指向向新數(shù)據(jù)塊塊,這稱為為行遷移。。對塊的管理理分為自動動和手動兩兩種。如果建立表表空間時使使用本地管管理方式,,并且將段段的管理方方式設(shè)置為為AUTO,則采用自自動方式管管理塊。否否則,DBA可以采用手手動管理方方式,通過過為段設(shè)置置PCTFREE和PCTUSED兩個參數(shù)來來控制數(shù)據(jù)據(jù)塊中空閑閑空間的使使用。PCTFREEPCTFREE參數(shù)數(shù)指指定定塊塊中中必必須須保保留留的的最最小小空空閑閑空空間間比比例例。。當(dāng)當(dāng)數(shù)數(shù)據(jù)據(jù)塊塊的的自自由由空空間間百百分分率率低低于于PCTFREE時,,此此數(shù)數(shù)據(jù)據(jù)塊塊被被標(biāo)標(biāo)志志為為USED,此此時時在在數(shù)數(shù)據(jù)據(jù)塊塊中中只只可可以以進(jìn)進(jìn)行行更更新新操操作作,,而而不不可可以以進(jìn)進(jìn)行行插插入入操操作作。。該該參參數(shù)數(shù)默默認(rèn)認(rèn)為為10。PCTUSEDPCTUSED參數(shù)數(shù)指指定定可可以以向向塊塊中中插插入入數(shù)數(shù)據(jù)據(jù)時時塊塊已已使使用用的的最最大大空空間間比比列列。。當(dāng)當(dāng)數(shù)數(shù)據(jù)據(jù)塊塊使使用用空空間間低低于于PCTUSED時,,此此塊塊標(biāo)標(biāo)志志為為FREE,可可以以對對數(shù)數(shù)據(jù)據(jù)塊塊中中數(shù)數(shù)據(jù)據(jù)進(jìn)進(jìn)行行插插入入操操作作;;反反之之,,如如果果使使用用空空間間高高于于PCTUSED,則則不不可可以以進(jìn)進(jìn)行行插插入入操操作作。。該該參參數(shù)數(shù)默默認(rèn)認(rèn)為為10。INITRANS可以以同同時時對對此此數(shù)數(shù)據(jù)據(jù)塊塊進(jìn)進(jìn)行行DML操作作的的事事務(wù)務(wù)的的個個數(shù)數(shù)。。MAXTRANS可以以同同時時對對此此數(shù)數(shù)據(jù)據(jù)塊塊進(jìn)進(jìn)行行DML操作作的的最最多多事事務(wù)務(wù)的的個個數(shù)數(shù)。。80%80%40%Inserts1234InsertsPCTFREE=20PCTUSED=40Insert(onfreelist)Inserts(offfreelist)6.4區(qū)區(qū)的的概概念念區(qū)的的管管理理(1)區(qū)區(qū)的的概概念念區(qū)是是由由一一系系列列連連續(xù)續(xù)的的數(shù)數(shù)據(jù)據(jù)塊塊構(gòu)構(gòu)成成的的邏邏輯輯存存儲儲單單元元,,是是存存儲儲空空間間分分配配與與回回收收的的最最小小單單位位。。當(dāng)當(dāng)創(chuàng)創(chuàng)建建一一個個數(shù)數(shù)據(jù)據(jù)庫庫對對象象時時,,Oracle為對對象象分分配配若若干干個個區(qū)區(qū),,以以構(gòu)構(gòu)成成一一個個段段來來為為對對象象提提供供初初始始的的存存儲儲空空間間。。當(dāng)當(dāng)段段中中已已分分配配的的區(qū)區(qū)都都寫寫滿滿后后,,Oracle會為為段段分分配配一一個個新新區(qū)區(qū),,以以容容納納更更多多的的數(shù)數(shù)據(jù)據(jù)。。(2)區(qū)的的管理理區(qū)的分分配在本地地管理理方式式的表表空間間中,,自動動進(jìn)行行區(qū)的的分配配??煽梢酝ㄍㄟ^使使用UNIFORM選項,,指定定所有有段的的初始始區(qū)和和后續(xù)續(xù)區(qū)具具有統(tǒng)統(tǒng)一大大小,,也可可以使使用AUTOALLOCATE選項指指定由由Oracle自動決決定后后續(xù)區(qū)區(qū)大小小。用用戶不不能通通過其其他參參數(shù)來來干預(yù)預(yù)區(qū)的的分配配。在字典典管理理方式式的表表空間間中,,創(chuàng)建建表空空間時時可以以使用用DEFAULTSTORAGE子句設(shè)設(shè)置存存儲參參數(shù),,也可可以在在該表表空間間定義義對象象時通通過STORAGE子句設(shè)設(shè)置存存儲參參數(shù)。。如果果在定定義對對象時時沒有有設(shè)置置存儲儲參數(shù)數(shù),則則繼承承表空空間存存儲參參數(shù)的的設(shè)置置。創(chuàng)建一一個本本地管管理方方式的的表空空間,,區(qū)分分配采采用自自動擴(kuò)擴(kuò)展方方式進(jìn)進(jìn)行。。CREATETABLESPACEORCLTBS6DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS6_1.DBF'SIZE20MEXTENTMANAGEMENTLOCALAUTOALLOCATE;創(chuàng)建一一個本本地管管理方方式的的表空空間,,區(qū)分分配采采用固固定大大小,,每個個區(qū)5MB。CREATETABLESPACEORCLTBS7DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS7_1.DBF'SIZE10MEXTENTMANAGEMENTLOCALUNIFORMSIZE5M;區(qū)的回回收通常分分配給給段的的區(qū)將將一直直保留留在段段中,,不論論區(qū)中中的數(shù)數(shù)據(jù)塊塊是否否被使使用。。只有有當(dāng)段段所屬屬的對對象被被刪除除時,,段中中所有有的區(qū)區(qū)才會會被回回收。。此外外,在在一些些特殊殊情況況下,,也能能夠回回收未未使用用的區(qū)區(qū)。例例如,,如果果在創(chuàng)創(chuàng)建回回滾段段時指指定了了OPTIMAL關(guān)鍵字字,Oracle會定期期回收收回滾滾段中中未使使用的的區(qū)。。6.5段段概述述回滾段段7.5.1段概述述段的概概述段是由由一個個或多多個擴(kuò)擴(kuò)展區(qū)區(qū)組成成的邏邏輯存存儲單單元。。數(shù)據(jù)庫庫模式式對象象在邏邏輯上上是以以段來來占據(jù)據(jù)表空空間的的大小小。段代表表特定定數(shù)據(jù)據(jù)類型型的數(shù)數(shù)據(jù)存存儲結(jié)結(jié)構(gòu)。。段的類類型::數(shù)據(jù)段段索引段段臨時段段回滾段段數(shù)據(jù)段段數(shù)據(jù)段段用來來存儲儲表或或簇的的數(shù)據(jù)據(jù),可可以細(xì)細(xì)分為為表數(shù)數(shù)據(jù)段段、索索引表表數(shù)據(jù)據(jù)段、、分區(qū)區(qū)表數(shù)數(shù)據(jù)段段及簇簇數(shù)據(jù)據(jù)段四四種。。索引段段用來存存放索索引信信息,,主要要包括括存儲儲ROWID和索引引鍵。。索引段段與其其相應(yīng)應(yīng)的表表段經(jīng)經(jīng)常會會被同同時訪訪問,,為了了減少少硬盤盤訪問問的沖沖突,,索引引段與與表段段可以以放到到處于于不同同物理理位置置的表表空間間中。。臨時段段當(dāng)用戶戶進(jìn)行行排序序查詢詢時,,如果果在指指定的的內(nèi)存存無法法完成成排序序,Oracle將自動動從用用戶默默認(rèn)的的臨時時表空空間中中指派派臨時時段進(jìn)進(jìn)行排排序。。會話話結(jié)束束,數(shù)數(shù)據(jù)將將從臨臨時段段中自自動刪刪除。。回滾段回滾段段用于于保存存數(shù)據(jù)據(jù)庫的的回滾滾信息息,包包含當(dāng)當(dāng)前未未提交交事務(wù)務(wù)所修修改的的數(shù)據(jù)據(jù)的原原始版版本。。一個事事務(wù)只只能使使用一一個回回滾段段存放放它的的回滾滾信息息,但但是一一個回回滾段段可以以存放放多個個事務(wù)務(wù)的回回滾信信息。?;貪L滾段可可以動動態(tài)創(chuàng)創(chuàng)建和和撤銷銷。TableClusterTablepartitionIndex-organizedtableIndexpartitionUndosegmentTemporarysegmentIndex6.5.2回滾段段回滾段段的工作方方式回滾段段的作用用回滾段段的種種類回滾段段的管管理回滾段段的查查詢(1)回滾滾段的的工作方方式回滾段段采用用循環(huán)環(huán)寫的的方式式進(jìn)行行寫入入。當(dāng)當(dāng)回滾滾段中中最后后一個個區(qū)寫寫滿時時,Oracle將覆蓋蓋寫入入回滾滾段的的第一一個區(qū)區(qū),如如果此此時第第一個個區(qū)保保存得得回滾滾條目目所對對應(yīng)的的事務(wù)務(wù)依然然處于于活動動狀態(tài)態(tài)(事事務(wù)未未提交交),,則此此時該該區(qū)不不能被被覆蓋蓋,Oracle將為回回滾段段分配配一個個新的的區(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小班小雪節(jié)氣國旗下講話稿范文(9篇)
- 開學(xué)典禮致辭(15篇)
- 初級會計經(jīng)濟(jì)法基礎(chǔ)-初級會計《經(jīng)濟(jì)法基礎(chǔ)》模擬試卷335
- RRD硅油填充術(shù)后繼發(fā)高眼壓的眼前節(jié)相關(guān)影響因素分析及中醫(yī)體質(zhì)類型研究
- 建筑與市政工程質(zhì)量安全巡查的第三方解決方案
- 【醫(yī)學(xué)課件】加強(qiáng)防范醫(yī)療事故(83p)
- 2025版食堂食材采購合同及食品安全培訓(xùn)服務(wù)協(xié)議3篇
- 養(yǎng)魚店銷售員工作總結(jié)
- 酒店廚房管理規(guī)范制定
- 2025版行政上訴狀補(bǔ)充范文:權(quán)威解讀與實戰(zhàn)演練3篇
- 銷售禮盒營銷方案
- 南潯至臨安公路(南潯至練市段)公路工程環(huán)境影響報告
- 《小英雄雨來》讀書分享會
- 初中數(shù)學(xué)校本教材(完整版)
- 重慶市銅梁區(qū)2024屆數(shù)學(xué)八上期末檢測試題含解析
- 中央導(dǎo)管相關(guān)血流感染防控
- 光的偏振和晶體光學(xué)基礎(chǔ)課件
- 中科大光學(xué)講義08光的偏振
- 黑布林英語閱讀《小婦人》-中英伴讀
- 小學(xué)美術(shù)-《神奇的肥皂粉》教學(xué)設(shè)計學(xué)情分析教材分析課后反思
- WINCC滿足FDA規(guī)范配置說明分解
評論
0/150
提交評論