ORACLE數據庫管理基礎七_第1頁
ORACLE數據庫管理基礎七_第2頁
ORACLE數據庫管理基礎七_第3頁
ORACLE數據庫管理基礎七_第4頁
ORACLE數據庫管理基礎七_第5頁
已閱讀5頁,還剩62頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

管理表空間和數據文件目標完成這一課的學習后,您應該能達到下列目標:?確定表空間和數據文件的用途?創建表空間?管理表空間?使用“Oracle管理文件”(OracleManagedFiles,OMF)創建和管理表空間表空間和數據文件Oracle在邏輯上以表空間存儲數據,而實際上以數據文件進行存儲。?表空間:–某一時刻只能屬于一個數據庫–由一個或多個數據文件組成–可進一步劃分為邏輯存儲單元?數據文件:–只能屬于一個表空間和一個數據庫–是方案對象數據的資料檔案庫表空間和數據文件數據庫、表空間和數據文件是緊密相關的,但它們之間又有著重要區別:?Oracle數據庫由一個或多個稱為表空間的邏輯存儲單元組成,表空間作為一個整體存儲數據庫中的所有數據。?Oracle數據庫內的每個表空間由一個或多個稱為數據文件的文件組成,這些數據文件是與Oracle運行所在的操作系統一致的物理結構。?數據庫的所有數據都存儲在數據文件中,數據庫的每個表空間都由這些數據文件組成。例如,最簡單的Oracle數據庫只有一個表空間和一個數據文件。而另一個數據庫可具有三個表空間,每個表空間由兩個數據文件組成(共有六個數據文件)。表空間類型?SYSTEM表空間–隨數據庫創建–包含數據字典–包含SYSTEM還原段?非SYSTEM表空間–用于分開存儲段–易于空間管理–控制分配給用戶的空間量表空間類型為加強控制和方便維護,DBA創建了表空間。Oracle服務器識別兩種類型的表空間:SYSTEM和所有其它表空間。SYSTEM表空間:?隨數據庫創建?所有數據庫均需要?包括數據字典(內含存儲程序單元)?包含SYSTEM還原段?應不包括用戶數據,盡管允許這樣做非SYSTEM表空間:?支持更靈活地管理數據庫?將還原段、臨時段、應用程序數據段和應用程序索引段分開?根據備份要求將數據分開?分開動態和靜態數據?控制分配給用戶對象的空間量創建表空間使用以下命令創建表空間:CREATETABLESPACECREATETABLESPACEuserdataDATAFILE'/u01/oradata/userdata01.dbf'SIZE100MAUTOEXTENDONNEXT5MMAXSIZE200M;創建表空間使用CREATETABLESPACE命令可創建表空間:CREATETABLESPACEtablespace[DATAFILEclause][MINIMUMEXTENTinteger[K|M]][BLOCKSIZEinteger[K]][LOGGING|NOLOGGING][DEFAULTstorage_clause][ONLINE|OFFLINE][PERMANENT|TEMPORARY][extent_management_clause][segment_management_clause]創建表空間其中:Tablespace:是要創建的表空間的名稱DATAFILE:指定組成表空間的一個或多個數據文件MINIMUMEXTENT:確保表空間內每個占用區的大小是整數(integer)的倍數。使用K或M以千字節或兆字節為單位指定該大小。BLOCKSIZE:BLOCKSIZE指定表空間的非標準塊大小。要指定該子句,必須具有DB_CACHE_SIZE,并至少設置一個DB_nK_CACHE_SIZE參數,在該子句中指定的整數(integer)必須與一個DB_nK_CACHE_SIZE參數設置相對應。LOGGING:指定在缺省情況下,表空間內的所有表、索引和分區的所有更改都寫入重做日志文件。LOGGING為缺省設置。NOLOGGING:指定在缺省情況下,表空間內的所有表、索引和分區的所有更改都不寫入重做日志文件。NOLOGGING只影響某些DML和DDL命令,如直接加載。DEFAULT:DEFAULT指定表空間內創建的所有對象的缺省存儲參數。創建表空間OFFLINE:指定表空間從創建后就不可用。PERMANENT:指定表空間可用于保留永久對象。TEMPORARY:指定表空間僅用于保留臨時對象,如:由ORDERBY子句引起的隱式排序所使用的段。不能指定EXTENTMANAGEMENTLOCAL或BLOCKSIZE子句。extent_management_clause:該子句指定如何管理表空間內的區。該子句在本課的后續部分中討論。segment_management_clause:這只與永久的、且在本地管理的表空間相關。通過它可指定Oracle是否應使用空閑列表或位圖來跟蹤表空間段中的已占用空間和空閑空間。創建表空空間datafile_clause:==filename[SIZEinteger[K|M][REUSE][autoextend_clause]filename:是是表空間間中的數數據文件件的名稱稱。SIZE:指定定文件大大小。使使用K或或M以以千字字節或兆兆字節為為單位指指定大小小。REUSE:允允許Oracle服服務器重重新使用用現有文文件。autoextend_clause:該該子句啟啟用或禁禁用數據據文件的的自動擴擴展。NEXT:以字字節為單單位指定定在需要要更多區區時自動動分配的的磁盤空空間下一一增量的的大小其中:MAXSIZE:指定定數據文文件可以以自動擴擴展到的的最大磁磁盤空間間。UNLIMITED::指定可可分配給給數據文文件或Tempfile的的磁盤空空間是不不受限制制的。另請參閱閱“Oracle9iSQLReference””和““Oracle9iConcepts””以獲獲取更多多信息。。創建表空空間使用OracleEnterpriseManager創創建表表空間從“OEM控控制臺””(OEMConsole)::1.導導航到““數據庫庫”(Databases)>“存存儲”(Storage)>““表空空間”(Tablespaces)。2.單單擊鼠標標右鍵,,從彈出出的菜單單中選擇擇“創建建”(Create)。3.在在“常規規”(General)和和“存存儲”(Storage)選項項卡中填填寫創建建表空間間所需的的信息。。4.單單擊“創創建”(Create)。。表空間的的空間管管理?本地地管理的的表空間間:–在表表空間內內管理空空閑區–使用用位圖來來記錄空空閑區–每一一位與一一個塊或或一組塊塊相對應應–位的的數值指指明是空空閑還是是已占用用?字典典管理的的表空間間:–由數數據字典典管理空空閑區–在分分配或回回收區時時更新對對應的表表表空間的的空間管管理表空間以以區為單單位分配配空間。。可使用用以下兩兩種不同同方法來來跟蹤創創建的表表空間中中的空閑閑空間和和已占用用空間::本地管理理的表空空間:在在表空間間內通過過位圖管管理區。。位圖中中的每個個位對應應于一個個塊或一一組塊。。分配了了某個區區或釋放放了某個個區可重重新使用用時,Oracle服服務器器更改位位圖值以以顯示塊塊的新狀狀態。從Oracle9i開開始,,在本地地管理已已成為缺缺省設置置。字典管理理的表空空間:由由數據字字典管理理區。Oracle服服務器器將在分分配或回回收區時時更新數數據字典典中對應應的表。。本地管理理的表空空間?減少少了對數數據字典典表的爭爭用?分配配或回收收空間時時不生成成還原數數據?無需需合并CREATETABLESPACEuserdataDATAFILE'/u01/oradata/userdata01.dbf'SIZE500MEXTENTMANAGEMENTLOCALUNIFORMSIZE128K;本地管理理的表空空間EXTENTMANAGEMENT子子句的LOCAL選選項指定定表空間間在本地地管理。。缺省情情況下,,表空間間在本地地管理。。extent_management_clause:[EXTENTMANAGEMENT[DICTIONARY|LOCAL[AUTOALLOCATE|UNIFORM[SIZEinteger[K|M]]]]]其中:DICTIONARY:指定定使用字字典表來來管理表表空間。。LOCAL:指指定在本本地通過過位圖管管理表空空間。如如果指定定了LOCAL,則不不能再指指定DEFAULTstorage_clause、MINIMUMEXTENT或或TEMPORARY。AUTOALLOCATE::指定表表空間由由系統管管理。用用戶無法法指定區區大小。。這是缺缺省設置置。UNIFORM:指定定按照大大小統一一為SIZE字字節數數的各個個區來管管理表空空間。使使用K或或M以以千字字節或兆兆字節來來指定區區大小。。缺省大大小為1MB本地管理理的表空空間EXTENTMANAGEMENT子子句可用用于各種種CREATE命令令中:?對于于非SYSTEM的的永久表表空間,,您可以以在CREATETABLESPACE命令令中指定定EXTENTMANAGEMENTLOCAL。。?對于于臨時表表空間,,您可以以在CREATETEMPORARYTABLESPACE命命令中指指定EXTENTMANGEMENTLOCAL。。在本地管管理表空空間的優優點:本地管理理的表空空間相對對于字典典管理的的表空間間有如下下優點::?本地地管理可可以避免免循環空空間管理理操作,,但是這這種操作作在字典典管理的的表空間間中卻有有可能發發生。一一旦消耗耗或釋放放某個區區的空間間會產生生另一個個消耗或或釋放操操作(消消耗或釋釋放還原原段或數數據字典典表內的的空間))時,它它就會發發生。?由于于本地管管理的表表空間在在數據字字典表中中不記錄錄空閑空空間,從從而減少少了對這這些表的的爭用。。?區的的本地管管理可自自動跟蹤蹤鄰近的的空閑空空間,因因而無須須合并空空閑區。。?本地地管理的的區大小小可由系系統自動動確定。。?對區區的位圖圖進行更更改不會會生成還還原信息息,因為為它們不不更新數數據字典典中的表表(表空空間限額額信息等等特殊情情況除外外)。字典管理理的表空空間?在數數據字典典中管理理區?存儲儲在表空空間中的的每個段段都可以以有不同同的存儲儲子句?需要要合并CREATETABLESPACEuserdataDATAFILE'/u01/oradata/userdata01.dbf'SIZE500MEXTENTMANAGEMENTDICTIONARYDEFAULTSTORAGE(initial1MNEXT1MPCTINCREASE0);字典管理理的表空空間內的的段可具具有自定定義的存存儲設置置。這比比本地管管理的表表空間更更靈活,,但效率率要低得得多。還原表空空間?用于于存儲還還原段?不能能包含任任何其它它對象?其中中的區要要在本地地管理?只能能使用DATAFILE和和EXTENTMANAGEMENT子子句CREATEUNDOTABLESPACEundo1DATAFILE'/u01/oradata/undo01.dbf'SIZE40M;還原表空空間還原表空空間使用用“自動動還原管管理”(AutomaticUndoManagement)的方方式。有有關“自自動還原原管理””的更更多信息息,請參參考“管管理還原原數據””一課課。CREATEUNDOTABLESPACEtablespace[DATAFILEclause]臨時表表空間間?用用于排排序操操作?不不能包包含任任何永永久對對象?建建議在在本地地管理理區CREATETEMPORARYTABLESPACEtempTEMPFILE'/u01/oradata/temp01.dbf'SIZE500MEXTENTMANAGEMENTLOCALUNIFORMSIZE4M;臨時表表空間間通過指指定專專門用用于排排序段段的臨臨時表表空間間,您您可以以更有有效地地管理理用于于排序序操作作的空空間。。在臨臨時表表空間間內不不能駐駐留永永久方方案對對象。。當一個個段由由多個個排序序操作作共享享時,,就使使用排排序段段或者者臨時時段。。當多多個排排序太太大而而無法法裝入入內存存時,,使用用臨時時表空空間能能改進進性能能。給給定臨臨時表表空間間的排排序段段在例例程首首次執執行排排序操操作時時創建建。排排序段段通過過分配配更多多的區區來擴擴展,,直到到段大大小等等于或或者大大于該該例程程上運運行的的所有有活動動排序序的存存儲要要求總總和。。臨時表表空間間本地管管理的的臨時時表空空間具具有臨臨時數數據文文件(Tempfile),,它與與普通通數據據文件件很相相似,,只有有以下下幾點點不同同:?Tempfile始始終終設為為NOLOGGING模模式式。?無無法將將Tempfile設設置為為只讀讀。?無無法重重命名名Tempfile。?無無法通通過ALTERDATABASE命命令令創建建Tempfile。?Tempfile對對于于只讀讀數據據庫是是必需需的。。?介介質恢恢復不不恢復復Tempfile。若要優優化臨臨時表表空間間內的的排序序性能能,可可將UNIFORMSIZE設設置置為SORT_AREA_SIZE參參數的的整數數倍。。臨時表表空間間使用OracleEnterpriseManager創創建臨臨時表表空間間從“OEM控控制臺臺”(OEMConsole)::1.導導航航到““數據據庫””(Databases)>““存儲儲”(Storage)>““表表空間間”(Tablespaces)。2.單單擊擊鼠標標右鍵鍵,從從彈出出的菜菜單中中選擇擇“創創建””(Create)。。3.在在““常規規”(General)選選項項卡中中提供供詳細細信息息。4.在在““類型型”(Type)區區域中中選擇擇“臨臨時””(Temporary)選選項。。5.單單擊擊“存存儲””(Storage)選選項卡卡,輸輸入存存儲信信息。。6.單單擊擊“創創建””(Create)。。缺省臨臨時表表空間間?指指定數數據庫庫范圍圍內的的缺省省臨時時表空空間?避避免使使用SYSTEM表表空空間存存儲臨臨時數數據?可可使用用以下下命令令進行行創建建:–CREATEDATABASE–在在本地地管理理–ALTERDATABASEALTERDATABASEDEFAULTTEMPORARYTABLESPACEtemp;缺省臨臨時表表空間間創建未未指定定缺省省臨時時表空空間的的數據據庫時時,分分配給給任意意用戶戶的,,未使使用TEMPORARYTABLESPACE子子句句創建建的表表空間間是SYSTEM表表空空間。。此時時,alert_sid.log中中會記記錄一一條警警告消消息,,指出出SYSTEM表表空間間是缺缺省臨臨時表表空間間。在在創建建數據據庫期期間創創建缺缺省臨臨時表表空間間可防防止將將SYSTEM表表空間間用作作臨時時空間間。創建數數據庫庫后,,可通通過創創建臨臨時表表空間間然后后改變變數據據庫來來設置置缺省省臨時時表空空間。。SQL>ALTERDATABASEDEFAULTTEMPORARYTABLESPACEtemp;定義后后,未未顯式式分配配到臨臨時表表空間間的用用戶將將被分分配到到該缺缺省臨臨時表表空間間。缺省臨臨時表表空間間可通通過使使用ALTERDATABASEDEFAULTEMPORARYTABLESPACE命命令隨隨時進進行更更改。。更改改缺省省臨時時表空空間后后,分分配到到該缺缺省臨臨時表表空間間的所所有用用戶將將被重重新分分配到到新的的缺省省表空空間。。創建缺缺省臨臨時表表空間間在創建數據據庫期間::CREATEDATABASEDBA01LOGFILEGROUP1('/$HOME/ORADATA/u01/redo01.log')SIZE100M,GROUP2('/$HOME/ORADATA/u02/redo02.log')SIZE100M,MAXLOGFILES5MAXLOGMEMBERS5MAXLOGHISTORY1MAXDATAFILES100MAXINSTANCES1DATAFILE'/$HOME/ORADATA/u01/system01.dbf'SIZE325MUNDOTABLESPACEundotbsDATAFILE'/$HOME/ORADATA/u02/undotbs01.dbf'SIZE200DEFAULTTEMPORARYTABLESPACEtempTEMPFILE'/$HOME/ORADATA/u03/temp01.dbf'SIZE4MCHARACTERSETUS7ASCII創建缺省臨臨時表空間間在創建數據據庫期間::創建未指定定缺省臨時時表空間的的數據庫時時,分配給給任意用戶戶的,未使使用TEMPORARYTABLESPACE子句句創建的缺缺省表空間間是SYSTEM表表空間。。此時,alertSID.log會會記錄一一條警告消消息,指示示出SYSTEM表表空間是是缺省臨時時表空間。。在創建數據據庫期間創創建缺省臨臨時表空間間可防止將將SYSTEM表表空間用作作臨時空間間。使用CREATEDATABASE命命令創建缺缺省臨時表表空間時,,其類型是是在本地管管理。創建缺省臨臨時表空間間?創建數數據庫后::ALTERDATABASEDEFAULTTEMPORARYTABLESPACEdefault_temp2;?查詢DATABASE_PROPERTIES以以確定數據據庫的缺省省臨時表空空間SELECT*FROMDATABASE_PROPERTIES;創建缺省臨臨時表空間間創建數據庫庫后:缺省臨時表表空間可通通過下列方方法創建和和設置:?使用CREATETABLESPACE命令創創建臨時表表空間?使用ALTERDATABASE命令令,如上所所述定義后后,未顯式式分配到臨臨時表空間間的用戶將將被分配到到該缺省臨臨時表空間間。缺省臨時表表空間可通通過使用ALTERDATABASEDEFAULTTEMPORARYTABLESPACE命令令隨時進行行更改。更更改缺省臨臨時表空間間后,已分分配到該缺缺省臨時表表空間的所所有用戶將將被重新分分配到新的的缺省表空空間。創建缺省臨臨時表空間間使用OracleEnterpriseManager創創建臨時表表空間:從“OEM控制臺臺”(OEMConsole)::1.導航航到“數據據庫”(Databases)>“存儲儲”(Storage)>“表表空間”(Tablespaces)。2.單擊擊鼠標右鍵鍵,從彈出出的菜單中中選擇“創創建”(Create)。。3.在““常規”(General)選項項卡中選擇擇“臨時””(Temporary),然后選選擇“設置置為缺省臨臨時表空間間”(SetasDefaultTemporaryTablespace)。。4.在““存儲”(Storage)選項項卡中輸入入必要的信信息。5.單擊擊“創建””(Create)。缺省臨時表表空間的限限制不能對缺省省臨時表空空間執行下下列操作::?將其刪刪除,除非非已經有新新的缺省臨臨時表空間間?使其脫脫機?更改為為永久表空空間缺省臨時表表空間的限限制刪除缺省臨臨時表空間間您只有指定定了一個新新的缺省表表空間后,,才能刪除除舊的缺省省臨時表空空間。必須須使用ALTERDATABASE命命令才能能將缺省臨臨時表空間間更改為新新的缺省值值。舊的缺缺省臨時表表空間僅在在新的缺省省臨時表空空間可用時時才會被刪刪除。分配配到舊的缺缺省臨時表表空間的用用戶將被自自動重新分分配到新的的缺省臨時時表空間。。更改缺省臨臨時表空間間的類型由于缺省臨臨時表空間間必須是SYSTEM表空空間或臨時時表空間,,因此,無無法將缺省省臨時表空空間更改為為永久類型型。使缺省臨時時表空間脫脫機使表空間脫脫機后,例例如在進行行脫機備份份、維護或或更改使用用該表空間間的應用程程序時,其其他用戶將將無法使用用對應的這這部分數據據庫內容。。由于上述述情況都不不適用于臨臨時表空間間,因此無無法使缺省省臨時表空空間脫機。。只讀表空間間?使用以以下命令可可將表空間間置于只讀讀模式–導致檢檢查點操作作–數據僅僅用于讀操操作–可從表表空間刪除除對象只讀表空間間只讀表空間間ALTERTABLESPACE[tablespace]READONLY命令令將表空間間置于過渡渡只讀模式式。除了以以前修改過過該表空間間中的塊的的已有事務務處理回退退,這種過過渡狀態不不允許再對對該表空間間進行任何何寫入操作作。當已有有的所有事事務處理提提交或者回回退后,只只讀命令完完成,該表表空間置于于只讀模式式。您可以刪除除只讀表空空間內的表表和索引等等項,因為為這些命令令只影響數數據字典。。之所以可可以這樣操操作,是因因為DROP命令令只更新數數據字典,,而不更新新構成表空空間的物理理文件。對對于本地管管理的表空空間,刪除除的段將改改為臨時段段以避免更更新位圖。。要使只讀讀表空間可可寫,表空空間內的所所有數據文文件都必須須聯機。將將表空間設設為只讀將將導致對表表空間的數數據文件執執行檢查點點操作。只讀表空間間將表空間設設為只讀可可防止對表表空間中的的數據文件件進行任何何寫操作。。為此,數數據文件可可駐留在只讀介質質上,如CD-ROM或一一次性寫入入(WORM)驅驅動器。只只讀表空間間可以免去去對數據庫大量的靜靜態分配執執行備份。。在一次性寫寫入(WORM)設設備上創創建只讀表表空間:1.ALTERTABLESPACE...READONLY2.使用用操作系統統命令將表表空間的數數據文件移移動到只讀讀設備上。。3.ALTERTABLESPACE...RENAMEDATAFILE只讀表空間間使用OracleEnterpriseManager將將表空間設設為只讀從“OEM控制臺臺”(OEMConsole)::1.導航航到“數據據庫”(Databases)>“存儲儲”(Storage)>“表表空間”(Tablespaces)。2.選擇擇表空間。。3.在““General””(常規))選項卡的的“Status””(狀態))區域選擇擇“ReadOnly”((只讀)復復選框。4.單單擊擊““應應用用””(Apply)使表表空空間間脫脫機機?無無法法訪訪問問數數據據?不不能能設設為為脫脫機機的的表表空空間間::–SYSTEM表表空空間間–具具有有活活動動的的還還原原段段的的表表空空間間–缺缺省省臨臨時時表表空空間間?使使用用以以下下命命令令可可使使表表空空間間脫脫機機::ALTERTABLESPACEuserdataOFFLINE;?使使用用以以下下命命令令可可使使表表空空間間聯聯機機::ALTERTABLESPACEuserdataONLINE;使表表空空間間脫脫機機表空空間間一一般般是是聯聯機機的的,,這這樣樣可可方方便便數數據據庫庫用用戶戶使使用用其其中中包包含含的的數數據據。。但但是是,,數數據據庫庫管管理理員員可可以以讓讓表表空空間間脫脫機機以以便便::?使使數數據據庫庫的的一一部部分分不不可可用用,,但但允允許許正正常常訪訪問問數數據據庫庫的的其其余余部部分分?執執行行脫脫機機表表空空間間備備份份((盡盡管管表表空空間間可可以以在在聯聯機機使使用用時時備備份份))?在在數數據據庫庫打打開開時時恢恢復復表表空空間間或或數數據據文文件件?在在數數據據庫庫打打開開時時移移動動數數據據文文件件使表表空空間間脫脫機機表空空間間的的脫脫機機狀狀態態當表表空空間間脫脫機機后后,,Oracle不不允允許許隨隨后后有有任任何何SQL語語句句引引用用該該表表空空間間含含有有的的對對象象。。試試圖圖對對脫脫機機表表空空間間內內的的對對象象進進行行訪訪問問的的用用戶戶將將收收到到一一條條錯錯誤誤消消息息。。當表表空空間間脫脫機機或或者者重重新新聯聯機機后后,,該該事事件件記記錄錄在在數數據據字字典典和和控控制制文文件件內內。。如如果果關關閉閉數數據據庫庫時時表表空空間間仍仍然然脫脫機機,,則則當當隨隨后后數數據據庫庫裝裝載載并并重重新新打打開開時時,,該該表表空空間間仍仍保保持持脫脫機機且且不不會會被被檢檢查查。。如果果遇遇到到某某些些錯錯誤誤((例例如如,,當當數數據據庫庫寫寫入入程程序序進進程程DBWn幾幾次次試試圖圖向向某某表表空空間間的的數數據據文文件件寫寫入入都都失失敗敗時時)),,Oracle例例程程自自動動將將表表空空間間從從聯聯機機切切換換為為脫脫機機。。不不同同的的錯錯誤誤情情況況在在Oracle9i數數據據庫庫管管理理基基礎礎II課課程程內內有有更更為為詳詳細細的的討討論論。。使表表空空間間脫脫機機只要要數數據據庫庫打打開開,,數數據據庫庫管管理理員員就就可可以以使使任任何何表表空空間間脫脫機機((SYSTEM表表空空間間和和任任何何具具有有活活動動還還原原段段或或臨臨時時段段的的表表空空間間除除外外))。。當當一一個個表表空空間間脫脫機機后后,,Oracle服服務務器器將將使使與與之之相相關關聯聯的的所所有有數數據據文文件件脫脫機機ALTERTABLESPACEtablespace{ONLINE|OFFLINE[NORMAL|TEMPORARY|IMMEDIATE|FORRECOVER]}其中中::NORMAL::將將該該表表空空間間中中所所有有數數據據文文件件內內的的所所有有塊塊從從SGA中中清清空空。。這這是是缺缺省省設設置置。。在在使使該該表表空空間間重重新新聯聯機機之之前前,,您您無無須須對對其其執執行行介介質質恢恢復復。。盡盡可可能能使使用用NORMAL子子句句。。TEMPORARY::對對表表空空間間內內的的所所有有聯聯機機數數據據文文件件執執行行檢檢查查點點操操作作,,即即使使某某些些文文件件無無法法寫寫入入。。所有有脫脫機機文文件件可可能能都都需需要要進進行行介介質質恢恢復復。。IMMEDIATE::不不保保證證表表空空間間文文件件可可用用,,而而且且不不執執行行檢檢查查點點操操作作。。在在使使表表空空間間重重新新聯聯機機前前,,您必必須須對對其其執執行行介介質質恢恢復復操操作作。。FORRECOVER::使使表表空空間間脫脫機機以以進進行行表表空空間間時時間間點點恢恢復復。。使表表空空間間脫脫機機使用用OracleEnterpriseManager使使表表空空間間脫脫機機從“OEM控控制臺”(OEMConsole):1.導航到到“數據庫””(Databases)>““存儲”(Storage)>“表空空間”(Tablespaces)。2.選擇表表空間。3.在“常常規”(General)選項項卡的“狀態態”(Status)區域,選選擇“脫機””(Offline)。。4.從下拉拉菜單中選擇擇“模式”(Mode)。5.單擊““應用”(Apply)。更改存儲設置置?使用ALTERTABLESPACE命命令更改存存儲設置ALTERTABLESPACEuserdataMINIMUMEXTENT2M;ALTERTABLESPACEuserdataDEFAULTSTORAGE(INITIAL2MNEXT2MMAXEXTENTS999);?不能更改改在本地管理理的表空間的的存儲設置使用ALTERTABLESPACE命令令可以改變表表空間的缺省省存儲定義::ALTERTABLESPACEtablespace[MINIMUMEXTENTinteger[K|M]|DEFAULTstorage_clause]更改存儲設置置使用OracleEnterpriseManager更改存存儲設置從“OEM控控制臺”(OEMConsole):1.導航到到“數據庫””(Databases)>““存儲”(Storage)>“表空空間”(Tablespaces)。2.使用鼠鼠標右鍵單擊擊表空間,從從彈出的菜單單中選擇“查查看/編輯詳詳細資料”(View/EditDetails)。3.單擊““存儲”(Storage)選選項卡并進行行必要的更改改。4.單擊““應用”(Apply)。調整表空間大大小表空間大小可可通過以下方方法進行調整整:?更改數據據文件的大小小:–使用AUTOEXTEND自自動調整–使用ALTERTABLESPACE手手動調整?使用ALTERTABLESPACE添添加數據文文件您可以通過下下面兩種方法法增大表空間間:?選擇自動動或手動更改改數據文件的的大小。?向表空間間添加數據文文件。啟用數據文件件自動擴展?可使用以以下命令自動動調整大小::–CREATEDATABASE–CREATETABLESPACE–ALTERTABLESPACE…ADDDATAFILE?示例:CREATETABLESPACEuser_dataDATAFILE'/u01/oradata/userdata01.dbf'SIZE200MAUTOEXTENDONNEXT10MMAXSIZE500M;?查詢DBA_DATA_FILES視圖圖以確定是否否啟用了AUTOEXTEND。。啟用數據文件件自動擴展為新數據文件件指定AUTOEXTEND通過AUTOEXTEND子句可可啟用或禁用用數據文件的的自動擴展。。文件將按指指定的增量增增加直到達到到指定的最大大值。使用AUTOEXTEND子句的的優點:?當表空間間的空間用盡盡時無需過多多的直接干預預?確保應用用程序不會由由于未能分配配區而暫停創建數據文件件后,可使用用下列SQL命令啟用用數據文件的的自動擴展::?CREATEDATABASE?CREATETABLESPACE...DATAFILE?ALTERTABLESPACE...ADDDATAFILE啟用數據文件件自動擴展使用ALTERDATABASE命令可修修改數據文件件并啟用自動動擴展:ALTERDATABASEDATAFILEfilespec[autoextend_clause]autoextend_clause:==[AUTOEXTEND{OFF|ON[NEXTinteger[K|M]][MAXSIZEUNLIMITED|integer[K|M]]}]其中:AUTOEXTENDOFF:禁禁用數據文件件的自動擴展展AUTOEXTENDON:啟用用數據文件的的自動擴展NEXT:指指定在需要更更多區時分配配給數據文件件的磁盤空間間MAXSIZE:指定允允許分配給該該數據文件的的最大磁盤空空間UNLIMITED:將將分配給數據據文件的磁盤盤空間設為不不受限為現有數據文文件指定AUTOEXTEND使用SQL命命令ALTERDATABASE可對現現有數據文件件啟用或禁用用自動文件擴擴展:ALTERDATABASE[database]DATAFILE'filename'[,'filename']...autoextend_clause啟用數據文件件自動擴展確定AUTOEXTEND已啟用用還是已禁用用查詢DBA_DATA_FILES視圖以確確定是否啟用用了AUTOEXTEND并檢查查AUTOEXTENSIBLE列列。SQL>selecttablespace_name,file_name,autoextensible2fromdba_data_files;TABLESPACE_NAMEFILE_NAMEAUTOEXTENSIBLE-----------------------------------------------------SYSTEM/home/dba01/ORADATA/u01/system01.dbfYESDATA01/home/dba01/ORADATA/u04/data01.dbfNOUSERS/home/dba01/ORADATA/u03/users01.dbfNOINDX/home/dba01/ORADATA/u06/indx01.dbfNOSAMPLE/home/dba01/ORADATA/u02/sample01.dbfYESDATA02/home/dba01/ORADATA/u03/data02.dbfNOINDEX01/home/dba01/ORADATA/u06/index01.dbfYESUNDO2/home/dba01/ORADATA/u01/UNDO2.dbfNO8rowsselected.啟用數據文件件自動擴展使用OracleEnterpriseManager啟用自自動調整大小小功能從“OEM控控制臺”(OEMConsole):1.導航到到“數據庫””(Databases)>““存儲”(Storage)>“數據據文件”(Datafiles)。。2.選擇數數據文件。3.在“存存儲”(Storage)選項項卡中,選擇擇“數據文件件已滿后自動動擴展”(Automaticallyextenddatafilewhenfull)復復選框。4.設置““增量”(Increment)和“最大大大小”(MaximumSize)的的值。5.單擊““應用”(Apply)。手動調整數據據文件的大小小?使用ALTERDATABASE可手手動增加或減減少數據文件件的大小?調整數據據文件大小可可在無需添加加更多數據文文件的情況下下添加更多空空間?手動調整整數據文件大大小將回收數數據庫中的未未用空間?示例:ALTERDATABASEDATAFILE'/u03/oradata/userdata02.dbf'RESIZE200M;手動調整數據據文件的大小小DBA能夠夠更改數據文文件的大小,,他們可以使使用ALTERDATABASE命令手動動增加或減少少數據文件的的大小,而不不必通過添加加數據文件來來向數據庫添添加空間:ALTERDATABASE[database]DATAFILE‘filename’[,‘filename’]...RESIZEinteger[K|M]其中:Integer:以字節節為單位表示示的結果數據據文件的絕對對大小如果存儲的數數據庫對象超超過指定大小小,那么數據據文件大小只只能減少到數數據文件內最最后一個對象象的最后的塊塊為止。向表空間添加加數據文件?通過添加加其它數據文文件來增加分分配給表空間間的空間?通過ADDDATAFILE子句可添添加數據文件件?示例:ALTERTABLESPACEuser_dataADDDATAFILE'/u01/oradata/userdata03.dbf'SIZE200M;向表空間添加加數據文件您可以通過ALTERTABLESPACEADDDATAFILE命命令,向表空空間添加數據據文件以增加加分配給表空空間的磁盤空空間總量:ALTERTABLESPACEtablespaceADDDATAFILEfilespec[autoextend_clause]向表空間添加加數據文件使用OracleEnterpriseManager添加數數據文件從“OEM控控制臺”(OEMConsole):1.導航到到“數據庫””(Databases)>““存儲”(Storage)>“表空空間”(Tablespaces)。2.選擇表表空間。3.選擇““添加數據文文件”(AddDatafile)。4.在“常常規”(General)選項項卡中輸入文文件信息。5.單擊““創建”(Create)。移動數據文件件的方法?ALTERTABLESPACE–表表空間間必須須脫機機–目目標數數據文文件必必須存存在?重重命名名數據據文件件的步步驟::–使使表空空間脫脫機。。–使使用操操作系系統命命令移移動或或復制制文件件。–執執行ALTERTABLESPACERENAMEDATAFILE命命令令。–使使表空空間聯聯機。。–必必要時時使用用操作作系統統命令令刪除除該文文件。。移動數數據文文件的的方法法根據表表空間間類型型的不不同,,數據據庫管管理員員可使使用以以下兩兩種方方法之之一來來移動動數據據文件件:ALTERTABLESPACE命命令令下面顯顯示了了ALTERTABLESPACE命命令,,它僅僅適用用于不不含活活動還還原段段或臨臨時段段的非非SYSTEM表表空間間中的的數據據文件件:ALTERTABESPACEtablespaceRENAMEDATAFILE'filename'[,'filename']...TO'filename'[,'filename']...源文件件名必必須與與存儲儲在控控制文文件內內的名名稱匹匹配。。移動數數據文文件的的方法法?ALTERDATABASE–數數據庫庫必須須已裝裝載–目目標數數據文文件必必須存存在ALTERDATABASERENAMEFILE'/u01/oradata/system01.dbf'TO'/u03/oradata/system01.dbf';移動數數據文文件的的方法法ALTERDATABASE命命令令ALTERDATABASE命命令令可用用來移移動任任意類類型的的數據據文件件:ALTERDATABASE[database]RENAMEFILE'filename'[,'filename']...TO'filename'[,'filename']...因為SYSTEM表表空空間無無法脫脫機,,您必必須使使用該該方法法移動動SYSTEM表表空間間內的的數據據文件件。使用如如下進進程重重命名名無法法脫機機的表表空間間內的的文件件:1.關關閉閉數據據庫。。2.使使用用操作作系統統命令令移動動文件件。3.裝裝載載數據據庫。。4.執執行行ALTERDATABASERENAMEFILE命命令。。5.打打開開數據據庫。。移動數數據文文件的的方法法

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論