




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
表空間和數(shù)據(jù)文件的管理第九章表空間和數(shù)據(jù)文件的管理【教學(xué)導(dǎo)航】知識技能目標(biāo)和要求理解表空間和數(shù)據(jù)文件等各種存儲概念理解數(shù)據(jù)庫、表空間、數(shù)據(jù)文件三者的關(guān)系掌握使用SQL命令和OEM有效地管理表空間和數(shù)據(jù)文件的方法本章重點(diǎn)理解表空間各種存儲概念掌握對表空間管理方法本章難點(diǎn)表空間和數(shù)據(jù)文件的管理策略課時建議4課時第九章表空間和數(shù)據(jù)文件的管理9.1表空間和數(shù)據(jù)文件概述9.2表空間磁盤空間管理9.2.1表空間管理的策略9.2.2創(chuàng)建表空間9.2.3修改表空間9.2.4刪除表空間9.2.5查看表空間9.3管理數(shù)據(jù)文件9.3.1數(shù)據(jù)文件管理的策略9.3.2創(chuàng)建數(shù)據(jù)文件9.3.3修改數(shù)據(jù)文件9.3.4刪除數(shù)據(jù)文件9.3.5查看數(shù)據(jù)文件9.4在OEM中管理表空間和數(shù)據(jù)文件【內(nèi)容綱要】第九章管理表空間和數(shù)據(jù)文件使用不同的系統(tǒng)視圖命令查看表空間和數(shù)據(jù)文件信息使用SQL*PLUS和OEM工具管理表空間和數(shù)據(jù)文件能根據(jù)實際情況操作表空間和數(shù)據(jù)文件包括:創(chuàng)建、修改、刪除等【任務(wù)描述】數(shù)據(jù)庫邏輯結(jié)構(gòu)物理結(jié)構(gòu)表空間OS塊Oracle塊段區(qū)數(shù)據(jù)文件Oracle將數(shù)據(jù)物理地存在數(shù)據(jù)文件中,而邏輯地存在表空間中數(shù)據(jù)庫存儲體系結(jié)構(gòu)9.1概述【知識講解與操作指導(dǎo)】為什么引入如此復(fù)雜的存儲體系結(jié)構(gòu)9.1概述主要描述oracle數(shù)據(jù)庫的外部存儲結(jié)構(gòu)在操作系統(tǒng)中如何組織、管理數(shù)據(jù)。與操作系統(tǒng)平臺有關(guān)。是邏輯存儲結(jié)構(gòu)在物理上的、可見的、可操作的、具體的實現(xiàn)形式。物理存儲結(jié)構(gòu)對應(yīng)的操作系統(tǒng)文件存儲在磁盤上。PasswordfileParameterfileArchivedLogfilesControlfilesDatafilesRedoLogfilesOracleDatabase物理結(jié)構(gòu)用于描述在oracle內(nèi)部組織和管理數(shù)據(jù)的方式指定數(shù)據(jù)庫的物理空間如何使用與操作系統(tǒng)平臺無關(guān),是由oracle數(shù)據(jù)庫創(chuàng)建和管理的。為一層次結(jié)構(gòu)(Hierarchy),由表空間(tablespaces),段(segments),分區(qū)(extents),和塊(blocks)TablespaceDatafileSegmentBlocksExtentSegment邏輯結(jié)構(gòu)(LogicalStructure)9.1概述數(shù)據(jù)庫表空間Oracle塊段區(qū)9.1概述表空間(Tablespaces):在任一時刻只能屬于一個數(shù)據(jù)庫由一個或多個數(shù)據(jù)文件所組成數(shù)據(jù)文件(Datafiles):
可以而且只能屬于一個表空間和一個數(shù)據(jù)庫是存儲模式對象數(shù)據(jù)的一個容器/倉庫任何方案對象(如表、索引)都被存儲在表空間的數(shù)據(jù)文件中。表空間和數(shù)據(jù)文件TablespaceDatafileSegmentBlocksExtentSegment
9.1概述
(1)能夠?qū)?shù)據(jù)字典與用戶數(shù)據(jù)分離開來,避免由于字典對象和用戶對象保存在同一個數(shù)據(jù)文件中而產(chǎn)生的I/O沖突。(2)能夠?qū)⒒赝藬?shù)據(jù)與用戶數(shù)據(jù)分離開來,避免由于硬盤損壞而導(dǎo)致永久性的數(shù)據(jù)丟失。(3)能夠?qū)⒈砜臻g的數(shù)據(jù)文件分散保存到不同的硬盤上,平均分布物理I/O操作。(4)能夠?qū)⒛硞€表空間設(shè)置為脫機(jī)狀態(tài)或聯(lián)機(jī)狀態(tài),以便對數(shù)據(jù)庫的一部分進(jìn)行備份和恢復(fù)。(5)能夠?qū)⒛硞€表空間設(shè)置為只讀狀態(tài),從而將數(shù)據(jù)庫的一部分設(shè)置為只讀狀態(tài)。(6)能夠為某種特殊用途專門設(shè)置一個表空間,比如臨時表空間等,以優(yōu)化表空間的使用效率。(7)能夠更加靈活地為用戶設(shè)置表空間限額。表空間和數(shù)據(jù)文件的作用9.1概述系統(tǒng)(SYSTEM)
與數(shù)據(jù)庫一起建立存儲數(shù)據(jù)字典包含了系統(tǒng)還原段非系統(tǒng)(Non-SYSTEM)表空間存儲一些單獨(dú)的段方便磁盤空間管理控制分配給用戶磁盤空間的數(shù)量SYSTEMSYSAUXUsersToolsIndextempundo表空間的分類9.1概述oracle建議:
不要將用戶數(shù)據(jù)存儲在系統(tǒng)表空間中。對于大部分?jǐn)?shù)據(jù)庫來說,至少應(yīng)創(chuàng)建一個非SYSTEM表空間,用它們來存放用戶數(shù)據(jù),以實現(xiàn)用戶數(shù)據(jù)和系統(tǒng)數(shù)據(jù)的完全隔離。9.1概述大文件(bigfile)表空間它只能放置一個數(shù)據(jù)文件(或臨時文件)其數(shù)據(jù)文件可以包括4G個數(shù)據(jù)塊。大文件表空間是為超大型數(shù)據(jù)庫而設(shè)計,以減少數(shù)據(jù)文件的數(shù)量,使更新數(shù)據(jù)文件頭部信息的操作快得多。小文件(smallfile)表空間以前的oracle表空間的新名稱??梢苑胖枚噙_(dá)1024個數(shù)據(jù)文件。System,sysaux表空間總是被創(chuàng)建為小文件表空間大文件表空間與小文件表空間9.2表空間的磁盤空間管理Oracle10g的表空間按照區(qū)和段進(jìn)行管理針對區(qū)的分配方式的不同,有兩種管理方式:數(shù)據(jù)字典管理的表空間:空閑分區(qū)由數(shù)據(jù)字典來管理。當(dāng)分區(qū)被分配或收回時對應(yīng)的(系統(tǒng))表將被修改。本地管理的表空間:空閑分區(qū)在表空間中管理。用位圖(Bitmap)來記錄空閑分區(qū)。位圖中的每一位對應(yīng)于一塊或一組塊。位值指示空閑或分配。注:在創(chuàng)建表空間時選擇其中一種空間管理方法,在以后將無法改變該方法。
HeaderFreespaceDataOracle數(shù)據(jù)塊包含塊頭(header)、數(shù)據(jù)空間(data)、空閑空間(freespace)三個部分。
塊的結(jié)構(gòu)9.2表空間的磁盤空間管理9.2表空間的磁盤空間管理兩者比較數(shù)據(jù)字典管理的表空間:分區(qū)的管理是在數(shù)據(jù)字典中進(jìn)行的。每一個存儲在同一表空間中的段可以具有不同的存儲子句。需要合并碎片。本地管理的表空間:減少數(shù)據(jù)字典表的競爭當(dāng)磁盤空間分配或收回時不會產(chǎn)生回滾(還原數(shù)據(jù))不需要合并碎片9.2表空間的磁盤空間管理一、區(qū)的分配方式:UNIFORM:統(tǒng)一分配,指定表空間中所有區(qū)的大小都相同。AUTOALLOCATE:自動分配,指定由ORACLE來自動管理區(qū)的大小,(默認(rèn)設(shè)置)在AUTOALLOCATE方式下,區(qū)的大小隨表的大小自動地動態(tài)改變,其對應(yīng)關(guān)系如下表表大小區(qū)大小64KB64KB1MB 1MB64MB8MB1000MB64MB本地管理方式9.2表空間的磁盤空間管理二、段管理方式oracle中用來管理段中已用數(shù)據(jù)塊和空閑數(shù)據(jù)塊的機(jī)制。表空間的段管理方式:MANUAL方式:使用可用列表來管理段的空閑數(shù)據(jù)塊,默認(rèn)設(shè)置AUTO方式:使用位圖來管理段的已用數(shù)據(jù)塊和空閑數(shù)據(jù)塊。本地管理方式9.3創(chuàng)建表空間9.3.1創(chuàng)建表空間的準(zhǔn)則9.3.2使用OEM創(chuàng)建表空間9.3.3使用SQL命令創(chuàng)建表空間9.3創(chuàng)建表空間1.創(chuàng)建多個(非SYSTEM)表空間2.設(shè)置表空間的默認(rèn)存儲參數(shù)(針對數(shù)據(jù)字典管理方式)3.為用戶設(shè)置表空間配額9.3.1創(chuàng)建表空間的準(zhǔn)則
1.創(chuàng)建多個(非system)表空間使用多個表空間以便在執(zhí)行數(shù)據(jù)庫操作時有更大的靈活性。需要考慮如下策略:用戶數(shù)據(jù)與數(shù)據(jù)字典分開存放;將應(yīng)用程序數(shù)據(jù)彼此分開存放;將不同表空間的數(shù)據(jù)文件存儲在不同的磁盤上以減少I/O爭用;將回退段數(shù)據(jù)與用戶數(shù)據(jù)分開存放,以避免磁盤故障導(dǎo)致數(shù)據(jù)永久丟失;9.3創(chuàng)建表空間9.3.1創(chuàng)建表空間的準(zhǔn)則1.創(chuàng)建多個(非system)表空間使單獨(dú)的表空間脫機(jī),同時使其它的表空間聯(lián)機(jī);保留表空間用于特定類型的數(shù)據(jù)庫使用,如更快的更新操作,只讀操作或者臨時段存儲;備份單獨(dú)的表空間。能夠更加靈活地為用戶設(shè)置存儲限額,等等9.3創(chuàng)建表空間9.3.1創(chuàng)建表空間的準(zhǔn)則2.設(shè)置表空間的默認(rèn)存儲參數(shù)當(dāng)創(chuàng)建一個新的數(shù)據(jù)字典管理的表空間時,可以為該表空間中將要創(chuàng)建的方案對象指定默認(rèn)的存儲參數(shù)。當(dāng)創(chuàng)建一個新的本地管理的表空間時,不需要指定默認(rèn)的存儲參數(shù)。注:如果沒有為一個新的表空間指定默認(rèn)的存儲參數(shù),則oracle針對用戶操作系統(tǒng)的默認(rèn)存儲參數(shù)就成為該表空間的默認(rèn)存儲參數(shù)。9.3創(chuàng)建表空間9.3.1創(chuàng)建表空間的準(zhǔn)則3.為用戶設(shè)置表空間配額配額是指用戶在某個指定的表空間中允許使用的存儲空間的大小。當(dāng)用戶創(chuàng)建表、索引等具有獨(dú)立段結(jié)構(gòu)的數(shù)據(jù)庫方案對象時,都必須在表空間中為這此方案對象分配存儲空間。一旦該用戶用完了在某個表空間中為他分配的配額,他將不能再在這個表空間中創(chuàng)建方案對象。9.3創(chuàng)建表空間9.3.1創(chuàng)建表空間的準(zhǔn)則9.3創(chuàng)建表空間在表空間的創(chuàng)建中,oracle會完成如下兩件工作:
一是在數(shù)據(jù)字典和控制文件中記錄下新創(chuàng)建的表空間二是在操作系統(tǒng)中按指定的位置和文件名創(chuàng)建指定大小的操作系統(tǒng)文件,作為該表空間對應(yīng)的數(shù)據(jù)文件。9.3創(chuàng)建表空間創(chuàng)建表空間的方法使用SQL命令創(chuàng)建表空間使用OEM創(chuàng)建表空間SQL語句表類型CREATETABLESPACE創(chuàng)建(永久)表空間CREATEBIGFILETABLESPACE創(chuàng)建大文件表空間CREATETEMPORARYTABLESPACE創(chuàng)建臨時表空間CREATEUNDOTABLESPACE創(chuàng)建撤銷表空間以下以創(chuàng)建本地管理的表空間為例,介紹表空間的創(chuàng)建方法使用如下的命令創(chuàng)建表空間(需具有CREATETABLESPACE
系統(tǒng)權(quán)限):9.3.2使用SQL命令創(chuàng)建表空間9.3創(chuàng)建表空間9.3創(chuàng)建表空間有三種創(chuàng)建(永久)表空間的方法1)使用uniform區(qū)分配方式在這種方式下,oracle將為表空間中所有對象都分配指定的相同大小的區(qū)(默認(rèn)為1MB)。Uniform區(qū)分配方式的優(yōu)點(diǎn):在表空間中不會產(chǎn)生磁盤碎片,可以節(jié)約磁盤空間條件:能預(yù)測到表空間中存放的大部分對象都要求使用相同大小的區(qū)1創(chuàng)建(永久)表空間SQL>createtablespacepioneeruserts01Datafile’e:\oradata\examdb\pioneeruserts01_1.dbf’size10M,’e:\oradata\examdb\pioneeruserts01_2.dbf’size20MUniformsize128K;表空間已創(chuàng)建9.3創(chuàng)建表空間2)使用AUTOALLOCATE區(qū)分配方式在這種方式下,oracle將自動為表空間中不同對象分配相應(yīng)大小的區(qū)(最小為64KB)。缺點(diǎn):在表空間中會產(chǎn)生磁盤碎片,進(jìn)而造成磁盤空間的浪費(fèi),但可以減少DBA的工作量。條件:能預(yù)測到表空間中存放的對象所需要的區(qū)的大小會有很大不同SQL>createtablespacepioneeruserts02Datafile’e:\oradata\examdb\pioneerts02_1.dbf’size2MAUTOALLOCATE;表空間已創(chuàng)建1創(chuàng)建(永久)表空間9.3創(chuàng)建表空間3)使用AUTO段管理方式可用segmentspacemanagement子句來指定表空間的段管理方式,注:若不使用上述子句,由默認(rèn)使用manual段管理方式SQL>createtablespacepioneerindexts01Datafile’e:\oradata\examdb\pioneerindexts01_1.dbf’size2MUniformsize128K
segmentspacemanagement
AUTO;表空間已創(chuàng)建1創(chuàng)建(永久)表空間9.3創(chuàng)建表空間大文件表空間只能用于oracle10g數(shù)據(jù)庫,而且僅在本地管理的表空間中才支持大文件表空間。SQL>createbigfiletablespacepioneerbigts05Datafile’e:\oradata\examdb\pioneerbigts05_1.dbf’size2M表空間已創(chuàng)建2創(chuàng)建大文件表空間9.3創(chuàng)建表空間用做排序操作可以由多個用戶共享不能包含任何永久對象Oracle推薦使用本地管理的分區(qū)/區(qū)段(Extents)SQL>createtemporarytablespacepioneertmpts01Tempfile’e:\oradata\examdb\pioneertmpts01_1.dbf’size4MEXTENTMANAGEMENTLOCALUniformsize1K;表空間已創(chuàng)建注:當(dāng)建立臨時表空間時,不能指定autoallocate選項指定為本地管理方式,可以省略3、創(chuàng)建臨時表空間9.3創(chuàng)建表空間從oracle10g開始,允許使用createbigfiletemporarytablespace命令,創(chuàng)建一個只包含一個臨時文件的大文件臨時表空間。SQL>createbigfiletemporarytablespacepioneerbigtmpts01Tempfile’e:\oradata\examdb\pioneerbigtmpts01_1.dbf’size4MEXTENTMANAGEMENTLOCALUniformsize1K;表空間已創(chuàng)建4、創(chuàng)建大文件臨時表空間9.3創(chuàng)建表空間臨時表空間上的一些限制不能被轉(zhuǎn)變?yōu)橹蛔x狀態(tài)臨時文件上的任何變化都不會記載到重做日志文件中默認(rèn)臨時表空間不能被刪除,除非有一個新的默認(rèn)臨時表空間可以使用不能被改為一個永久表空間無法包含任何永久對象9.3創(chuàng)建表空間用來存儲還原段(UNDO段)不能包含任何其它對象分區(qū)/區(qū)段(Extents)由本地管理只能使用DATAFILE和EXTENTMANAGEMENT子句SQL>createUNDOtablespacepioneerundots01datafile’e:\oradata\examdb\pioneerundots01_1.dbf’size4M表空間已創(chuàng)建5、創(chuàng)建撤銷表空間9.3創(chuàng)建表空間注:1.
在UNDO表空間上不能建立永久方案對象(如表、索引和簇)2.創(chuàng)建UNDO表空間時只能指定DATAFILE和EXTENTMANAGEMENTLOCAL選項,而不能指定其他選項,否則會出錯。如SQL>createsmallfileUNDOtablespacepioneerundots01datafile’e:\oradata\examdb\pioneerundots01_1.dbf’size4MUNIFORMSIZE1K;UNIFORMSIZE1K*第3行出現(xiàn)錯誤:ORA-030024:createsmallfileundotablespace的說明無效5、創(chuàng)建撤銷表空間9.3創(chuàng)建表空間9.3.3使用OEM創(chuàng)建表空間操作進(jìn)行中…….9.4表空間和數(shù)據(jù)文件的維護(hù)9.4.1獲取表空間和數(shù)據(jù)文件的信息9.4.2監(jiān)控表空間的使用情況9.4.3擴(kuò)展表空間9.4.4默認(rèn)表空間的設(shè)置9.4.5修改表空間的可用性9.4.5修改數(shù)據(jù)文件的可用性9.4表空間和數(shù)據(jù)文件的維護(hù)出現(xiàn)某種故障需要使表空間脫機(jī)表空間中存放的是一些歷史數(shù)據(jù)禁止對其更改數(shù)據(jù)文件所在的磁盤損壞需要改變其物理位置表空間的可用空間太少改變表空間的默認(rèn)信息等等哪些情況下需要對表空間和數(shù)據(jù)文件進(jìn)行維護(hù)呢?9.4表空間和數(shù)據(jù)文件的維護(hù)表空間的維護(hù)包括:用各種方式擴(kuò)展表空間的存儲空間修改表空間的屬性(如名稱)和狀態(tài)(如是否只讀、脫機(jī)等)可以使用ALTERTABLESPACE來修改表空間用戶必須擁有ALTERTABLESPACE或ALTERDATABASE系統(tǒng)權(quán)限才能維護(hù)表空間9.4.1獲得表空間和數(shù)據(jù)文件信息視圖說明V$TABLESPACE來自控制文件的所有表空間名稱和編號DBA_TABLESPACE所有(或用戶可訪問的)表空間的信息USER_TABLESPACEDBA_SEGMENTS所有(或用戶可訪問的)表空間中段的信息USER_SEGMENTSDBA_EXTENTS所有(或用戶可訪問的)表空間中數(shù)據(jù)盤區(qū)的信息USER_EXTENTSDBA_FREE_SPACE所有(或用戶可訪問的)表空間中空閑區(qū)USER_FREE_SPACE的信息獲取表空間信息常用視圖9.4.1獲得表空間和數(shù)據(jù)文件信息視圖說明V$DATAFILE所有數(shù)據(jù)文件的信息,包括所屬表空間的名稱和編號V$TEMPFILE所有臨時文件的信息,包括所屬表空間的名稱和編號DBA_DATA_FILES數(shù)據(jù)文件及其所屬的表空間的信息DBA_TEMP_FILES臨時文件及其所屬的表空間的信息V$TEMP_EXTENT_MAP本地管理的臨時表空間中的所有盤區(qū)的信息V$TEMP_EXTENT_POOL本地管理的臨時表空間的緩存信息,使用的臨時表空間的狀態(tài)信息V$TEMP_SPACE_HEADER每個臨時文件的已用/空閑空間信息DBA_USERS所有用戶默認(rèn)的和臨時的表空間信息DBA_TS_QUOTAS所有用戶的表空間配額信息V$SORT_SEGMENT例程的每個排序段的信息,只在表空間為TEMPORARY類型時更新V$SORT_USER用戶使用的臨時排序段的信息獲取數(shù)據(jù)文件信息常用視圖9.4.1獲得表空間和數(shù)據(jù)文件信息一、查詢表空間的基本信息DBA_TABLESPACE[例]要獲得數(shù)據(jù)庫中各個表空間的名稱、區(qū)管理方式、區(qū)分配嚴(yán)嚴(yán)實實、段管理方式、類型等基本信息,可查詢DBA_TABLESPACE視圖SQL>select*fromdba_tablespaces;
二、查詢表空間和默認(rèn)存儲參數(shù)
[例]通過查詢數(shù)據(jù)字典dba_tablespaces,可以取得表空間默認(rèn)存儲參數(shù)。SQL>selecttablespace_name,block_size,initial_extent,next_extentfromdba_tablespaces;
示例三、查詢數(shù)據(jù)庫的數(shù)據(jù)文件及其所屬的表空間(DBA_DATA_FILES)SQL>selectfile_name,blocks,tablespace_namefromdba_data_files;四、查詢emp表用了多少空間selectcount(*)extents,sum(bytes)bytes_used,sum(blocks)block_usedfromdba_extentswhereowner='SCOTT'andsegment_name='EMP'andsegment_type='TABLE';9.4.1獲得表空間和數(shù)據(jù)文件信息9.4表空間和數(shù)據(jù)文件的維護(hù)9.4.2監(jiān)控表空間的使用1.每個表空間的總的大小dba_data_filesSQL>selecttablespace_name,sum(bytes)/1024/1024total_MBfromdba_data_filesgroupbytablespace_name;9.4表空間和數(shù)據(jù)文件的維護(hù)9.4.2監(jiān)控表空間的使用2、求每個表空間的空閑情況dba_free_spaceSQL>selecttablespace_name,sum(bytes)/1024/1024free_MBfromdba_free_spacegroupbytablespace_name;9.4表空間和數(shù)據(jù)文件的維護(hù)9.4.2監(jiān)控表空間的使用3、求每個表空間的空閑百分比SQL>selectb.tablespace_name,sum(b.bytes)/1024/1024"total_MB",sum(a.bytes)/1024/1024"free_MB",round(sum(a.bytes)/sum(b.bytes)*100,1)"free/total%"fromdba_free_spacea,dba_data_filesbwherea.file_id=b.file_idgroupbyb.tablespace_name;9.4表空間和數(shù)據(jù)文件的維護(hù)一、擴(kuò)展表空間的方法有:允許現(xiàn)有數(shù)據(jù)文件自動擴(kuò)展更改現(xiàn)有數(shù)據(jù)文件大小添加新數(shù)據(jù)文件9.4.3擴(kuò)展表空間9.4表空間和數(shù)據(jù)文件的維護(hù)1.指定現(xiàn)有數(shù)據(jù)文件自動擴(kuò)展可在createdatabase、createtablespace、altertablespace…adddatafile命令中使用選項AUTOEXTENDON可以使數(shù)據(jù)文件自動擴(kuò)展alterdatabasedatafile‘e:\oradata\examdb\pioneerst01_2.dbf‘AUTOEXTENDONNEXT1MMAXSIZE20M;數(shù)據(jù)庫已更改9.4.3擴(kuò)展表空間可通過查詢dba_data_files數(shù)據(jù)字典了解某個數(shù)據(jù)文件的自動擴(kuò)展選項是否允許9.4表空間和數(shù)據(jù)文件的維護(hù)2.改變現(xiàn)有數(shù)據(jù)文件大小通過增加表空間中已有數(shù)據(jù)文件的大小,也可以增加表空間的存儲空間alterdatabasedatafile‘e:\oradata\examdb\pioneeruserst01_1.dbf‘’resize100M;數(shù)據(jù)庫已更改9.4.3擴(kuò)展表空間9.4表空間和數(shù)據(jù)文件的維護(hù)3.添加新數(shù)據(jù)文件可以使用altertablespace...adddatafile命令向表空間添加數(shù)據(jù)文件以增加表空間的容量。altertablespacepioneeruserts01adddatafile‘e:\oradata\examdb\pioneerst01_2.dbf’size3M;表空間已更改提示:若要為臨時表空間添加新的臨時數(shù)據(jù)文件,必須使用altertablespace...addtempfile語句9.4.3擴(kuò)展表空間9.4表空間和數(shù)據(jù)文件的維護(hù)在oracle10g中,默認(rèn)系統(tǒng)表空間為system表空間,默認(rèn)用戶表空間為users,默認(rèn)的臨時表空間為temp表空間.在創(chuàng)建數(shù)據(jù)庫時,可用defaulttablespace指定其它的表空間為默認(rèn)的表空間,也可使用alterdatabase命令指定默認(rèn)的表空間1)設(shè)置默認(rèn)用戶表空間9.4.4設(shè)置默認(rèn)表空間Alterdatabasedefaulttablespacepioneeruserts01;9.4表空間和數(shù)據(jù)文件的維護(hù)2)設(shè)置默認(rèn)臨時表空間可消除使用SYSTEM表空間對臨時數(shù)據(jù)進(jìn)行排序的現(xiàn)象9.4.4設(shè)置默認(rèn)表空間Alterdatabasedefaulttemporarytablespacepioneertmpts01;3)通過查詢DATABASE_PROPERTIES可找到數(shù)據(jù)庫的默認(rèn)永久表空間和臨時表空間:SQL>selectproperty_name,property_valuefromdatabase_propertieswhereproperty_namelike'DEFAULT%';9.4表空間和數(shù)據(jù)文件的維護(hù)4)切換回退UNDO表空間通過修改初始化參數(shù)UNDO_TABLESPACE可改變UNDO表空間9.4.4設(shè)置默認(rèn)表空間SQL>AltersystemsetUNDO_TABLESPACE=pioneerundots01;5)通過查看undo_tablespace參數(shù)可找到數(shù)據(jù)庫的默認(rèn)的回退表空間SQL>showparameterundo_tablespace;9.4表空間和數(shù)據(jù)文件的維護(hù)主要有以下幾種狀態(tài):聯(lián)機(jī)脫機(jī)只讀或可讀寫9.4.5修改表空間的可用性1.表空間的狀態(tài)
處于不同狀態(tài)的表空間,其使用方式有所不同。通過人工改變表空間的狀態(tài),可以控制表空間的可用性、安全性,也能為備份、恢復(fù)等工作提供準(zhǔn)備和保證聯(lián)機(jī)(ONLINE)為正常工作狀態(tài),用戶可以正常訪問此表空間中的數(shù)據(jù)。脫機(jī)(OFFLINE)表空間以及表空間中的數(shù)據(jù)暫時不可用,用戶不能訪問此表空間中的數(shù)據(jù)9.4表空間和數(shù)據(jù)文件的維護(hù)9.4.5表空間的可用性1.表空間的狀態(tài)注:SYSTEM\SYSAUX\TEMP\UNDOTBS1表空間不能被脫機(jī)脫機(jī)(OFFLINE)下列情況,需要對表空間進(jìn)行脫機(jī):數(shù)據(jù)庫處于打開狀態(tài)下移動數(shù)據(jù)文件數(shù)據(jù)庫處于打開狀態(tài)下恢復(fù)一個表空間或一個數(shù)據(jù)文件執(zhí)行對表空間的脫機(jī)備份使數(shù)據(jù)庫的一部分不可以被訪問,而其他部分可以被正常訪問9.4表空間和數(shù)據(jù)文件的維護(hù)9.4.5表空間的可用性1.表空間的狀態(tài)有四種脫機(jī)模式正常(normal)默認(rèn)模式臨時(temporary)立即(immediate)用于恢復(fù)(forrecovery)9.4表空間和數(shù)據(jù)文件的維護(hù)9.4.6表空間的可用性1.表空間的狀態(tài)脫機(jī)(OFFLINE)讀寫狀態(tài)可讀寫(READWRITE)(默認(rèn)狀態(tài))聯(lián)機(jī)表空間是可讀寫的只讀(READONLY)用戶只能對此表空間中的數(shù)據(jù)進(jìn)行讀操作。9.4表空間和數(shù)據(jù)文件的維護(hù)9.4.6表空間的可用性1.表空間的狀態(tài)9.4表空間和數(shù)據(jù)文件的維護(hù)9.4.6表空間的可用性2.查看表空間的狀態(tài)SQL>selecttablespace_name,statusfromdba_tablespaces;9.4表空間和數(shù)據(jù)文件的維護(hù)9.4.5表空間的可用性3.修改表空間的狀態(tài)1)使表空間聯(lián)機(jī)或脫機(jī)語法:alterTABLESPACEtablespacename{online|offline[normal|temporary|immediate|forrecover]}把一個表空間設(shè)為脫機(jī)四種模式中的任一模式【例1】
使表空間脫機(jī)【例2】
使表空間聯(lián)機(jī)9.4.5表空間的可用性9.4表空間和數(shù)據(jù)文件的維護(hù)3.修改表空間的狀態(tài)altertablespacepioneeruserts02offlinenormal;或altertablespacepioneeruserts02offlineimmediate;可省略altertablespacepioneeruserts02online;1)使表空間聯(lián)機(jī)或脫機(jī)注:當(dāng)處于offline狀態(tài)時,就不能訪問該表空間,否則將會出錯?!纠?】在已脫機(jī)的‘pioneerts01’表空間中創(chuàng)建一個emp表SQL>createtableemp(nonumber(6),namevarchar2(10))tablespacepioneeruserts01;Createtableemp*ora-01542:表空間‘pioneerts01’脫機(jī),無法在其中分配空間9.4.5表空間的可用性9.4表空間和數(shù)據(jù)文件的維護(hù)3.修改表空間的狀態(tài)9.4表空間和數(shù)據(jù)文件的維護(hù)2)使表空間只讀或可讀寫9.4.5表空間的可用性3.修改表空間的狀態(tài)SQL>altertablespacepioneeruserts01readonly或SQL>altertablespacepioneeruserts01
readwrite;【例4】9.4表空間和數(shù)據(jù)文件的維護(hù)9.4.5表空間的可用性3.修改表空間的狀態(tài)(1)處于只讀狀態(tài)時,就不能訪問該表空間,否則將會出錯(2)但處于只讀狀態(tài)時,仍然允許執(zhí)行drop操作刪除該表空間上的對象(3)若表空間還處于脫機(jī)狀態(tài),就不能將其修改為只讀,否則也會出錯(4)SYSTEM\SYSAUX\TEMP\UNDOTBS1表空間不能被只讀(5)處于讀寫狀態(tài)的表空間不能再將其修改為讀寫狀態(tài),否則也會出錯。2)使表空間只讀或可讀寫
注意啦!!注意1.在oracle10g之前,不能修改表空間的名稱。即修改表空間名稱是oracle10g特有的,在此之前不能實現(xiàn)該功能2.SYSTEM\SYSAUX\TEMP\UNDOTBS1表空間的名稱不能被修改3.當(dāng)表空間或其任何數(shù)據(jù)文件處于offline狀態(tài)時,不能修改該表空間的名稱,否則會出錯。9.4表空間和數(shù)據(jù)文件的維護(hù)4.修改表空間的名稱使用rename選項SQL>altertablespacepioneeruserts01rename
topioneeruserts01_new;9.4.5表空間的可用性9.4表空間和數(shù)據(jù)文件的維護(hù)與表空間類似,可通過改變數(shù)據(jù)文件或臨時數(shù)據(jù)文件的聯(lián)機(jī)、脫機(jī)狀態(tài)來改變數(shù)據(jù)文件的可用性。1、在ARCHIVELOG模式中使數(shù)據(jù)文件聯(lián)機(jī)或脫機(jī)只需要使用包括datafile子句的alterdatabase語句【例5】
使pioneerts01_2.dbf數(shù)據(jù)文件聯(lián)機(jī)/脫機(jī)SQL>alterdatabasedatafile’e:\oradata\examdb\pioneerts01_2.dbf’online/offline;數(shù)據(jù)庫已更改9.4.6數(shù)據(jù)文件的可用性注:使數(shù)據(jù)文件脫機(jī),數(shù)據(jù)庫必須處于ARCHIVELOG模式,否則會有錯誤提示
【例6】如果數(shù)據(jù)庫不處于ARCHIVELOG模式,則不允許使用上述語句使數(shù)據(jù)文件脫機(jī)SQL>alterdatabasedatafile’e:\oradata\examdb\pioneerts01_2.dbf’offline;...Ora-01145:除非啟用了介質(zhì)恢復(fù),否則不允許立即脫機(jī)9.4表空間和數(shù)據(jù)文件的維護(hù)9.4.6數(shù)據(jù)文件的可用性2、在NOARCHIVELOG模式中使數(shù)據(jù)文件脫機(jī)需要使用同時帶有datafile和offlinedrop子句的alterdatabase語句【例7】使pioneerts02_2.dbf數(shù)據(jù)文件脫機(jī)SQL>alterdatabasedatafile’e:\oradata\examdb\pioneerts01_2.dbf’Offlinedrop;數(shù)據(jù)庫已更改9.4表空間和數(shù)據(jù)文件的維護(hù)9.4.6數(shù)據(jù)文件的可用性注:此命令脫機(jī),有可能會丟失數(shù)據(jù)文件,且需進(jìn)行介質(zhì)恢復(fù),一般只用于臨時表空間的臨時數(shù)據(jù)文件
【例8】將pioneerts02_2.dbf數(shù)據(jù)文件聯(lián)機(jī)(未先進(jìn)行介質(zhì)恢復(fù))SQL>alterdatabasedatafile’e:\oradata\examdb\pioneerts01_2.dbf’online;...Ora-01113:文件11需要介質(zhì)恢復(fù)Ora-01110:數(shù)據(jù)文件11:‘e:\oradata\...’9.4表空間和數(shù)據(jù)文件的維護(hù)9.4.6數(shù)據(jù)文件的可用性3、修改表空間中所有數(shù)據(jù)文件的可用性在ARCHIVELOG模式下脫機(jī)和聯(lián)機(jī)的語句為:Altertablespace表
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度智能家電產(chǎn)品開發(fā)合作協(xié)議書
- 2025年綠色節(jié)能型辦公室裝修及配套路燈采購合同
- 二零二五年度干股合作協(xié)議及管理細(xì)則
- 2025年度茶葉加工廠租賃及茶葉質(zhì)量安全監(jiān)控合同
- 二零二五年度汽車事故私了賠償協(xié)議書(含交通違法處理)
- 2025年鈾及其轉(zhuǎn)化物合作協(xié)議書
- 二零二五年度窗簾行業(yè)市場推廣合作協(xié)議
- 二零二五年度地下車位租賃與車位預(yù)約管理系統(tǒng)合同
- 二零二五年度墻紙墻布品牌授權(quán)代理合同
- 2025年機(jī)關(guān)單位餐飲合作協(xié)議書
- 文創(chuàng)產(chǎn)品設(shè)計:文創(chuàng)產(chǎn)品設(shè)計與創(chuàng)新
- 醫(yī)藥銷售月總結(jié)匯報
- 地質(zhì)勘探行業(yè)復(fù)工安全培訓(xùn)課件
- 小學(xué)語文《文學(xué)閱讀與創(chuàng)意表達(dá)》
- 醫(yī)保定點(diǎn)納入預(yù)測性研究的報告
- 大學(xué)體育-武術(shù)散打-教案
- 年終獎計算方案
- 模擬藥房實訓(xùn)總結(jié)報告
- 人工智能在智能運(yùn)維中的應(yīng)用
- 《腦科學(xué)基礎(chǔ)知識》課件
- 成人四肢血壓測量的中國專家共識
評論
0/150
提交評論