Oracle數(shù)據(jù)庫存儲(chǔ)管理_第1頁
Oracle數(shù)據(jù)庫存儲(chǔ)管理_第2頁
Oracle數(shù)據(jù)庫存儲(chǔ)管理_第3頁
Oracle數(shù)據(jù)庫存儲(chǔ)管理_第4頁
Oracle數(shù)據(jù)庫存儲(chǔ)管理_第5頁
已閱讀5頁,還剩63頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第5章數(shù)據(jù)庫存儲(chǔ)管理Review—第4章小結(jié)理解Oracle數(shù)據(jù)庫實(shí)例狀態(tài)nomount,mount,open;掌握數(shù)據(jù)庫實(shí)例的啟動(dòng)(startup)、關(guān)閉(shutdown)及狀態(tài)(alterdatabase)改變的方法;掌握創(chuàng)建(createdatabase)和刪除(dropdatabase)數(shù)據(jù)庫的方法;掌握對數(shù)據(jù)庫內(nèi)存參數(shù)、還原管理、初始化參數(shù)管理和數(shù)據(jù)庫功能使用情況統(tǒng)計(jì)的方法(showparameters,altersystem,init<sid>.ora,spile<sid>.ora);了解Oracle數(shù)據(jù)庫用戶類型;第5章數(shù)據(jù)庫存儲(chǔ)管理第5章數(shù)據(jù)庫存儲(chǔ)管理

本章將重點(diǎn)介紹Oracle數(shù)據(jù)庫的存儲(chǔ)單元和物理文件管理。第5章數(shù)據(jù)庫存儲(chǔ)管理本章學(xué)習(xí)目標(biāo)掌握創(chuàng)建、修改、刪除表空間的方法;掌握創(chuàng)建撤銷表空間的方法;了解scn;了解控制文件的創(chuàng)建方法;理解重做日志的基本概念,掌握管理重做日志的方法;掌握歸檔重做日志的管理方法;第5章數(shù)據(jù)庫存儲(chǔ)管理本章知識點(diǎn)5.1表空間管理

5.2回滾段管理

5.3數(shù)據(jù)庫文件管理第5章數(shù)據(jù)庫存儲(chǔ)管理本章知識點(diǎn)5.1表空間管理

5.2回滾段管理

5.3數(shù)據(jù)庫文件管理第5章數(shù)據(jù)庫存儲(chǔ)管理表空間的分類表空間系統(tǒng)表空間非系統(tǒng)表空間SYSTEMSYSAUXUndoTemporary應(yīng)用表空間BigfileSmallfile所有數(shù)據(jù)庫都必須具備,用來存放管理數(shù)據(jù)庫自身所需的信息將回退段放入撤銷表空間,由實(shí)例自動(dòng)處理撤銷表空間中的回退段用于存放執(zhí)行orderby,groupby等語句時(shí)所需的臨時(shí)數(shù)據(jù)只能放置一個(gè)數(shù)據(jù)文件,可包括4G個(gè)數(shù)據(jù)塊第5章數(shù)據(jù)庫存儲(chǔ)管理表空間數(shù)據(jù)庫、表空間和數(shù)據(jù)文件的關(guān)系每個(gè)表空間由一個(gè)或多個(gè)數(shù)據(jù)文件組成。數(shù)據(jù)文件用于在物理上存儲(chǔ)表空間中所有邏輯結(jié)構(gòu)的數(shù)據(jù)。表空間中數(shù)據(jù)文件的大小之和就是表空間的存儲(chǔ)容量(圖中系統(tǒng)表空間存儲(chǔ)容量為2MB,用戶表空間的存儲(chǔ)容量為4MB)。數(shù)據(jù)庫中表空間的存儲(chǔ)容量之和就是數(shù)據(jù)庫的存儲(chǔ)容量。第5章數(shù)據(jù)庫存儲(chǔ)管理表空間如果將數(shù)據(jù)庫比做一個(gè)存放資料的柜子,則柜子中的抽屜就是表空間,抽屜中的文件夾就是數(shù)據(jù)文件,文件夾中的紙就是段,記錄在紙上的文字就是數(shù)據(jù)。屬于不同應(yīng)用的數(shù)據(jù)應(yīng)當(dāng)被放置在不同的表空間中,就好像不同類別的資料應(yīng)該放在不同的抽屜中一樣。第5章數(shù)據(jù)庫存儲(chǔ)管理預(yù)配置的數(shù)據(jù)庫中的表空間SYSTEM:包含數(shù)據(jù)目錄表和其它管理數(shù)據(jù)SYSAUX:是SYSTEM

表空間的輔助表空間TEMP:包含僅在會(huì)話期間存在的臨時(shí)數(shù)據(jù)UNDOTBS1:包含還原段USERS:非系統(tǒng)用戶創(chuàng)建的所有對象的默認(rèn)表空間EXAMPLE:包含示例方案第5章數(shù)據(jù)庫存儲(chǔ)管理5.1表空間管理查看表空間信息統(tǒng)計(jì)表空間的使用情況創(chuàng)建表空間設(shè)置和修改表空間屬性刪除表空間第5章數(shù)據(jù)庫存儲(chǔ)管理查看表空間信息與表空間相關(guān)的視圖視圖名說明V$TABLESPACE控制文件中保存的所有表空間的名稱和數(shù)量DBA_TABLESPACES所有表空間的描述信息USER_TABLESPACES所有用戶可訪問表空間的描述信息DBA_TABLESPACE_GROUPS所有表空間組及其所屬的表空間信息DBA_SEGMENTS所有表空間中的段信息USER_SEGMENTS所有用戶表空間中的段信息DBA_FREE_SPACE所有表空間中的空閑區(qū)間信息USER_FREE_SPACE所有用戶表空間中的空閑區(qū)間信息V$DATAFILE所有數(shù)據(jù)文件信息V$TEMPFILE所有臨時(shí)文件信息DBA_DATA_FILES顯示所有屬于表空間的數(shù)據(jù)文件信息DBA_TEMP_FILES顯示所有屬于臨時(shí)表空間的臨時(shí)文件信息(1)使用V$TABLESPACE視圖查看表空間信息

視圖V$TABLESPACE可以獲取并顯示控制文件中的表空間信息。字段名數(shù)據(jù)類型說明TS#NUMBER表空間編號NAMEVARCHAR2(30)表空間名稱INCLUDED_IN_DATABASE_BACKUPVARCHAR2(3)表明該表空間是否包含在完整數(shù)據(jù)庫備份中BIGFILEVARCHAR2(3)是否為大文件表空間FLASHBACK_ONVARCHAR2(3)表明該表空間是否參與FLASHBACKDATABASE操作。關(guān)于FLASHBACKDATABASE命令的具體功能將在第8章中介紹ENCRYPT_IN_BACKUPVARCHAR2(3)指定備份數(shù)據(jù)庫時(shí)是否加密。ON表示在表空間級別啟動(dòng)數(shù)據(jù)加密功能;OFF表示在表空間級別關(guān)閉數(shù)據(jù)加密功能;NULL表示在表空間級別未明確指定是否啟動(dòng)或關(guān)閉數(shù)據(jù)加密功能第5章數(shù)據(jù)庫存儲(chǔ)管理查看表空間信息【例】查看視圖V$TABLESPACE中表空間的內(nèi)容和數(shù)量,代碼及執(zhí)行結(jié)果如下:SQL>SELECT*FROMV$TABLESPACE;TS#NAME INC BIG FLA ENC---- ------------ --- --- --- ---0 SYSTEM YES NO YES1 UNDOTBS1 YES NO YES2 SYSAUX YES NO YES4 USERS YES NO YES3 TEMP NO NO YES6 EXAMPLE YES NO YES7 ORCLTBS01 YES NO YES8 ORCLTBS02 YES NO YES已選擇8行。(2)查看表空間的屬性信息字段名數(shù)據(jù)類型說明TABLESPACE_NAMEVARCHAR2(30)表空間名稱BLOCK_SIZENUMBER表空間的數(shù)據(jù)塊大小INITIAL_EXTENTNUMBER缺省的初始區(qū)間大小NEXT_EXTENTNUMBER缺省的區(qū)間自動(dòng)增長的大小MIN_EXTENTSNUMBER缺省的最小區(qū)間數(shù)量MAX_EXTENTSNUMBER缺省的最大區(qū)間數(shù)量PCT_INCREASENUMBER缺省的自動(dòng)增加的區(qū)間大小的百分比MIN_EXTLENNUMBER表空間中最小的區(qū)間大小STATUSVARCHAR2(9)表空間的狀態(tài),包括ONLINE、OFFLINE和READONLYCONTENTSVARCHAR2(9)表空間的內(nèi)容,包括UNDO、PERMANENT和TEMPORARYLOGGINGVARCHAR2(9)缺省的登錄屬性,包括LOGGING和NOLOGGINGFORCE_LOGGINGVARCHAR2(3)表明表空間是否處于強(qiáng)制登錄模式下EXTENT_MANAGEMENTVARCHAR2(10)表明表空間中的區(qū)間處于數(shù)據(jù)字典管理模式(DICTIONARY)還是本地管理模式(LOCAL)ALLOCATION_TYPEVARCHAR2(9)表空間中區(qū)間的分配方式,包括SYSTEM、UNIFORM和USERPLUGGED_INVARCHAR2(3)表明表空間是否接入SEGMENT_SPACE_MANAGEMENTVARCHAR2(2)表明表空間中空閑和已使用的區(qū)間空間是使用空閑列表(MANUAL)來管理,還是使用位圖(AUTO)來管理DEF_TAB_COMPRESSIONVARCHAR2(8)表明是否啟用缺省的表壓縮選項(xiàng)RETENTIONVARCHAR2(11)指定撤銷表空間中數(shù)據(jù)保留的時(shí)間。GUARANTEE表示當(dāng)前表空間為撤銷表空間,并且其RETENTION屬性的值為GUARANTEE。這表明在撤銷區(qū)間中的所有未過期撤銷數(shù)據(jù)都將被保留,即使后面的操作可能會(huì)產(chǎn)生新的撤銷數(shù)據(jù),并占用撤銷區(qū)間中的空間,系統(tǒng)也不會(huì)覆蓋未過期的撤銷數(shù)據(jù)。NOGUARANTEE表示當(dāng)前表空間為撤銷表空間,并且其RETENTION屬性的值為NOGUARANTEE。NOAPPLY表示當(dāng)前表空間不是撤銷表空間BIGFILEVARCHAR2(3)表明當(dāng)前表空間是否為大文件表空間第5章數(shù)據(jù)庫存儲(chǔ)管理查看表空間信息【例】通過視圖DBA_TABLESPACES查看所有表空間的信息,代碼及執(zhí)行結(jié)果如下:SQL>SELECTTABLESPACE_NAME,CONTENTS,STATUSFROMDBA_TABLESPACES;TABLESPACE_NAME CONTENTS STATUS--------------- ---- -----SYSTEM PERMANENT ONLINEUNDOTBS1 UNDO ONLINESYSAUX PERMANENT ONLINETEMP TEMPORARY ONLINEUSERS PERMANENT ONLINEEXAMPLE PERMANENT ONLINEORCLTBS01 PERMANENT ONLINEORCLTBS02 PERMANENT ONLINE已選擇8行。(3)查看表空間組及其所屬的表空間信息字段名數(shù)據(jù)類型說明GROUP_NAMEvarchar2(30)表空間組的名稱TABLESPACE_NAMEvarchar2(30)表空間的名稱(4)查看表空間中所包含的段信息字段名數(shù)據(jù)類型說明OWNERVARCHAR2(30)段所有者的用戶名SEGMENT_NAMEVARCHAR2(30)段的名稱PARTITION_NAMEVARCHAR2(30)對象分區(qū)名SEGMENT_TYPEVARCHAR2(18)段的類型,包括PARTITION、TABLEPARTITION、TABLE、CLUSTER、INDEX、ROLLBACK、DEFERREDROLLBACK、TEMPORARY、CACHE、LOBSEGMENT和LOBINDEXTABLESPACE_NAMEVARCHAR2(30)包含段的表空間的名稱BYTESNUMBER段的大小,單位為字節(jié)BLOCKSNUMBER段的大小,單位為數(shù)據(jù)塊EXTENTSNUMBER分配給段的區(qū)間的數(shù)量NEXT_EXTENTNUMBER下一個(gè)要分配給段的區(qū)間的大小,單位為字節(jié)MIN_EXTENTSNUMBER段中允許包含的最小區(qū)間數(shù)量MAX_EXTENTSNUMBER段中允許包含的最大區(qū)間數(shù)量(5)查看表空間中空閑區(qū)間的信息字段名數(shù)據(jù)類型說明TABLESPACE_NAMEVARCHAR2(30)表空間的名稱FILE_IDNUMBER包含區(qū)間的文件的標(biāo)識符BLOCK_IDNUMBER區(qū)間中起始數(shù)據(jù)塊的編號BYTESNUMBER區(qū)間的大小,單位為字節(jié)BLOCKSNUMBER區(qū)間的大小,單位為數(shù)據(jù)塊RELATIVE_FNONUMBER包含區(qū)間的文件的相對文件號【例5.3】使用SYS用戶以SYSDBA的身份登錄到SQLPlus,執(zhí)行下面的命令,可以查看當(dāng)前數(shù)據(jù)庫中所有表空間的空閑區(qū)間大小。SELECTTABLESPACE_NAME,FILE_ID,BYTES,BLOCKSFROMDBA_FREE_SPACE;5.1.2統(tǒng)計(jì)表空間的使用情況下面介紹一種使用多個(gè)系統(tǒng)視圖統(tǒng)計(jì)表空間使用情況的方法,涉及的視圖如下:

DBA_DATA_FILES,用于查詢所有數(shù)據(jù)文件的信息。

DBA_FREE_SPACE,用于查詢表空間的空閑區(qū)間信息。

DBA_TABLESPACES,用于查詢所有表空間的信息。1.統(tǒng)計(jì)所有表空間的總空間大小SELECTtablespace_nameAS表空間名,SUM(bytes)FROMDBA_DATA_FILESGROUPBYtablespace_name;2.統(tǒng)計(jì)所有表空間的空閑空間大小SELECTa.tablespace_name,NVL(SUM(b.bytes),0)bytesFROMDBA_DATA_FILESa,DBA_FREE_SPACEbWHEREa.tablespace_name=b.tablespace_name(+)ANDa.file_id=b.file_id(+)GROUPBYa.tablespace_name;3.統(tǒng)計(jì)表空間使用情況的SELECT語句SELECTc.tablespace_name"表空間",ROUND(a.bytes/1024/1024,2)"表空間大小",ROUND((a.bytes-b.bytes)/1048576,2)"已使用空間",ROUND(b.bytes/1048576,2)"剩余空間",ROUND(b.bytes/a.bytes*100,2)||'%'"剩余百分比"FROM(SELECTtablespace_name,SUM(bytes)bytesFROMDBA_DATA_FILESGROUPBYtablespace_name)a,(SELECTa.tablespace_name,NVL(SUM(b.bytes),0)bytesFROMDBA_DATA_FILESa,DBA_FREE_SPACEbWHEREa.tablespace_name=b.tablespace_name(+)ANDa.file_id=b.file_id(+)GROUPBYa.tablespace_name)b,DBA_TABLESPACEScWHEREa.tablespace_name=b.tablespace_name(+)ANDa.tablespace_name=c.tablespace_nameORDERBYROUND(b.bytes/1024/1024,2);第5章數(shù)據(jù)庫存儲(chǔ)管理查看表空間信息“表空間管理”頁面操作按鈕5.1.3創(chuàng)建表空間1.在OracleEnterpriseManager中創(chuàng)建表空間2.使用CREATETABLESPACE語句創(chuàng)建表空間1.在OracleEnterpriseManager中創(chuàng)建表空間在表空間管理頁面中單擊“創(chuàng)建”按鈕,打開添加表空間頁面。添加數(shù)據(jù)文件單擊頁面右下角的“添加”按鈕,打開添加數(shù)據(jù)文件的頁面。默認(rèn)的文件目錄為D:\app\Administrator\oradata\orcl(假定Oracle安裝在D:\的默認(rèn)目錄下),這里輸入文件名為MYTBS.DBF,單擊“繼續(xù)”按鈕,返回添加表空間的頁面,然后再單擊“確定”按鈕完成添加表空間的操作。此時(shí)在列表中可以看到新建的表空間MYTBS2.使用CREATETABLESPACE語句創(chuàng)建表空間

CREATE[UNDO]TABLESPACE表空間名[DATAFILE子句[{MININUMEXTENT整數(shù)[k|m]|BLOCKSIZE整數(shù)[k]|logging子句|FORCELOGGING|DEFAULT{是否壓縮數(shù)據(jù)段}存儲(chǔ)子句|[online|offline]|[PERMANENT|TEMPORARY]|區(qū)間管理子句|段管理子句}]參數(shù)說明

DATAFILE子句:用于定義表空間中包含的數(shù)據(jù)文件。

MININUMEXTENT子句:用于指定表空間中包含的區(qū)間的最小值。

BLOCKSIZE子句:用于指定一個(gè)不標(biāo)準(zhǔn)的數(shù)據(jù)塊的大小。

logging子句:指定表空間上所有用戶的日志屬性。

FORCELOGGING:指定表空間進(jìn)入強(qiáng)制日志模式,此時(shí)系統(tǒng)將記錄表空間上對象的所有變化(不包含臨時(shí)段的變化)。

DEFAULT存儲(chǔ)子句:用于指定缺省的存儲(chǔ)信息。

online|offline參數(shù):指定表空間的在線狀態(tài)。online指定表空間在創(chuàng)建后立即生效;offline指定表空間在創(chuàng)建后無效。

PERMANENT|TEMPORARY參數(shù)指定表空間的類型,是永久表空間還是臨時(shí)表空間。永久表空間中保存永久對象,臨時(shí)表空間中保存會(huì)話生命周期中存在的臨時(shí)對象。

區(qū)間管理子句:指定表空間如何管理區(qū)間。使用local選項(xiàng)指定本地管理表空間,使用autoallocate選項(xiàng)表示由表空間自動(dòng)分配區(qū)間,用戶不能指定區(qū)間的大小。

段管理子句指定表空間如何管理段,通常使用SEGMENTSPACEMANAGEMENTAUTO子句指定自動(dòng)管理段。第5章數(shù)據(jù)庫存儲(chǔ)管理創(chuàng)建表空間創(chuàng)建表空間的語法格式如下:CREATE[BIGFILE|SMALLFILE|UNDO|TEMPORARY]TABLESPACE<表空間名>

DATAFILE

|TEMPFILE‘?dāng)?shù)據(jù)文件名稱和位置’

SIZE<大小>[REUSE][EXTENTMANAGEMENTLOCAL|DICTIONARY]

[AUTOALLOCATE|UNIFORMSIZE<大小>][SEGMENTSPACEMANAGEMENTAUTO|MANUAL][BLOCKSIZE<大小>]第5章數(shù)據(jù)庫存儲(chǔ)管理創(chuàng)建表空間1.本地管理表空間【例1】在CREATETABLESPACE語句中使用EXTENTMANAGEMENTLOCAL子句,可以創(chuàng)建一個(gè)本地管理表空間,代碼如下:SQL>CREATETABLESPACEOrclTBS01

DATAFILE'C:\oracle\product\10.2.0\oradata\orcl\OrclTBS01.dbf'SIZE50M

EXTENTMANAGEMENTLOCALAUTOALLOCATE;

表空間已創(chuàng)建。第5章數(shù)據(jù)庫存儲(chǔ)管理創(chuàng)建表空間【例2】在創(chuàng)建表空間OrclTBS02時(shí),指定其統(tǒng)一區(qū)間大小為128KB,代碼如下:SQL>CREATETABLESPACEOrclTBS02

DATAFILE'C:\oracle\product\10.2.0\oradata\orcl\OrclTBS02.dbf'SIZE30M

EXTENTMANAGEMENTLOCALUNIFORMSIZE128K;表空間已創(chuàng)建。第5章數(shù)據(jù)庫存儲(chǔ)管理創(chuàng)建表空間查看表空間SQL>SELECTtablespace_name,extent_management,allocation_typeFROMUSER_TABLESPACES;第5章數(shù)據(jù)庫存儲(chǔ)管理創(chuàng)建表空間2.大文件表空間【例】在CREATETABLESPACE語句中使用BIGFILE關(guān)鍵詞可以創(chuàng)建大文件表空間,代碼如下:SQL>CREATEBIGFILETABLESPACEbigtbs

DATAFILE'C:\oracle\product\10.2.0\oradata\orcl\bigtbs.dbf'SIZE1G;表空間已創(chuàng)建。第5章數(shù)據(jù)庫存儲(chǔ)管理創(chuàng)建表空間3.臨時(shí)表空間【例】創(chuàng)建臨時(shí)表空間tmptbs,代碼如下:SQL>CREATETEMPORARYTABLESPACEtmptbs

TEMPFILE'C:\oracle\product\10.2.0\oradata\orcl\tmptbs.dbf'

SIZE20M

REUSE

EXTENTMANAGEMENTLOCALUNIFORMSIZE16K;表空間已創(chuàng)建。創(chuàng)建表空間REUSE如果file已經(jīng)存在,并且在創(chuàng)建時(shí)指定了filesize,那么就重用原文件,并應(yīng)用新的size,如果沒有指定filesize,則保留原有的大小。如果file不存在,oracle將忽略該參數(shù)。如果Oracle使用了已經(jīng)存在的file,那么之前file里的數(shù)據(jù)將全部丟失。

段和數(shù)據(jù)塊管理當(dāng)用戶進(jìn)行插入、更新和刪除操作時(shí),段中的數(shù)據(jù)塊的空間會(huì)發(fā)生變化,塊的狀態(tài)也會(huì)發(fā)生變化。

Oracle使用兩種方法進(jìn)行塊管理:手動(dòng)管理(ManualSegmentSpaceManagement)自動(dòng)管理(AutomaticSegmentSpaceManagement,ASSM)

段和數(shù)據(jù)塊管理手動(dòng)管理(ManualSegmentSpaceManagement)Oracle使用自由列表(FreeList)管理段中的塊,自由列表列出允許進(jìn)行插入操作的數(shù)據(jù)塊自動(dòng)管理(AutomaticSegmentSpaceManagement,ASSM)自動(dòng)管理使用位圖來管理數(shù)據(jù)快。當(dāng)塊發(fā)生變化時(shí),Oracle會(huì)更新位圖,以反映這個(gè)塊是否允許INSERT操作。位圖使Oracle自動(dòng)管理自由空間。

第5章數(shù)據(jù)庫存儲(chǔ)管理段和數(shù)據(jù)塊管理SEGMENTSPACEMANAGEMENT子句可定義段空間管理方式【例】創(chuàng)建自動(dòng)段管理方式的表空間MyTBS01:SQL>CREATETABLESPACEMyTBS01

DATAFILE'C:\oracle\product\10.2.0\oradata\orcl\OrclTBS01.dbf'SIZE30M

EXTENTMANAGEMENTLOCALAUTOALLOCATESEGMENTSPACEMANAGEMENTAUTO;【例】創(chuàng)建手動(dòng)段管理方式的表空間MyTBS01:SQL>CREATETABLESPACEMyTBS01

DATAFILE'C:\oracle\product\10.2.0\oradata\orcl\OrclTBS01.dbf'SIZE30M

EXTENTMANAGEMENTLOCALAUTOALLOCATESEGMENTSPACEMANAGEMENTMANUAL;

第5章數(shù)據(jù)庫存儲(chǔ)管理段和數(shù)據(jù)塊管理數(shù)據(jù)塊是Oracle數(shù)據(jù)庫的最小存儲(chǔ)單元,在初始化參數(shù)DB_BLOCK_SIZE中定義了標(biāo)準(zhǔn)數(shù)據(jù)塊的大小。在創(chuàng)建表空間時(shí),如果不特殊指定,將使用DB_BLOCK_SIZE中定義的數(shù)據(jù)作為數(shù)據(jù)塊的大小?!纠靠梢栽贑REATETABLESPACE語句中使用BLOCKSIZE子句指定非標(biāo)準(zhǔn)數(shù)據(jù)塊的大?。篠QL>CREATETABLESPACEOrclTBS01DATAFILE'C:\oracle\product\10.2.0\oradata\orcl\OrclTBS01.dbf'SIZE30MEXTENTMANAGEMENTLOCALAUTOALLOCATE

BLOCKSIZE8K;新創(chuàng)建的表空間數(shù)據(jù)塊大小為8K。第5章數(shù)據(jù)庫存儲(chǔ)管理撤銷表空間撤銷記錄可以用于完成如下功能:當(dāng)執(zhí)行ROLLBACK命令時(shí),完成回滾操作?;謴?fù)數(shù)據(jù)庫。使用閃回查詢分析以前時(shí)間點(diǎn)的數(shù)據(jù)。使用閃回技術(shù)從邏輯破壞中恢復(fù)數(shù)據(jù)。初始化參數(shù)UNDO_TABLESPACE設(shè)置默認(rèn)的撤銷表空間。【例】使用CREATEUNDOTABLESPACE語句創(chuàng)建撤銷表空間:SQL>CREATEUNDOTABLESPACEundotbs01

DATAFILE'C:\oracle\product\10.2.0\oradata\orcl\undotbs01.dbf'SIZE2MREUSE;表空間已創(chuàng)建。第5章數(shù)據(jù)庫存儲(chǔ)管理設(shè)置和修改表空間屬性ALTERTABLESPACE<表空間名>RENAMETO|ADDDATAFILE|ADDTEMPFILE|OFFLINE|ONLINE|READONLY|READWRITE|RESIZE…第5章數(shù)據(jù)庫存儲(chǔ)管理設(shè)置和修改表空間屬性1.重命名表空間ALTERTABLESPACE

…RENAMETO

…【例】將表空間OrclTBS02修改為OrclTBS03,可以使用下面的語句:SQL>ALTERTABLESPACEOrclTBS02RENAMETOOrclTBS03;表空間已更改。

第5章數(shù)據(jù)庫存儲(chǔ)管理設(shè)置和修改表空間屬性2.?dāng)U展本地管理表空間

【例】在ALTERTABLESPACE語句中使用ADDDATAFILE子句,可以在本地管理表空間中增加數(shù)據(jù)文件,代碼如下:SQL>ALTERTABLESPACEOrclTBS01

ADDDATAFILE'C:\oracle\product\10.2.0\oradata\orcl\OrclTBS011.dbf'SIZE10M;表空間已更改。

第5章數(shù)據(jù)庫存儲(chǔ)管理設(shè)置和修改表空間屬性3.更改大文件表空間大小【例】修改大文件表空間bigtbs的數(shù)據(jù)文件大小為4GB,代碼如下:SQL>ALTERTABLESPACEbigtbs

RESIZE4G;表空間已更改。第5章數(shù)據(jù)庫存儲(chǔ)管理設(shè)置和修改表空間屬性4.?dāng)U展臨時(shí)表空間【例】在臨時(shí)表空間tmptbs中添加臨時(shí)文件,tmptbs01.dbf,文件大小為20MB,代碼如下:SQL>ALTERTABLESPACEtmptbs

ADDTEMPFILE'C:\oracle\product\10.2.0\oradata\orcl\tmptbs01.dbf'SIZE20M;表空間已更改。第5章數(shù)據(jù)庫存儲(chǔ)管理設(shè)置和修改表空間屬性5.設(shè)置聯(lián)機(jī)和脫機(jī)如下情況可將表空間設(shè)置為脫機(jī)狀態(tài):將數(shù)據(jù)庫的一部分設(shè)置為不可訪問,而其他部分可以訪問。執(zhí)行脫機(jī)表空間備份。在升級或維護(hù)應(yīng)用程序時(shí),將應(yīng)用程序及其使用的表臨時(shí)設(shè)置為不可訪問。重命名或重新分配表空間。第5章數(shù)據(jù)庫存儲(chǔ)管理設(shè)置和修改表空間屬性ALTERTABLESPACE…OFFLINE語句設(shè)置表空間為脫機(jī)狀態(tài)

【例】將表空間OrclTBS01設(shè)置為脫機(jī)狀態(tài):SQL>ALTERTABLESPACEOrclTBS01OFFLINE;DBA_TABLESPACES視圖查看表空間的狀態(tài)SQL>SELECTTABLESPACE_NAME,CONTENTS,STATUSFROMDBA_TABLESPACES;SQL>CreateTabletest(IDNUMBER(9),NameVARCHAR2(10))TablespaceOrclTBS01;會(huì)出現(xiàn)錯(cuò)誤ORA-01542:表空間’OrclTBS01’脫機(jī),無法在其中分配空間。第5章數(shù)據(jù)庫存儲(chǔ)管理設(shè)置和修改表空間屬性ALTERTABLESPACE…ONLINE語句設(shè)置表空間為聯(lián)機(jī)狀態(tài)?!纠繉⒈砜臻gOrclTBS01設(shè)置為聯(lián)機(jī)狀態(tài):SQL>ALTERTABLESPACEOrclTBS01ONLINE;SQL>CreateTabletest(IDNUMBER(9),NameVARCHAR2(10))TablespaceOrclTBS01;不會(huì)出現(xiàn)錯(cuò)誤。會(huì)在表空間OrclTBS01中新建一表test。第5章數(shù)據(jù)庫存儲(chǔ)管理設(shè)置和修改表空間屬性

6.設(shè)置只讀表空間ALTERTABLESPACE…READONLY語句設(shè)置只讀表空間【例】將表空間OrclTBS01設(shè)置為只讀表空間:SQL>ALTERTABLESPACEOrclTBS01READONLY;SQL>INSERTINTOtest(ID,Name)VALUES(1,'Jone');會(huì)出現(xiàn)錯(cuò)誤ORA-00372與ORA-01110。第5章數(shù)據(jù)庫存儲(chǔ)管理設(shè)置和修改表空間屬性

6.設(shè)置只讀表空間ALTERTABLESPACE…READWRITE語句可以將只讀表空間設(shè)置為可讀寫狀態(tài)?!纠繉⒈砜臻gOrclTBS01設(shè)置為可讀寫狀態(tài):SQL>ALTERTABLESPACEOrclTBS01READWRITE;SQL>INSERTINTOtest(ID,Name)VALUES(1,'Jone');已創(chuàng)建1行。第5章數(shù)據(jù)庫存儲(chǔ)管理設(shè)置和修改表空間屬性編輯表空間頁面單擊此按鈕保存添加、編輯和移去數(shù)據(jù)文件第5章數(shù)據(jù)庫存儲(chǔ)管理刪除表空間DROPTABLESPACE語句刪除表空間?!纠縿h除空的表空間OrclTBS01:SQL>DROPTABLESPACEOrclTBS01;表空間已刪除。INCLUDINGCONTENTS子句可以在刪除表空間的同時(shí)刪除其中的段,例如:SQL>DROPTABLESPACEOrclTBS01INCLUDINGCONTENTS;INCLUDINGCONTENTSANDDATAFILES子句可以在刪除表空間的同時(shí),刪除包含的段和數(shù)據(jù)文件:SQL>DROPTABLESPACEOrclTBS03INCLUDINGCONTENTSANDDATAFILES;刪除非空表空間刪除操作系統(tǒng)級的文件該語句只會(huì)從數(shù)據(jù)字典中刪除表空間信息,相關(guān)的數(shù)據(jù)文件依然在磁盤上。5.2回滾段管理Oracle使用數(shù)據(jù)庫中的回滾段來實(shí)現(xiàn)未提交數(shù)據(jù)或因系統(tǒng)故障導(dǎo)致實(shí)例崩潰時(shí)進(jìn)行回滾操作,每一個(gè)表空間需要?jiǎng)?chuàng)建回滾段,各個(gè)表空間對回滾段實(shí)現(xiàn)各自的管理5.2回滾段管理5.2.1查看回滾段信息5.2.2查看和設(shè)置回滾段的管理模式5.2.1查看回滾段信息使用視圖DBA_SEGMENTS可以查看當(dāng)前數(shù)據(jù)庫中所有段的信息?;貪L段的類型(SEGMENT_TYPE)值為ROLLBACK?!纠?.22】使用下面的語句查看所有回滾段的信息。COL回滾段名FORA20SELECTSEGMENT_NAME回滾段名,TABLESPACE_NAME所在表空間,BYTES大小FROMDBA_SEGMENTSWHERESEGMENT_TYPE='ROLLBACK';視圖V$ROLLNAME字段名數(shù)據(jù)類型說明USNNUMBER回滾段編號NAMEVARCHAR2(30)回滾段名稱視圖V$ROLLSTAT字段名數(shù)據(jù)類型說明USNNUMBER回滾段編號EXTENTSNUMBER回滾段中包含的區(qū)間的數(shù)量RSSIZENUMBER回滾段的大?。▎挝皇亲止?jié))WRITESNUMBER向回滾段中寫入的字節(jié)字節(jié)數(shù)XACTSNUMBER活動(dòng)事務(wù)的數(shù)量STATUSNUMBER回滾段的狀態(tài),包括ONLINE、PENDING、OFFLINE和FULLCUREXTNUMBER當(dāng)前區(qū)間數(shù)量CURBLKNUMBER當(dāng)前數(shù)據(jù)塊數(shù)量【例5.23】使用下面的語句查看回滾段的當(dāng)前工作情況

.COLNAMEFORA12SE

溫馨提示

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

最新文檔

評論

0/150

提交評論