




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2023/12/211第三章表空間和數(shù)據(jù)文件管理3.1表空間和數(shù)據(jù)文件概述3.2創(chuàng)建表空間3.3維護(hù)表空間和數(shù)據(jù)文件3.4查看表空間和數(shù)據(jù)文件信息Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/2123.1表空間和數(shù)據(jù)文件概述表空間是Oracle數(shù)據(jù)庫(kù)中最大的邏輯存儲(chǔ)結(jié)構(gòu),它與操作系統(tǒng)中的數(shù)據(jù)文件相對(duì)應(yīng),用于存儲(chǔ)數(shù)據(jù)庫(kù)中用戶創(chuàng)建的所有內(nèi)容。可以將表空間看作是數(shù)據(jù)庫(kù)對(duì)象的容器,表空間的邏輯存儲(chǔ)單位是段,數(shù)據(jù)庫(kù)的所有對(duì)象、方案對(duì)象都被邏輯地保存在表空間中。表空間提供了一套有效組織數(shù)據(jù)的方法,它不僅對(duì)數(shù)據(jù)庫(kù)的性能有重要的影響,而且對(duì)簡(jiǎn)化管理有明顯的作用。一個(gè)表空間由一個(gè)或多個(gè)數(shù)據(jù)文件組成,數(shù)據(jù)文件是存儲(chǔ)數(shù)據(jù)庫(kù)所有邏輯結(jié)構(gòu)數(shù)據(jù)的操作系統(tǒng)文件。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/213表空間的作用Oracle數(shù)據(jù)庫(kù)把方案對(duì)象邏輯地存儲(chǔ)在表空間中,同時(shí)把它們物理地存儲(chǔ)在數(shù)據(jù)文件中,而數(shù)據(jù)文件又物理地分布在各個(gè)磁盤(pán)中。表空間具有以下作用:1)控制數(shù)據(jù)庫(kù)所占用的磁盤(pán)空間。2)控制用戶所占用的空間配額。3)通過(guò)將不同類型數(shù)據(jù)部署到不同的位置,可以提高數(shù)據(jù)庫(kù)的I/O性能,并且有利于備份和恢復(fù)等管理操作。4)可以將表空間設(shè)置成只讀狀態(tài)而保持大量的靜態(tài)數(shù)據(jù)。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/214默認(rèn)表空間對(duì)于Oracle中新建的數(shù)據(jù)庫(kù),系統(tǒng)自動(dòng)添加了6個(gè)默認(rèn)的表空間,分別是:1)EXAMPLE表空間:用于安裝Oracle數(shù)據(jù)庫(kù)使用示例數(shù)據(jù)庫(kù)。2)SYSTEM表空間:系統(tǒng)表空間,用于存放數(shù)據(jù)字典對(duì)象,包括表、視圖、存儲(chǔ)過(guò)程的定義等,默認(rèn)的數(shù)據(jù)文件為“system01.dbf”。3)SYSAUX表空間:SYSAUX表空間是在Oracle10g中引入的作為SYSTEM表空間的一個(gè)輔助表空間,其主要作用是為了減少SYSTEM表空間的負(fù)荷,默認(rèn)的數(shù)據(jù)文件是“sysaux01.dbf”;這個(gè)表空間和SYSTEM表空間一樣不能被刪除、更名、傳遞或設(shè)置為只讀。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/215默認(rèn)表空間4)TEMP表空間:臨時(shí)表空間,用于存儲(chǔ)數(shù)據(jù)庫(kù)運(yùn)行過(guò)程中由排序和匯總等操作產(chǎn)生的臨時(shí)數(shù)據(jù)信息,默認(rèn)的數(shù)據(jù)文件是“temp01.dbf”。5)UNDOTBS1表空間:撤銷表空間,用于存儲(chǔ)撤銷信息,默認(rèn)的數(shù)據(jù)文件為“undotbs01.dbf”。6)USERS表空間:用戶表空間,存儲(chǔ)數(shù)據(jù)庫(kù)用戶創(chuàng)建的數(shù)據(jù)庫(kù)對(duì)象,默認(rèn)的數(shù)據(jù)文件為“user01.dbf”。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/216表空間的狀態(tài)屬性通過(guò)設(shè)置表空間的狀態(tài)屬性,可以對(duì)表空間的使用進(jìn)行管理。表空間的狀態(tài)屬性主要有聯(lián)機(jī)、讀寫(xiě)、只讀和脫機(jī)等四種狀態(tài),其中只讀狀態(tài)與讀寫(xiě)狀態(tài)屬于聯(lián)機(jī)狀態(tài)的特殊情況。1)聯(lián)機(jī)狀態(tài)(ONLINE)表空間通常處于聯(lián)機(jī)狀態(tài),以便數(shù)據(jù)庫(kù)用戶訪問(wèn)其中的數(shù)據(jù)。2)讀寫(xiě)狀態(tài)(READ-WRITE)讀寫(xiě)狀態(tài)是表空間的默認(rèn)狀態(tài),當(dāng)表空間處于讀寫(xiě)狀態(tài)時(shí),用戶可以對(duì)表空間進(jìn)行正常的數(shù)據(jù)查詢、更新和刪除等各種操作。讀寫(xiě)狀態(tài)實(shí)際上為聯(lián)機(jī)狀態(tài)的一種特殊情況,只有當(dāng)表空間處于只讀狀態(tài)下才能轉(zhuǎn)換到讀寫(xiě)狀態(tài)。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/217表空間的狀態(tài)屬性3)只讀狀態(tài)(READ-ONLY)當(dāng)表空間處于只讀狀態(tài)時(shí),任何用戶都無(wú)法向表空間中寫(xiě)入數(shù)據(jù),也無(wú)法修改表空間中已有的數(shù)據(jù),用戶只能以SELECT方式查詢只讀表空間中的數(shù)據(jù)。將表空間設(shè)置成只讀狀態(tài)可以避免數(shù)據(jù)庫(kù)中的靜態(tài)數(shù)據(jù)被修改。如果需要更新一個(gè)只讀表空間,需要將該表空間轉(zhuǎn)換到可讀寫(xiě)狀態(tài),完成數(shù)據(jù)更新后再將表空間恢復(fù)到只讀狀態(tài)。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/218表空間的狀態(tài)屬性4)脫機(jī)狀態(tài)(OFFLINE)當(dāng)一個(gè)表空間處于脫機(jī)狀態(tài)時(shí),Oracle不允許任何訪問(wèn)該表空間中數(shù)據(jù)的操作。當(dāng)數(shù)據(jù)庫(kù)管理員需要對(duì)表空間備份或恢復(fù)等維護(hù)操作時(shí),可以將表空間設(shè)置為脫機(jī)狀態(tài);如果某個(gè)表空間暫時(shí)不允許用戶訪問(wèn),DBA也可以將這個(gè)表空間設(shè)置為脫機(jī)狀態(tài)?!纠}3-1】通過(guò)數(shù)據(jù)字典dba_tablespaces,查看當(dāng)前數(shù)據(jù)庫(kù)中表空間的狀態(tài)。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/219數(shù)據(jù)文件數(shù)據(jù)文件是Oracle數(shù)據(jù)庫(kù)中用來(lái)存儲(chǔ)各種數(shù)據(jù)的地方,在創(chuàng)建表空間的同時(shí)將為表空間創(chuàng)建相應(yīng)的數(shù)據(jù)文件。一個(gè)數(shù)據(jù)文件只能屬于一個(gè)表空間,一個(gè)表空間可以有多個(gè)數(shù)據(jù)文件。在對(duì)數(shù)據(jù)文件進(jìn)行管理時(shí),數(shù)據(jù)庫(kù)管理員可以修改數(shù)據(jù)文件的大小、名稱、增長(zhǎng)方式和存放位置,并能夠刪除數(shù)據(jù)文件。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/21103.2創(chuàng)建表空間在創(chuàng)建Oracle數(shù)據(jù)庫(kù)時(shí)會(huì)自動(dòng)創(chuàng)建SYSTEM、SYSAUX和USERS等表空間,用戶可以使用這些表空間進(jìn)行各種數(shù)據(jù)操作。但在實(shí)際應(yīng)用中,如果使用系統(tǒng)創(chuàng)建的這些表空間會(huì)加重它們的負(fù)擔(dān),嚴(yán)重影響系統(tǒng)的I/O性能,因此Oracle建議根據(jù)實(shí)際需求來(lái)創(chuàng)建不同的非系統(tǒng)表空間,用來(lái)存儲(chǔ)所有的用戶對(duì)象和數(shù)據(jù)。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/21113.2創(chuàng)建表空間創(chuàng)建表空間需要有CREATETABLESPACE系統(tǒng)權(quán)限。在創(chuàng)建表空間時(shí)應(yīng)該事先創(chuàng)建一個(gè)文件夾,用來(lái)放置新創(chuàng)建表空間的各個(gè)數(shù)據(jù)文件。當(dāng)通過(guò)添加數(shù)據(jù)文件來(lái)創(chuàng)建一個(gè)新的表空間或修改一個(gè)表空間時(shí),應(yīng)該給出文件大小和帶完整存取路徑的文件名。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/21123.2創(chuàng)建表空間在表空間的創(chuàng)建過(guò)程中,Oracle會(huì)完成以下工作:1)在數(shù)據(jù)字典和控制文件中記錄下新創(chuàng)建的表空間。2)在操作系統(tǒng)中按指定的位置和文件名創(chuàng)建指定大小的操作系統(tǒng)文件,作為該表空間對(duì)應(yīng)的數(shù)據(jù)文件。3)在預(yù)警文件中記錄下創(chuàng)建表空間的信息。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/2113創(chuàng)建表空間的一般命令1.創(chuàng)建表空間命令的語(yǔ)法結(jié)構(gòu)CREATE[TEMPORARY|UNDO]TABLESPACEtablespace_name[DATAFILE|TEMPFILEfile_spec1[,file_spec2]......SIZEsizeK|M[REUSE][MININUMEXTENTintegerK|M][BLOCKSIZEintegerk][LOGGING|NOLOGGING][FORCELOGGING][DEFAULT{data_segment_compression}storage_clause][ONLINE|OFFLINE][PERMANENT|TEMPORARY][EXTENTMANAGEMENTDICTIONARY|LOCAL][AUTOALLOCATE|UNIFORMSIZEnumber][SEGMENTMANAGEMENTAUTO|MANUAL]Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/2114創(chuàng)建表空間的一般命令2.語(yǔ)法說(shuō)明1)TEMPORARY|UNDO說(shuō)明系統(tǒng)創(chuàng)建表空間的類型。TEMPORARY表示創(chuàng)建一個(gè)臨時(shí)表空間。UNDO表示創(chuàng)建一個(gè)撤銷表空間。創(chuàng)建表空間時(shí),如果沒(méi)有使用關(guān)鍵字TEMPORARY或UNDO,表示創(chuàng)建永久性表空間。2)tablespace_name指定表空間的名稱。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/2115創(chuàng)建表空間的一般命令3)datafilefile_spec1指定與表空間關(guān)聯(lián)的數(shù)據(jù)文件。file_spec1需要指定數(shù)據(jù)文件路徑和文件名。如果要?jiǎng)?chuàng)建臨時(shí)表空間,需要使用子句TEMPFILEfile_spec1。4)SIZEsizek|M[REUSE]指定數(shù)據(jù)文件的大小。如果要?jiǎng)?chuàng)建的表空間的數(shù)據(jù)文件在指定的路徑中已經(jīng)存在,可以使用REUSE關(guān)鍵字將其刪除并重新創(chuàng)建該數(shù)據(jù)文件。5)MININUMEXTENTintegerK|M指出在表空間中盤(pán)區(qū)的最小值。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/2116創(chuàng)建表空間的一般命令6)BLOCKSIZEintegerk如果在創(chuàng)建永久性表空間時(shí)不采用參數(shù)db_block_size所指定的數(shù)據(jù)塊的大小,可以使用此子句設(shè)定一個(gè)數(shù)據(jù)塊的大小。7)LOGGING|NOLOGGING這個(gè)子句聲明這個(gè)表空間上所有的用戶對(duì)象的日志屬性(缺省是LOGGING)。8)FORCELOGGING使用這個(gè)子句指出表空間進(jìn)入強(qiáng)制日志模式,這時(shí)表空間上對(duì)象的任何改變都將產(chǎn)生日志,并忽略LOGGING|NOLOGGING選項(xiàng)。在臨時(shí)表空間和撤銷表空間中不能使用這個(gè)選項(xiàng)。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/2117創(chuàng)建表空間的一般命令9)DEFAULTstorage_clause聲明缺省的存儲(chǔ)子句。10)ONLINE|OFFLINE將表空間的狀態(tài)設(shè)置為聯(lián)機(jī)狀態(tài)(ONLINE)或脫機(jī)狀態(tài)(OFFLINE)。ONLINE是缺省值,表示表空間創(chuàng)建后立即可以使用;OFFLINE表空間不可以使用。11)PERMANENT|TEMPORARY指定表空間中數(shù)據(jù)對(duì)象的保存形式,PERMANENT永久存放,TEMPORARY表示臨時(shí)存放。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/2118創(chuàng)建表空間的一般命令12)EXTENTMANAGEMENTDICTIONARY|LOCAL指定表空間的管理方式。如果希望本地管理表空間,聲明LOCAL選項(xiàng),這是默認(rèn)選項(xiàng),本地管理表空間是通過(guò)位圖進(jìn)行管理的;如果希望以數(shù)據(jù)字典的形式管理表空間,聲明DICTIONARY選項(xiàng)。13)AUTOALLOCATE|UNIFORMSIZEnumber指定表空間的盤(pán)區(qū)大小。AUTOALLOCATE表示盤(pán)區(qū)大小由Oracle自動(dòng)分配;UNIFORMSIZEnumber表示表空間中所有盤(pán)區(qū)大小統(tǒng)一為number。14)SEGMENTMANAGEMENTAUTO|MANUAL指定段空間的管理方式,自動(dòng)或者手動(dòng),默認(rèn)為AUTO。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/2119創(chuàng)建(永久)表空間如果在使用CREATETABLESPACE語(yǔ)句創(chuàng)建表空間時(shí),沒(méi)有使用關(guān)鍵字TEMPORARY或UNDO,或者使用了關(guān)鍵字PERMANENT,則表示創(chuàng)建的表空間是永久保存數(shù)據(jù)庫(kù)對(duì)象數(shù)據(jù)的永久表空間。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/2120創(chuàng)建(永久)表空間1.創(chuàng)建本地管理方式的永久表空間根據(jù)表空間對(duì)盤(pán)區(qū)的管理方式,表空間可以分為數(shù)據(jù)字典管理的表空間和本地管理的表空間。本地管理表空間使用位圖的方法來(lái)管理表空間中的數(shù)據(jù)塊,從而避免了使用SQL語(yǔ)句引起的系統(tǒng)性能下降,Oracle建議在建立表空間時(shí)選擇本地管理方式。從Oracle9iR2后,系統(tǒng)創(chuàng)建的表空間在默認(rèn)情況下都是本地管理表空間。在使用CREATETABLESPACE語(yǔ)句創(chuàng)建表空間時(shí),如果省略了EXTENTMANAGEMENT子句,或者顯式地使用了EXTENTMANAGEMENTLOCAL子句,表示所創(chuàng)建的是本地管理方式的表空間?!纠}3-2】創(chuàng)建永久表空間ZCGL_TBS1,采用本地管理方式。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/2121創(chuàng)建(永久)表空間2.創(chuàng)建UNIFORM盤(pán)區(qū)分配方式的永久表空間如果在EXTENTMANAGEMENT子句中指定了UNIFORM關(guān)鍵字,則說(shuō)明表空間中所有的盤(pán)區(qū)都具有統(tǒng)一的大小?!纠}3-3】創(chuàng)建永久表空間ZCGL_TBS2,采用本地管理方式,表空間中所有分區(qū)大小都是128KB。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/2122創(chuàng)建(永久)表空間3.創(chuàng)建ALLOCATE盤(pán)區(qū)分配方式的表空間如果在EXTENTMANAGEMENT子句中指定了AUTOALLOCATE關(guān)鍵字,則說(shuō)明盤(pán)區(qū)大小由Oracle進(jìn)行自動(dòng)分配,不需要指定大小,盤(pán)區(qū)大小的指定方式默認(rèn)是AUTOALLOCATE?!纠}3-4】創(chuàng)建一個(gè)AUTOALLOCATE方式的本地管理表空間。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/2123創(chuàng)建臨時(shí)表空間臨時(shí)表空間主要用來(lái)存儲(chǔ)用戶在執(zhí)行ORDERBY等語(yǔ)句進(jìn)行排序或匯總時(shí)產(chǎn)生的臨時(shí)數(shù)據(jù)信息。通過(guò)使用臨時(shí)表空間,Oracle能夠使帶有排序等操作的SQL語(yǔ)句獲得更高的執(zhí)行效率。在數(shù)據(jù)庫(kù)中創(chuàng)建用戶時(shí)必須為用戶指定一個(gè)臨時(shí)表空間來(lái)存儲(chǔ)該用戶生成的所有臨時(shí)表數(shù)據(jù)。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/2124創(chuàng)建臨時(shí)表空間創(chuàng)建臨時(shí)表空間時(shí)需要使用CREATETEMPORARYTABLESPACE命令。如果在數(shù)據(jù)庫(kù)運(yùn)行過(guò)程中經(jīng)常發(fā)生大量的并發(fā)排序,那么應(yīng)該創(chuàng)建多個(gè)臨時(shí)表空間來(lái)提高排序性能?!纠}3-5】創(chuàng)建一個(gè)名ZCGL_TEMP1的臨時(shí)表空間,大小為20M,并使用UNIFORM選項(xiàng)指定盤(pán)區(qū)大小統(tǒng)一為128K。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/2125創(chuàng)建撤銷表空間Oracle使用撤銷表空間來(lái)管理撤銷數(shù)據(jù)。當(dāng)用戶對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行DML操作時(shí),Oracle會(huì)將修改前的舊數(shù)據(jù)寫(xiě)入到撤銷表空間中;當(dāng)需要進(jìn)行數(shù)據(jù)庫(kù)恢復(fù)操作時(shí),用戶會(huì)根據(jù)撤銷表空間中存儲(chǔ)的這些撤銷數(shù)據(jù)來(lái)對(duì)數(shù)據(jù)進(jìn)行恢復(fù),所以說(shuō)撤銷表空間用于確保數(shù)據(jù)的一致性。撤銷表空間只能使用本地管理方式,在臨時(shí)表空間、撤銷表空間上都不能創(chuàng)建永久方案對(duì)象(表、索引、簇)??梢酝ㄟ^(guò)執(zhí)行CREATEUNDOTABLESPACE選項(xiàng)來(lái)創(chuàng)建UNDO表空間?!纠}3-6】創(chuàng)建名稱為ZCGL_UNDO1的撤銷表空間,該表空間的空間管理方式為本地管理,大小為20M,盤(pán)區(qū)的大小由系統(tǒng)自動(dòng)分配。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/2126創(chuàng)建非標(biāo)準(zhǔn)塊表空間Oracle數(shù)據(jù)塊是Oracle在數(shù)據(jù)文件上執(zhí)行I/O操作的最小單位,其大小應(yīng)該設(shè)置為操作系統(tǒng)物理塊的整數(shù)倍。初始化參數(shù)DB_BLOCK_SIZE定義了標(biāo)準(zhǔn)數(shù)據(jù)塊的大小,在創(chuàng)建數(shù)據(jù)庫(kù)后就不能再修改該參數(shù)的值。當(dāng)創(chuàng)建表空間時(shí),如果不指定BLOCKSIZE選項(xiàng),那么該表空間將采用由參數(shù)DB_BLOCK_SIZE決定的標(biāo)準(zhǔn)數(shù)據(jù)塊大小。Oracle允許用戶創(chuàng)建非標(biāo)準(zhǔn)塊表空間,在CREATETABLESPACE命令中使用BLOCKSIZE選項(xiàng)來(lái)指定表空間數(shù)據(jù)塊的大小。創(chuàng)建的非標(biāo)準(zhǔn)塊表空間的數(shù)據(jù)塊大小也應(yīng)該是操作系統(tǒng)物理塊的倍數(shù)。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/2127創(chuàng)建非標(biāo)準(zhǔn)塊表空間在建立非標(biāo)準(zhǔn)塊表空間之前,必須為非標(biāo)準(zhǔn)塊分配非標(biāo)準(zhǔn)數(shù)據(jù)高速緩沖區(qū)參數(shù)db_nk_cache_size,并且數(shù)據(jù)高速緩存的尺寸可以動(dòng)態(tài)修改?!纠}3-7】為4KB數(shù)據(jù)塊設(shè)置10MB的高速緩沖區(qū),然后創(chuàng)建數(shù)據(jù)塊大小為4KB的非標(biāo)準(zhǔn)數(shù)據(jù)塊表空間。查看db_block_size參數(shù)的信息。為4KB數(shù)據(jù)塊設(shè)置10MB的高速緩沖區(qū)參數(shù)db_4k_cache_size。為非標(biāo)準(zhǔn)塊分配了非標(biāo)準(zhǔn)數(shù)據(jù)高速緩存后,就可以創(chuàng)建非標(biāo)準(zhǔn)塊表空間了。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/2128創(chuàng)建大文件表空間從Oracle10g開(kāi)始,引入了大文件表空間,用于解決存儲(chǔ)文件大小不夠的問(wèn)題。這種表空間只能包括一個(gè)數(shù)據(jù)文件或臨時(shí)文件,其對(duì)應(yīng)的文件可以包含4G個(gè)數(shù)據(jù)塊。如果數(shù)據(jù)塊大小為8KB,大文件表空間的數(shù)據(jù)文件最大可以達(dá)到32TB;如果塊的大小是32KB,那么大文件表空間的數(shù)據(jù)文件最大可以達(dá)到128TB。因此能夠顯著提高Oracle數(shù)據(jù)庫(kù)的存儲(chǔ)能力?!纠}3-8】創(chuàng)建名稱為ZCGL_BIGTBS的大文件表空間,其大小為20MB。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/21293.3維護(hù)表空間和數(shù)據(jù)文件對(duì)數(shù)據(jù)庫(kù)管理員而言,需要經(jīng)常維護(hù)表空間。各種維護(hù)表空間的操作包括重命名表空間和數(shù)據(jù)文件,改變表空間和數(shù)據(jù)文件的狀態(tài),設(shè)置默認(rèn)表空間,擴(kuò)展表空間,刪除表空間及數(shù)據(jù)文件,以及查看表空間和數(shù)據(jù)文件的信息等。用戶可以使用ALTERTABLESPACE命令完成維護(hù)表空間和數(shù)據(jù)文件的各種操作,但該用戶必須擁有ALTERTABLESPACE或ALTERDATABASE系統(tǒng)權(quán)限。
Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/2130重命名表空間和數(shù)據(jù)文件1.重命名表空間通過(guò)使用ALTERTABLESPACE的RENAME選項(xiàng),就可以修改表空間的名稱。需要注意的是,SYSTEM表空間和SYSAUX表空間的名稱不能被修改,如果表空間或其中的任何數(shù)據(jù)文件處于OFFLINE狀態(tài),該表空間的名稱也不能被改變。重命名表空間的一般語(yǔ)法格式為:ALTERTABLESPACEtablespace_nameRENAMETOtablespace_new_name;說(shuō)明:tablespace_name為重命名前表空間名稱,tablespace_new_name為新的表空間名稱?!纠}3-9】將表空間ZCGL_TBS3改名為ZCGL_TBS3NEW。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/2131重命名表空間和數(shù)據(jù)文件2.重命名數(shù)據(jù)文件當(dāng)創(chuàng)建數(shù)據(jù)文件后,可以改變數(shù)據(jù)文件的名稱。改變數(shù)據(jù)文件的名稱的具體步驟如下:①使表空間處于OFFLINE狀態(tài)。②用操作系統(tǒng)命令重命名數(shù)據(jù)文件③使用帶RENAMEDATAFILE子句的ALTERTABLESPACE語(yǔ)句改變數(shù)據(jù)文件名稱。④將表空間重新設(shè)置為聯(lián)機(jī)狀態(tài)。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/2132改變表空間和數(shù)據(jù)文件狀態(tài)表空間主要有聯(lián)機(jī)、讀寫(xiě)、只讀和脫機(jī)狀態(tài)等四種狀態(tài),因此修改表空間的狀態(tài)包括使表空間只讀,使表空間可讀寫(xiě),使表空間脫機(jī)或聯(lián)機(jī)。1.設(shè)置表空間為只讀狀態(tài)如果表空間只用于存放靜態(tài)數(shù)據(jù),或者該表空間需要被遷移到其他數(shù)據(jù)庫(kù)時(shí),應(yīng)該將表空間的狀態(tài)修改為只讀,可以通過(guò)在ALTERTABLESPACE語(yǔ)句中使用READONLY子句來(lái)完成這一操作。將表空間設(shè)置為只讀狀態(tài)時(shí),該表空間必須為ONLINE,并且該表空間不能包含任何撤銷段。系統(tǒng)表空間SYSTEM和SYSAUX不能設(shè)置為只讀狀態(tài)?!纠}3-10】將表空間ZCGL_TBS1設(shè)置為只讀狀態(tài)。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/2133改變表空間和數(shù)據(jù)文件狀態(tài)2.設(shè)置表空間為可讀寫(xiě)若想將表空間恢復(fù)為讀寫(xiě)狀態(tài)時(shí),需要在ALTERTABLESPACE語(yǔ)句中使用READWRITE子句?!纠}3-11】將表空間ZCGL_TBS1轉(zhuǎn)變?yōu)镽EADWRITE狀態(tài),使表空間可讀寫(xiě)。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/2134改變表空間和數(shù)據(jù)文件狀態(tài)3.改變表空間可用性當(dāng)創(chuàng)建表空間時(shí),表空間及其所有數(shù)據(jù)文件都處于ONLINE狀態(tài),此時(shí)表空間是可以被訪問(wèn)的。當(dāng)表空間或數(shù)據(jù)文件處于OFFLINE狀態(tài)時(shí),表空間和其數(shù)據(jù)文件就不可以被訪問(wèn)了。1)將表空間設(shè)置為脫機(jī)OFFLINE狀態(tài)下列情況需要將表空間設(shè)置為脫機(jī)狀態(tài):需要對(duì)表空間備份或恢復(fù)等維護(hù)操作;某個(gè)表空間暫時(shí)不允許用戶訪問(wèn);需要移動(dòng)特定表空間的數(shù)據(jù)文件,防止其中的數(shù)據(jù)文件被修改以確保數(shù)據(jù)文件的一致性。需要注意的是,SYSTEM和SYSAUX表空間不能被脫機(jī)。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/2135改變表空間和數(shù)據(jù)文件狀態(tài)【例題3-12】將表空間ZCGL_TBS1轉(zhuǎn)變?yōu)镺FFLINE狀態(tài),使其脫機(jī)。2)使表空間聯(lián)機(jī)完成了表空間的維護(hù)操作后,應(yīng)該將表空間設(shè)置為ONLINE狀態(tài),這樣該表空間就可以被訪問(wèn)了?!纠}3-13】將表空間ZCGL_TBS1轉(zhuǎn)變?yōu)镺NLINE狀態(tài)。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/2136改變表空間和數(shù)據(jù)文件狀態(tài)4.改變數(shù)據(jù)文件可用性修改數(shù)據(jù)文件可用性的一般語(yǔ)法格式如下:ALTERDATABASEDATAFILEfile_nameONLINE|OFFLINE|OFFLINEDROP說(shuō)明:數(shù)據(jù)文件的狀態(tài)有三種,ONLINE表示數(shù)據(jù)文件可以使用;OFFLINE表示當(dāng)數(shù)據(jù)庫(kù)運(yùn)行在歸檔模式下時(shí),數(shù)據(jù)文件不可以使用;OFFLIENDROP表示數(shù)據(jù)庫(kù)運(yùn)行在非歸檔模式情況下時(shí),數(shù)據(jù)文件不可以使用。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/2137改變表空間和數(shù)據(jù)文件狀態(tài)【例題3-14】將表空間ZCGL_TBS1中的數(shù)據(jù)文件ZCGL_TBS1_01.dbf設(shè)置為脫機(jī)狀態(tài)OFFLINE。如果要將數(shù)據(jù)文件設(shè)置為脫機(jī)狀態(tài),需要將數(shù)據(jù)庫(kù)啟動(dòng)到MOUNT狀態(tài)下,設(shè)置數(shù)據(jù)庫(kù)運(yùn)行在歸檔模式下。使用ALTERDATABASE命令將數(shù)據(jù)文件ZCGL_TBS1_01.dbf設(shè)置為脫機(jī)狀態(tài)。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/2138設(shè)置默認(rèn)表空間在Oracle中,對(duì)于像SCOTT這樣的普通用戶來(lái)說(shuō),其初始默認(rèn)表空間為USERS,默認(rèn)臨時(shí)表空間為T(mén)EMP;而對(duì)SYSTEM用戶來(lái)說(shuō),其初始默認(rèn)表空間為SYSTEM,默認(rèn)臨時(shí)表空間為T(mén)EMP。在創(chuàng)建新用戶時(shí),如果不為其指定默認(rèn)表空間,系統(tǒng)會(huì)將上述初始的默認(rèn)表空間作為這個(gè)用戶的默認(rèn)表空間,這將導(dǎo)致TEMP,USERS或SYSTEM等表空間迅速被用戶數(shù)據(jù)占滿,嚴(yán)重影響系統(tǒng)IO性能。可以使用ALTERDATABASEDEFAULTTABLESPACE命令來(lái)設(shè)置數(shù)據(jù)庫(kù)的默認(rèn)表空間;可以使用ALTERDATABASEDEFAULTTEMPORARYTABLESPACE語(yǔ)句來(lái)改變數(shù)據(jù)庫(kù)的默認(rèn)臨時(shí)表空間。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/2139設(shè)置默認(rèn)表空間【例題3-15】查看數(shù)據(jù)字典database_properties,查看當(dāng)前用戶使用的永久表空間與默認(rèn)表空間?!纠}3-16】設(shè)置數(shù)據(jù)庫(kù)的默認(rèn)表空間為ZCGL_TBS1。【例題3-17】設(shè)置數(shù)據(jù)庫(kù)的默認(rèn)臨時(shí)表空間為ZCGL_TEMP1。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/2140擴(kuò)展表空間數(shù)據(jù)文件的大小實(shí)際上代表了該數(shù)據(jù)文件在磁盤(pán)上的可用空間。表空間的大小實(shí)際上就是其對(duì)應(yīng)的數(shù)據(jù)文件大小的和。如果表空間中所有數(shù)據(jù)文件都已經(jīng)被寫(xiě)滿,那么向該表空間上的表中插入數(shù)據(jù)時(shí),會(huì)顯示錯(cuò)誤信息。這種情況下必須擴(kuò)展表空間來(lái)增加更多的存儲(chǔ)空間。通常擴(kuò)展表空間的方法有添加新的數(shù)據(jù)文件、改變數(shù)據(jù)文件的大小以及允許數(shù)據(jù)文件自動(dòng)擴(kuò)展等。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/2141擴(kuò)展表空間1.添加新的數(shù)據(jù)文件添加新的數(shù)據(jù)文件的一般語(yǔ)法格式為:ALTERTABLESPACEtablespace_nameADDDATAFILE‘datafilepath’SIZEnM;說(shuō)明:tablespace_name為表空間名稱,datafilepath為數(shù)據(jù)文件路徑,n為數(shù)據(jù)文件大小,單位為M?!纠}3-18】為表空間ZCGL_TBS1增加一個(gè)5MB的數(shù)據(jù)文件ZCGL_TBS1_02.dbf。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/2142擴(kuò)展表空間2.改變數(shù)據(jù)文件的大小修改數(shù)據(jù)文件的大小需要使用ALTERDATABASE命令【例題3-19】將數(shù)據(jù)文件ZCGL_TBS1_01.dbf擴(kuò)展為100M。通過(guò)數(shù)據(jù)字典DBA_DATA_FILES查看表空間ZCGL_TBS1中的數(shù)據(jù)文件信息。通過(guò)ALTERDATABASE……RESIZE命令將數(shù)據(jù)文件ZCGL_TBS1_01.dbf擴(kuò)展為100M。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/2143擴(kuò)展表空間在為表空間指定數(shù)據(jù)文件時(shí),如果沒(méi)有使用AUTOEXTEND選項(xiàng),那么該數(shù)據(jù)文件將不允許自動(dòng)擴(kuò)展。為了使數(shù)據(jù)文件可以自動(dòng)擴(kuò)展,就必須指定AUTOEXTENDON選項(xiàng)。當(dāng)指定了AUTOEXTENDON選項(xiàng)后,在表空間填滿時(shí),數(shù)據(jù)文件將自動(dòng)擴(kuò)展,從而擴(kuò)展了表空間的存儲(chǔ)空間。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/2144擴(kuò)展表空間設(shè)置數(shù)據(jù)文件為自動(dòng)擴(kuò)展的一般語(yǔ)法格式為:ALTERDATABASEDATAFILE‘datafilepath’AUTOEXTENDONNEXTmMMAXSIZEmaxM;【例題3-20】將數(shù)據(jù)文件ZCGL_TBS1_01.dbf設(shè)置為自動(dòng)擴(kuò)展。【例題3-21】取消數(shù)據(jù)文件ZCGL_TBS1_01的自動(dòng)擴(kuò)展性。Oracle數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)案例教程2023/12/2145刪除表空間和數(shù)據(jù)文件1.刪除表空間當(dāng)表空間中的所有數(shù)據(jù)都不再需要時(shí),或者當(dāng)表空間因損壞而無(wú)法恢復(fù)時(shí),可以將表空間刪除,
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高一下學(xué)期心理健康教育計(jì)劃
- 人音版音樂(lè)教學(xué)計(jì)劃與數(shù)字化教育
- 2025年度企業(yè)社會(huì)責(zé)任實(shí)施計(jì)劃
- T/CWAN 0102-2024航空不銹鋼導(dǎo)管鎢極惰性氣體保護(hù)焊推薦工藝規(guī)范
- T/CWAN 0076-2023焊接材料用原輔材料化工產(chǎn)品采購(gòu)技術(shù)條件
- 2025年小學(xué)語(yǔ)文一年級(jí)下冊(cè)家長(zhǎng)溝通計(jì)劃
- 2025年教育行業(yè)質(zhì)量評(píng)估與認(rèn)證體系中的教育評(píng)價(jià)與教育評(píng)價(jià)體系跨時(shí)代創(chuàng)新研究報(bào)告
- 醫(yī)藥流通企業(yè)2025年供應(yīng)鏈優(yōu)化與成本控制人才培養(yǎng)現(xiàn)狀及優(yōu)化策略研究進(jìn)展報(bào)告
- T/CWAN 0063-2023焊接數(shù)值模擬熱彈塑性有限元方法
- 2025春季少先隊(duì)歷史文化學(xué)習(xí)計(jì)劃
- 2024年?yáng)|西損毀賠償協(xié)議書(shū)模板
- 林權(quán)繼承協(xié)議書(shū)范本
- 2024年四川省巴中市中考文科綜合試卷(含答案解析)
- 2024年吉林長(zhǎng)春市中考地理試卷真題(含答案解析)
- 學(xué)校食堂人員工資發(fā)放方案范文
- 2023-2024學(xué)年人教版八年級(jí)下冊(cè)數(shù)學(xué) 期末復(fù)習(xí)試題
- 專題03 陜西?。ˋ卷)-2022-2023年各地中考英語(yǔ)聽(tīng)力真題合集(含聽(tīng)力原文及MP3)
- MOOC 營(yíng)銷管理-電子科技大學(xué) 中國(guó)大學(xué)慕課答案
- 《城市綜合管廊技術(shù)狀況評(píng)定標(biāo)準(zhǔn)》
- 2024年黔東南州能源投資有限公司招聘筆試參考題庫(kù)附帶答案詳解
- 2024年度-白內(nèi)障課件PPT
評(píng)論
0/150
提交評(píng)論