ORACLE數(shù)據(jù)庫管理基礎(chǔ)8_第1頁
ORACLE數(shù)據(jù)庫管理基礎(chǔ)8_第2頁
ORACLE數(shù)據(jù)庫管理基礎(chǔ)8_第3頁
ORACLE數(shù)據(jù)庫管理基礎(chǔ)8_第4頁
ORACLE數(shù)據(jù)庫管理基礎(chǔ)8_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

管理表空間和數(shù)據(jù)文件目標完成這一課的學習后,您應該能達到下列目標:?確定表空間和數(shù)據(jù)文件的用途?創(chuàng)建表空間?管理表空間?使用“Oracle管理文件”(OracleManagedFiles,OMF)創(chuàng)建和管理表空間表空間和數(shù)據(jù)文件Oracle在邏輯上以表空間存儲數(shù)據(jù),而實際上以數(shù)據(jù)文件進行存儲。?表空間:–某一時刻只能屬于一個數(shù)據(jù)庫–由一個或多個數(shù)據(jù)文件組成–可進一步劃分為邏輯存儲單元?數(shù)據(jù)文件:–只能屬于一個表空間和一個數(shù)據(jù)庫–是方案對象數(shù)據(jù)的資料檔案庫表空間和數(shù)據(jù)文件數(shù)據(jù)庫、表空間和數(shù)據(jù)文件是緊密相關(guān)的,但它們之間又有著重要區(qū)別:?Oracle數(shù)據(jù)庫由一個或多個稱為表空間的邏輯存儲單元組成,表空間作為一個整體存儲數(shù)據(jù)庫中的所有數(shù)據(jù)。?Oracle數(shù)據(jù)庫內(nèi)的每個表空間由一個或多個稱為數(shù)據(jù)文件的文件組成,這些數(shù)據(jù)文件是與Oracle運行所在的操作系統(tǒng)一致的物理結(jié)構(gòu)。?數(shù)據(jù)庫的所有數(shù)據(jù)都存儲在數(shù)據(jù)文件中,數(shù)據(jù)庫的每個表空間都由這些數(shù)據(jù)文件組成。例如,最簡單的Oracle數(shù)據(jù)庫只有一個表空間和一個數(shù)據(jù)文件。而另一個數(shù)據(jù)庫可具有三個表空間,每個表空間由兩個數(shù)據(jù)文件組成(共有六個數(shù)據(jù)文件)。表空間類型?SYSTEM表空間–隨數(shù)據(jù)庫創(chuàng)建–包含數(shù)據(jù)字典–包含SYSTEM還原段?非SYSTEM表空間–用于分開存儲段–易于空間管理–控制分配給用戶的空間量表空間類型為加強控制和方便維護,DBA創(chuàng)建了表空間。Oracle服務器識別兩種類型的表空間:SYSTEM和所有其它表空間。SYSTEM表空間:?隨數(shù)據(jù)庫創(chuàng)建?所有數(shù)據(jù)庫均需要?包括數(shù)據(jù)字典(內(nèi)含存儲程序單元)?包含SYSTEM還原段?應不包括用戶數(shù)據(jù),盡管允許這樣做非SYSTEM表空間:?支持更靈活地管理數(shù)據(jù)庫?將還原段、臨時段、應用程序數(shù)據(jù)段和應用程序索引段分開?根據(jù)備份要求將數(shù)據(jù)分開?分開動態(tài)和靜態(tài)數(shù)據(jù)?控制分配給用戶對象的空間量創(chuàng)建表空間使用以下命令創(chuàng)建表空間:CREATETABLESPACECREATETABLESPACEuserdataDATAFILE'/u01/oradata/userdata01.dbf'SIZE100MAUTOEXTENDONNEXT5MMAXSIZE200M;創(chuàng)建表空間使用CREATETABLESPACE命令可創(chuàng)建表空間:CREATETABLESPACEtablespace[DATAFILEclause][MINIMUMEXTENTinteger[K|M]][BLOCKSIZEinteger[K]][LOGGING|NOLOGGING][DEFAULTstorage_clause][ONLINE|OFFLINE][PERMANENT|TEMPORARY][extent_management_clause][segment_management_clause]創(chuàng)建表空間其中:Tablespace:是要創(chuàng)建的表空間的名稱DATAFILE:指定組成表空間的一個或多個數(shù)據(jù)文件MINIMUMEXTENT:確保表空間內(nèi)每個占用區(qū)的大小是整數(shù)(integer)的倍數(shù)。使用K或M以千字節(jié)或兆字節(jié)為單位指定該大小。BLOCKSIZE:BLOCKSIZE指定表空間的非標準塊大小。要指定該子句,必須具有DB_CACHE_SIZE,并至少設置一個DB_nK_CACHE_SIZE參數(shù),在該子句中指定的整數(shù)(integer)必須與一個DB_nK_CACHE_SIZE參數(shù)設置相對應。LOGGING:指定在缺省情況下,表空間內(nèi)的所有表、索引和分區(qū)的所有更改都寫入重做日志文件。LOGGING為缺省設置。NOLOGGING:指定在缺省情況下,表空間內(nèi)的所有表、索引和分區(qū)的所有更改都不寫入重做日志文件。NOLOGGING只影響某些DML和DDL命令,如直接加載。DEFAULT:DEFAULT指定表空間內(nèi)創(chuàng)建的所有對象的缺省存儲參數(shù)。創(chuàng)建表空間OFFLINE:指定表空間從創(chuàng)建后就不可用。PERMANENT:指定表空間可用于保留永久對象。TEMPORARY:指定表空間僅用于保留臨時對象,如:由ORDERBY子句引起的隱式排序所使用的段。不能指定EXTENTMANAGEMENTLOCAL或BLOCKSIZE子句。extent_management_clause:該子句指定如何管理表空間內(nèi)的區(qū)。該子句在本課的后續(xù)部分中討論。segment_management_clause:這只與永久的、且在本地管理的表空間相關(guān)。通過它可指定Oracle是否應使用空閑列表或位圖來跟蹤表空間段中的已占用空間和空閑空間。創(chuàng)建表空間datafile_clause:==filename[SIZEinteger[K|M][REUSE][autoextend_clause]filename:是表空間中的數(shù)據(jù)文件的名稱。SIZE:指定文件大小。使用K或M以千字節(jié)或兆字節(jié)為單位指定大小。REUSE:允許Oracle服務器重新使用現(xiàn)有文件。autoextend_clause:該子句啟用或禁用數(shù)據(jù)文件的自動擴展。NEXT:以字節(jié)為單位指定在需要更多區(qū)時自動分配的磁盤空間下一增量的大小其中:MAXSIZE:指定數(shù)據(jù)文件可以自動擴展到的最大磁盤空間。UNLIMITED:指定可分配給數(shù)據(jù)文件或Tempfile的磁盤空間是不受限制的。另請參閱“Oracle9iSQLReference”和“Oracle9iConcepts”以獲取更多信息。創(chuàng)建表空間使用OracleEnterpriseManager創(chuàng)建表空間從“OEM控制臺”(OEMConsole):1.導航到“數(shù)據(jù)庫”(Databases)>“存儲”(Storage)>“表空間”(Tablespaces)。2.單擊鼠標右鍵,從彈出的菜單中選擇“創(chuàng)建”(Create)。3.在“常規(guī)”(General)和“存儲”(Storage)選項卡中填寫創(chuàng)建表空間所需的信息。4.單擊“創(chuàng)建”(Create)。表空間的空間管理?本地管理的表空間:–在表空間內(nèi)管理空閑區(qū)–使用位圖來記錄空閑區(qū)–每一位與一個塊或一組塊相對應–位的數(shù)值指明是空閑還是已占用?字典管理的表空間:–由數(shù)據(jù)字典管理空閑區(qū)–在分配或回收區(qū)時更新對應的表表空間的空間管理表空間以區(qū)為單位分配空間。可使用以下兩種不同方法來跟蹤創(chuàng)建的表空間中的空閑空間和已占用空間:本地管理的表空間:在表空間內(nèi)通過位圖管理區(qū)。位圖中的每個位對應于一個塊或一組塊。分配了某個區(qū)或釋放了某個區(qū)可重新使用時,Oracle服務器更改位圖值以顯示塊的新狀態(tài)。從Oracle9i開始,在本地管理已成為缺省設置。字典管理的表空間:由數(shù)據(jù)字典管理區(qū)。Oracle服務器將在分配或回收區(qū)時更新數(shù)據(jù)字典中對應的表。本地管理的表空間?減少了對數(shù)據(jù)字典表的爭用?分配或回收空間時不生成還原數(shù)據(jù)?無需合并CREATETABLESPACEuserdataDATAFILE'/u01/oradata/userdata01.dbf'SIZE500MEXTENTMANAGEMENTLOCALUNIFORMSIZE128K;本地管理的表空間EXTENTMANAGEMENT子句的LOCAL選項指定表空間在本地管理。缺省情況下,表空間在本地管理。extent_management_clause:[EXTENTMANAGEMENT[DICTIONARY|LOCAL[AUTOALLOCATE|UNIFORM[SIZEinteger[K|M]]]]]其中:DICTIONARY:指定使用字典表來管理表空間。LOCAL:指定在本地通過位圖管理表空間。如果指定了LOCAL,則不能再指定DEFAULT

storage_clause、MINIMUMEXTENT或TEMPORARY。AUTOALLOCATE:指定表空間由系統(tǒng)管理。用戶無法指定區(qū)大小。這是缺省設置。UNIFORM:指定按照大小統(tǒng)一為SIZE字節(jié)數(shù)的各個區(qū)來管理表空間。使用K或M以千字節(jié)或兆字節(jié)來指定區(qū)大小。缺省大小為1MB本地管理的表空間EXTENTMANAGEMENT子句可用于各種CREATE命令中:?對于非SYSTEM的永久表空間,您可以在CREATETABLESPACE命令中指定EXTENTMANAGEMENTLOCAL。?對于臨時表空間,您可以在CREATETEMPORARYTABLESPACE命令中指定EXTENTMANGEMENTLOCAL。在本地管理表空間的優(yōu)點:本地管理的表空間相對于字典管理的表空間有如下優(yōu)點:?本地管理可以避免循環(huán)空間管理操作,但是這種操作在字典管理的表空間中卻有可能發(fā)生。一旦消耗或釋放某個區(qū)的空間會產(chǎn)生另一個消耗或釋放操作(消耗或釋放還原段或數(shù)據(jù)字典表內(nèi)的空間)時,它就會發(fā)生。?由于本地管理的表空間在數(shù)據(jù)字典表中不記錄空閑空間,從而減少了對這些表的爭用。?區(qū)的本地管理可自動跟蹤?quán)徑目臻e空間,因而無須合并空閑區(qū)。?本地管理的區(qū)大小可由系統(tǒng)自動確定。?對區(qū)的位圖進行更改不會生成還原信息,因為它們不更新數(shù)據(jù)字典中的表(表空間限額信息等特殊情況除外)。字典管理的表空間?在數(shù)據(jù)字典中管理區(qū)?存儲在表空間中的每個段都可以有不同的存儲子句?需要合并CREATETABLESPACEuserdataDATAFILE'/u01/oradata/userdata01.dbf'SIZE500MEXTENTMANAGEMENTDICTIONARYDEFAULTSTORAGE(initial1MNEXT1MPCTINCREASE0);字典管理的表空間內(nèi)的段可具有自定義的存儲設置。這比本地管理的表空間更靈活,但效率要低得多。還原表空間?用于存儲還原段?不能包含任何其它對象?其中的區(qū)要在本地管理?只能使用DATAFILE和EXTENTMANAGEMENT子句CREATEUNDOTABLESPACEundo1DATAFILE'/u01/oradata/undo01.dbf'SIZE40M;還原表空間還原表空間使用“自動還原管理”(AutomaticUndoManagement)的方式。有關(guān)“自動還原管理”的更多信息,請參考“管理還原數(shù)據(jù)”一課。CREATEUNDOTABLESPACEtablespace

[DATAFILEclause]臨時表空間?用于排序操作?不能包含任何永久對象?建議在本地管理區(qū)CREATETEMPORARYTABLESPACEtempTEMPFILE'/u01/oradata/temp01.dbf'SIZE500MEXTENTMANAGEMENTLOCALUNIFORMSIZE4M;臨時表空間通過指定專門用于排序段的臨時表空間,您可以更有效地管理用于排序操作的空間。在臨時表空間內(nèi)不能駐留永久方案對象。當一個段由多個排序操作共享時,就使用排序段或者臨時段。當多個排序太大而無法裝入內(nèi)存時,使用臨時表空間能改進性能。給定臨時表空間的排序段在例程首次執(zhí)行排序操作時創(chuàng)建。排序段通過分配更多的區(qū)來擴展,直到段大小等于或者大于該例程上運行的所有活動排序的存儲要求總和。臨時表空間本地管理的臨時表空間具有臨時數(shù)據(jù)文件(Tempfile),它與普通數(shù)據(jù)文件很相似,只有以下幾點不同:?Tempfile始終設為NOLOGGING模式。?無法將Tempfile設置為只讀。?無法重命名Tempfile。?無法通過ALTERDATABASE命令創(chuàng)建Tempfile。?Tempfile對于只讀數(shù)據(jù)庫是必需的。?介質(zhì)恢復不恢復Tempfile。若要優(yōu)化臨時表空間內(nèi)的排序性能,可將UNIFORMSIZE設置為SORT_AREA_SIZE參數(shù)的整數(shù)倍。臨時表空間使用OracleEnterpriseManager創(chuàng)建臨時表空間從“OEM控制臺”(OEMConsole):1.導航到“數(shù)據(jù)庫”(Databases)>“存儲”(Storage)>“表空間”(Tablespaces)。2.單擊鼠標右鍵,從彈出的菜單中選擇“創(chuàng)建”(Create)。3.在“常規(guī)”(General)選項卡中提供詳細信息。4.在“類型”(Type)區(qū)域中選擇“臨時”(Temporary)選項。5.單擊“存儲”(Storage)選項卡,輸入存儲信息。6.單擊“創(chuàng)建”(Create)。缺省臨時表空間?指定數(shù)據(jù)庫范圍內(nèi)的缺省臨時表空間?避免使用SYSTEM表空間存儲臨時數(shù)據(jù)?可使用以下命令進行創(chuàng)建:–CREATEDATABASE–在本地管理–ALTERDATABASE

ALTERDATABASE

DEFAULTTEMPORARYTABLESPACEtemp;缺省臨時表空間創(chuàng)建未指定缺省臨時表空間的數(shù)據(jù)庫時,分配給任意用戶的,未使用TEMPORARY

TABLESPACE子句創(chuàng)建的表空間是SYSTEM表空間。此時,alert_sid.log中會記錄一條警告消息,指出SYSTEM表空間是缺省臨時表空間。在創(chuàng)建數(shù)據(jù)庫期間創(chuàng)建缺省臨時表空間可防止將SYSTEM表空間用作臨時空間。創(chuàng)建數(shù)據(jù)庫后,可通過創(chuàng)建臨時表空間然后改變數(shù)據(jù)庫來設置缺省臨時表空間。SQL>ALTERDATABASEDEFAULTTEMPORARYTABLESPACEtemp;定義后,未顯式分配到臨時表空間的用戶將被分配到該缺省臨時表空間。缺省臨時表空間可通過使用ALTERDATABASEDEFAULTEMPORARYTABLESPACE命令隨時進行更改。更改缺省臨時表空間后,分配到該缺省臨時表空間的所有用戶將被重新分配到新的缺省表空間。創(chuàng)建缺省臨時表空間在創(chuàng)建數(shù)據(jù)庫期間: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創(chuàng)建缺省臨時表空間在創(chuàng)建數(shù)據(jù)庫期間:創(chuàng)建未指定缺省臨時表空間的數(shù)據(jù)庫時,分配給任意用戶的,未使用TEMPORARY

TABLESPACE子句創(chuàng)建的缺省表空間是SYSTEM表空間。此時,alertSID.log會記錄一條警告消息,指示出SYSTEM表空間是缺省臨時表空間。在創(chuàng)建數(shù)據(jù)庫期間創(chuàng)建缺省臨時表空間可防止將SYSTEM表空間用作臨時空間。使用CREATEDATABASE命令創(chuàng)建缺省臨時表空間時,其類型是在本地管理。創(chuàng)建缺省臨時表空間?創(chuàng)建數(shù)據(jù)庫后:ALTERDATABASEDEFAULTTEMPORARYTABLESPACEdefault_temp2;?查詢DATABASE_PROPERTIES以確定數(shù)據(jù)庫的缺省臨時表空間SELECT*FROMDATABASE_PROPERTIES;創(chuàng)建缺省臨時表空間創(chuàng)建數(shù)據(jù)庫后:缺省臨時表空間可通過下列方法創(chuàng)建和設置:?使用CREATETABLESPACE命令創(chuàng)建臨時表空間?使用ALTERDATABASE命令,如上所述定義后,未顯式分配到臨時表空間的用戶將被分配到該缺省臨時表空間。缺省臨時表空間可通過使用ALTERDATABASEDEFAULTTEMPORARYTABLESPACE命令隨時進行更改。更改缺省臨時表空間后,已分配到該缺省臨時表空間的所有用戶將被重新分配到新的缺省表空間。創(chuàng)建缺省臨時表空間使用OracleEnterpriseManager創(chuàng)建臨時表空間:從“OEM控制臺”(OEMConsole):1.導航到“數(shù)據(jù)庫”(Databases)>“存儲”(Storage)>“表空間”(Tablespaces)。2.單擊鼠標右鍵,從彈出的菜單中選擇“創(chuàng)建”(Create)。3.在“常規(guī)”(General)選項卡中選擇“臨時”(Temporary),然后選擇“設置為缺省臨時表空間”(SetasDefaultTemporaryTablespace)。4.在“存儲”(Storage)選項卡中輸入必要的信息。5.單擊“創(chuàng)建”(Create)。缺省臨時表空間的限制不能對缺省臨時表空間執(zhí)行下列操作:?將其刪除,除非已經(jīng)有新的缺省臨時表空間?使其脫機?更改為永久表空間缺省臨時表空間的限制刪除缺省臨時表空間您只有指定了一個新的缺省表空間后,才能刪除舊的缺省臨時表空間。必須使用ALTER

DATABASE命令才能將缺省臨時表空間更改為新的缺省值。舊的缺省臨時表空間僅在新的缺省臨時表空間可用時才會被刪除。分配到舊的缺省臨時表空間的用戶將被自動重新分配到新的缺省臨時表空間。更改缺省臨時表空間的類型由于缺省臨時表空間必須是SYSTEM表空間或臨時表空間,因此,無法將缺省臨時表空間更改為永久類型。使缺省臨時表空間脫機使表空間脫機后,例如在進行脫機備份、維護或更改使用該表空間的應用程序時,其他用戶將無法使用對應的這部分數(shù)據(jù)庫內(nèi)容。由于上述情況都不適用于臨時表空間,因此無法使缺省臨時表空間脫機。只讀表空間?使用以下命令可將表空間置于只讀模式–導致檢查點操作–數(shù)據(jù)僅用于讀操作–可從表空間刪除對象只讀表空間只讀表空間ALTERTABLESPACE[tablespace]READONLY命令將表空間置于過渡只讀模式。除了以前修改過該表空間中的塊的已有事務處理回退,這種過渡狀態(tài)不允許再對該表空間進行任何寫入操作。當已有的所有事務處理提交或者回退后,只讀命令完成,該表空間置于只讀模式。您可以刪除只讀表空間內(nèi)的表和索引等項,因為這些命令只影響數(shù)據(jù)字典。之所以可以這樣操作,是因為DROP命令只更新數(shù)據(jù)字典,而不更新構(gòu)成表空間的物理文件。對于本地管理的表空間,刪除的段將改為臨時段以避免更新位圖。要使只讀表空間可寫,表空間內(nèi)的所有數(shù)據(jù)文件都必須聯(lián)機。將表空間設為只讀將導致對表空間的數(shù)據(jù)文件執(zhí)行檢查點操作。只讀表空間將表空間設為只讀可防止對表空間中的數(shù)據(jù)文件進行任何寫操作。為此,數(shù)據(jù)文件可駐留在只讀介質(zhì)上,如CD-ROM或一次性寫入(WORM)驅(qū)動器。只讀表空間可以免去對數(shù)據(jù)庫大量的靜態(tài)分配執(zhí)行備份。在一次性寫入(WORM)設備上創(chuàng)建只讀表空間:1.ALTERTABLESPACE...READONLY2.使用操作系統(tǒng)命令將表空間的數(shù)據(jù)文件移動到只讀設備上。3.ALTERTABLESPACE...RENAMEDATAFILE只讀表空間使用OracleEnterpriseManager將表空間設為只讀從“OEM控制臺”(OEMConsole):1.導航到“數(shù)據(jù)庫”(Databases)>“存儲”(Storage)>“表空間”(Tablespaces)。2.選擇表空間。3.在“General”(常規(guī))選項卡的“Status”(狀態(tài))區(qū)域選擇“ReadOnly”(只讀)復選框。4.單擊“應用”(Apply)使表空間脫機?無法訪問數(shù)據(jù)?不能設為脫機的表空間:–SYSTEM表空間–具有活動的還原段的表空間–缺省臨時表空間?使用以下命令可使表空間脫機:ALTERTABLESPACEuserdataOFFLINE;?使用以下命令可使表空間聯(lián)機:ALTERTABLESPACEuserdataONLINE;使表空間脫機表空間一般是聯(lián)機的,這樣可方便數(shù)據(jù)庫用戶使用其中包含的數(shù)據(jù)。但是,數(shù)據(jù)庫管理員可以讓表空間脫機以便:?使數(shù)據(jù)庫的一部分不可用,但允許正常訪問數(shù)據(jù)庫的其余部分?執(zhí)行脫機表空間備份(盡管表空間可以在聯(lián)機使用時備份)?在數(shù)據(jù)庫打開時恢復表空間或數(shù)據(jù)文件?在數(shù)據(jù)庫打開時移動數(shù)據(jù)文件使表空間脫機表空間的脫機狀態(tài)當表空間脫機后,Oracle不允許隨后有任何SQL語句引用該表空間含有的對象。試圖對脫機表空間內(nèi)的對象進行訪問的用戶將收到一條錯誤消息。當表空間脫機或者重新聯(lián)機后,該事件記錄在數(shù)據(jù)字典和控制文件內(nèi)。如果關(guān)閉數(shù)據(jù)庫時表空間仍然脫機,則當隨后數(shù)據(jù)庫裝載并重新打開時,該表空間仍保持脫機且不會被檢查。如果遇到某些錯誤(例如,當數(shù)據(jù)庫寫入程序進程DBWn幾次試圖向某表空間的數(shù)據(jù)文件寫入都失敗時),Oracle例程自動將表空間從聯(lián)機切換為脫機。不同的錯誤情況在Oracle9i數(shù)據(jù)庫管理基礎(chǔ)II課程內(nèi)有更為詳細的討論。使表空間脫機只要數(shù)據(jù)庫打開,數(shù)據(jù)庫管理員就可以使任何表空間脫機(SYSTEM表空間和任何具有活動還原段或臨時段的表空間除外)。當一個表空間脫機后,Oracle服務器將使與之相關(guān)聯(lián)的所有數(shù)據(jù)文件脫機ALTERTABLESPACEtablespace{ONLINE|OFFLINE[NORMAL|TEMPORARY|IMMEDIATE|FORRECOVER]}其中:NORMAL:將該表空間中所有數(shù)據(jù)文件內(nèi)的所有塊從SGA中清空。這是缺省設置。在使該表空間重新聯(lián)機之前,您無須對其執(zhí)行介質(zhì)恢復。盡可能使用NORMAL子句。TEMPORARY:對表空間內(nèi)的所有聯(lián)機數(shù)據(jù)文件執(zhí)行檢查點操作,即使某些文件無法寫入。所有脫機文件可能都需要進行介質(zhì)恢復。IMMEDIATE:不保證表空間文件可用,而且不執(zhí)行檢查點操作。在使表空間重新聯(lián)機前,您必須對其執(zhí)行介質(zhì)恢復操作。FORRECOVER:使表空間脫機以進行表空間時間點恢復。使表空間脫機使用OracleEnterpriseManager使表空間脫機從“OEM控制臺”(OEMConsole):1.導航到“數(shù)據(jù)庫”(Databases)>“存儲”(Storage)>“表空間”(Tablespaces)。2.選擇表空間。3.在“常規(guī)”(General)選項卡的“狀態(tài)”(Status)區(qū)域,選擇“脫機”(Offline)。4.從下拉菜單中選擇“模式”(Mode)。5.單擊“應用”(Apply)。更改存儲設置?使用ALTERTABLESPACE命令更改存儲設置ALTERTABLESPACEuserdataMINIMUMEXTENT2M;ALTERTABLESPACEuserdataDEFAULTSTORAGE(INITIAL2MNEXT2MMAXEXTENTS999);?不能更改在本地管理的表空間的存儲設置使用ALTERTABLESPACE命令可以改變表空間的缺省存儲定義:ALTERTABLESPACEtablespace[MINIMUMEXTENTinteger[K|M]|DEFAULTstorage_clause]更改存儲設置使用OracleEnterpriseManager更改存儲設置從“OEM控制臺”(OEMConsole):1.導航到“數(shù)據(jù)庫”(Databases)>“存儲”(Storage)>“表空間”(Tablespaces)。2.使用鼠標右鍵單擊表空間,從彈出的菜單中選擇“查看/編輯詳細資料”(View/EditDetails)。3.單擊“存儲”(Storage)選項卡并進行必要的更改。4.單擊“應用”(Apply)。調(diào)整表空間大小表空間大小可通過以下方法進行調(diào)整:?更改數(shù)據(jù)文件的大小:–使用AUTOEXTEND自動調(diào)整–使用ALTERTABLESPACE手動調(diào)整?使用ALTERTABLESPACE添加數(shù)據(jù)文件您可以通過下面兩種方法增大表空間:?選擇自動或手動更改數(shù)據(jù)文件的大小。?向表空間添加數(shù)據(jù)文件。啟用數(shù)據(jù)文件自動擴展?可使用以下命令自動調(diào)整大?。酣CCREATEDATABASE–CREATETABLESPACE–ALTERTABLESPACE…ADDDATAFILE?示例:CREATETABLESPACEuser_dataDATAFILE'/u01/oradata/userdata01.dbf'SIZE200MAUTOEXTENDONNEXT10MMAXSIZE500M;?查詢DBA_DATA_FILES視圖以確定是否啟用了AUTOEXTEND。啟用數(shù)據(jù)文件自動擴展為新數(shù)據(jù)文件指定AUTOEXTEND通過AUTOEXTEND子句可啟用或禁用數(shù)據(jù)文件的自動擴展。文件將按指定的增量增加直到達到指定的最大值。使用AUTOEXTEND子句的優(yōu)點:?當表空間的空間用盡時無需過多的直接干預?確保應用程序不會由于未能分配區(qū)而暫停創(chuàng)建數(shù)據(jù)文件后,可使用下列SQL命令啟用數(shù)據(jù)文件的自動擴展:?CREATEDATABASE?CREATETABLESPACE...DATAFILE?ALTERTABLESPACE...ADDDATAFILE啟用數(shù)據(jù)文件自動擴展使用ALTERDATABASE命令可修改數(shù)據(jù)文件并啟用自動擴展:ALTERDATABASEDATAFILEfilespec[autoextend_clause]autoextend_clause:==[AUTOEXTEND{OFF|ON[NEXTinteger[K|M]][MAXSIZEUNLIMITED|integer[K|M]]}]其中:AUTOEXTENDOFF:禁用數(shù)據(jù)文件的自動擴展AUTOEXTENDON:啟用數(shù)據(jù)文件的自動擴展NEXT:指定在需要更多區(qū)時分配給數(shù)據(jù)文件的磁盤空間MAXSIZE:指定允許分配給該數(shù)據(jù)文件的最大磁盤空間UNLIMITED:將分配給數(shù)據(jù)文件的磁盤空間設為不受限為現(xiàn)有數(shù)據(jù)文件指定AUTOEXTEND使用SQL命令ALTERDATABASE可對現(xiàn)有數(shù)據(jù)文件啟用或禁用自動文件擴展:ALTERDATABASE[database]DATAFILE'filename'[,'filename']...autoextend_clause啟用數(shù)據(jù)文件自動擴展確定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.啟用數(shù)據(jù)文件自動擴展使用OracleEnterpriseManager啟用自動調(diào)整大小功能從“OEM控制臺”(OEMConsole):1.導航到“數(shù)據(jù)庫”(Databases)>“存儲”(Storage)>“數(shù)據(jù)文件”(Datafiles)。2.選擇數(shù)據(jù)文件。3.在“存儲”(Storage)選項卡中,選擇“數(shù)據(jù)文件已滿后自動擴展”(Automaticallyextenddatafilewhenfull)復選框。4.設置“增量”(Increment)和“最大大小”(MaximumSize)的值。5.單擊“應用”(Apply)。手動調(diào)整數(shù)據(jù)文件的大小?使用ALTERDATABASE可手動增加或減少數(shù)據(jù)文件的大小?調(diào)整數(shù)據(jù)文件大小可在無需添加更多數(shù)據(jù)文件的情況下添加更多空間?手動調(diào)整數(shù)據(jù)文件大小將回收數(shù)據(jù)庫中的未用空間?示例:ALTERDATABASEDATAFILE'/u03/oradata/userdata02.dbf'RESIZE200M;手動調(diào)整數(shù)據(jù)文件的大小DBA能夠更改數(shù)據(jù)文件的大小,他們可以使用ALTERDATABASE命令手動增加或減少數(shù)據(jù)文件的大小,而不必通過添加數(shù)據(jù)文件來向數(shù)據(jù)庫添加空間:ALTERDATABASE[database]DATAFILE‘filename’[,‘filename’]...RESIZEinteger[K|M]其中:Integer:以字節(jié)為單位表示的結(jié)果數(shù)據(jù)文件的絕對大小如果存儲的數(shù)據(jù)庫對象超過指定大小,那么數(shù)據(jù)文件大小只能減少到數(shù)據(jù)文件內(nèi)最后一個對象的最后的塊為止。向表空間添加數(shù)據(jù)文件?通過添加其它數(shù)據(jù)文件來增加分配給表空間的空間?通過ADDDATAFILE子句可添加數(shù)據(jù)文件?示例:ALTERTABLESPACEuser_dataADDDATAFILE'/u01/oradata/userdata03.dbf'SIZE200M;向表空間添加數(shù)據(jù)文件您可以通過ALTERTABLESPACEADDDATAFILE命令,向表空間添加數(shù)據(jù)文件以增加分配給表空間的磁盤空間總量:ALTERTABLESPACEtablespaceADDDATAFILEfilespec[autoextend_clause]向表空間添加數(shù)據(jù)文件使用OracleEnterpriseManager添加數(shù)據(jù)文件從“OEM控制臺”(OEMConsole):1.導航到“數(shù)據(jù)庫”(Databases)>“存儲”(Storage)>“表空間”(Tablespaces)。2.選擇表空間。3.選擇“添加數(shù)據(jù)文件”(AddDatafile)。4.在“常規(guī)”(General)選項卡中輸入文件信息。5.單擊“創(chuàng)建”(Create)。移動數(shù)據(jù)文件的方法?ALTERTABLESPACE–表空間必須脫機–目標數(shù)據(jù)文件必須存在?重命名數(shù)據(jù)文件的步驟:–使表空間脫機。–使用操作系統(tǒng)命令移動或復制文件。–執(zhí)行ALTERTABLESPACERENAMEDATAFILE命令。–使表空間聯(lián)機。–必要時使用操作系統(tǒng)命令刪除該文件。移動數(shù)據(jù)文件的方法根據(jù)表空間類型的不同,數(shù)據(jù)庫管理員可使用以下兩種方法之一來移動數(shù)據(jù)文件:ALTERTABLESPACE命令下面顯示了ALTERTABLESPACE命令,它僅適用于不含活動還原段或臨時段的非SYSTEM表空間中的數(shù)據(jù)文件:ALTERTABESPACEtablespaceRENAMEDATAFILE'filename'[,'filename']...TO'filename'[,'filename']...源文件名必須與存儲在控制文件內(nèi)的名稱匹配。移動數(shù)據(jù)文件的方法?ALTERDATABASE–數(shù)據(jù)庫必須已裝載–目標數(shù)據(jù)文件必須存在ALTERDATABASERENAMEFILE'/u01/oradata/system01.dbf'TO'/u03/oradata/system01.dbf';移動數(shù)據(jù)文件的方法ALTERDATABASE命令ALTERDATABASE命令可用來移動任意類型的數(shù)據(jù)文件:ALTERDATABASE[database]RENAMEFILE'filename'[,'filename']...TO'filename'[,'filename']...因為SYSTEM表空間無法脫機,您必須使用該方法移動SYSTEM表空間內(nèi)的數(shù)據(jù)文件。使用如下進程重命名無法脫機的表空間內(nèi)的文件:1.關(guān)閉數(shù)據(jù)庫。2.使用操

溫馨提示

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

評論

0/150

提交評論