第12章-管理表空間和數(shù)據(jù)文件-zhy_第1頁
第12章-管理表空間和數(shù)據(jù)文件-zhy_第2頁
第12章-管理表空間和數(shù)據(jù)文件-zhy_第3頁
第12章-管理表空間和數(shù)據(jù)文件-zhy_第4頁
第12章-管理表空間和數(shù)據(jù)文件-zhy_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第8章 表管理 要求掌握的知識(shí)點(diǎn):要求掌握的知識(shí)點(diǎn):l 創(chuàng)建表l 修改表增加或刪除字段更新字段l 刪除表l 定義和管理數(shù)據(jù)完整性約束非空約束主鍵約束唯一性約束外鍵約束刪除約束第12章:管理表空間和數(shù)據(jù)文件 -數(shù)據(jù)庫空間管理l建立表空間(重點(diǎn))l維護(hù)表空間(重點(diǎn))l管理數(shù)據(jù)文件l管理UNDO表空間回顧:oracle數(shù)據(jù)庫邏輯結(jié)構(gòu)l 數(shù)據(jù)庫由若干個(gè)表空間組成,表空間由表組成,表由段組成,段由區(qū)間組成,區(qū)間則由數(shù)據(jù)塊組成。表空間表1表2表3表4表表n表段1段2段3段4段段n段區(qū)間1區(qū)間2區(qū)間3區(qū)間4區(qū)間區(qū)間n區(qū)間數(shù)據(jù)1數(shù)據(jù)2數(shù)據(jù)3數(shù)據(jù)4數(shù)據(jù)數(shù)據(jù)n表空間、表、段和數(shù)據(jù)塊之間的關(guān)系回顧:oracle數(shù)據(jù)

2、庫邏輯結(jié)構(gòu)l 物理上:數(shù)據(jù)庫中的數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)文件中。l 邏輯上:數(shù)據(jù)庫中的數(shù)據(jù)存儲(chǔ)在表空間中。l 當(dāng)DBA創(chuàng)建數(shù)據(jù)庫時(shí),不僅會(huì)創(chuàng)建SYSTEM表空間,還會(huì)創(chuàng)建一些輔助表空間:如UNDO表空間和默認(rèn)臨時(shí)表空間。l SYSTEM表空間存儲(chǔ):數(shù)據(jù)字典、PL/SQL程序的源代碼和解析代碼(存儲(chǔ)過程、函數(shù)、包、觸發(fā)器)、數(shù)據(jù)庫對(duì)象的定義等。l 撤銷表空間:用于存儲(chǔ)事務(wù)的撤銷數(shù)據(jù),在數(shù)據(jù)恢復(fù)時(shí)使用。l 臨時(shí)表空間:SQL語句在執(zhí)行過程中所產(chǎn)生的臨時(shí)數(shù)據(jù)。1.建立表空間l 使用CREATE TABLESPACE語句創(chuàng)建表空間,根據(jù)表空間的不同,創(chuàng)建表空間的方法也不同。l 1.1 建立普通表空間l 語法形式

3、:語法形式:l CREATE TABLESPACE tablespace_namel DATAFILE c:oracle. SIZE nMl EXTENT MANAGEMENT LOCAL AUTOALLOCATE;l 說明:l DATAFILE子句用于指定表空間的數(shù)據(jù)文件(可指定后綴名為.dbf);l SIZE子句用于指定數(shù)據(jù)文件的大小(建議最好能設(shè)置一個(gè)較大的值);l AUTOALLOCATE子句指定表空間由系統(tǒng)管理,最小區(qū)間為64KB。與AUTOALLOCATE子句相對(duì)應(yīng)的UNIFORM子句,使用它可以指定表空間中所有區(qū)的大小。舉例:l例1:SQL create tablespace o

4、rcltbs012 datafile D:oracleproduct10.2.0oradataorclorcltbs01.dbf size 50M3 extent management local autoallocate;l例2:創(chuàng)建表空間orcltbs02時(shí),指定其區(qū)的大小為128KB。SQL create tablespace orcltbs022 datafile D:oracleproduct10.2.0oradataorclorcltbs02.dbf size 30M3 extent management local uniform size 128k;1.建立表空間l 1.2 建

5、立大文件表空間 大文件表空間由唯一的、非常巨大的數(shù)據(jù)文件組成。普通的小文件表空間可以包含多個(gè)數(shù)據(jù)文件,但大文件表空間則只能包含一個(gè)數(shù)據(jù)文件。在CREATE TABLESPACE語句中使用BIGFILE關(guān)鍵詞可以創(chuàng)建大文件表空間。 例如: SQL create bigfile tablespace bigtbs 2 datafile D:oracleproduct10.2.0oradataorclbigtbs.dbf size 8G;l 注意:l 創(chuàng)建表空間時(shí)不指定數(shù)據(jù)文件的類型,默認(rèn)創(chuàng)建的表空間為SMALLFILE類型。l 使用語句,修改數(shù)據(jù)默認(rèn)的表空間類型:l SQLalter databa

6、se set default bigfile tablespace;l SQLalter database set default smallfile tablespace;1.建立表空間l 1.3 臨時(shí)表空間 在CREATE TABLESPACE語句中使用TEMPORARY關(guān)鍵詞創(chuàng)建臨時(shí)表空間。例如:創(chuàng)建臨時(shí)表空間tmptbs。l SQL create temporary tablespace tmptbsl 2 tempfile D:oracleproduct10.2.0oradataorcltmptbs.dbfl 3 size 20M reusel 4 extent management

7、 local uniform size 16M;l說明:l tempfile子句指定臨時(shí)文件的路徑和文件名;子句指定臨時(shí)文件的路徑和文件名;l reuse關(guān)鍵詞指定臨時(shí)文件可以重用;關(guān)鍵詞指定臨時(shí)文件可以重用;l 在創(chuàng)建臨時(shí)表空間時(shí),不允許使用在創(chuàng)建臨時(shí)表空間時(shí),不允許使用autoallocate關(guān)鍵詞,表關(guān)鍵詞,表空間中的區(qū)間大小必須使用空間中的區(qū)間大小必須使用uniform size 子句手工指定。子句手工指定。1.建立表空間l 通過查詢數(shù)據(jù)字典DBA_TABLESPACES,可以了解系統(tǒng)表空間的相關(guān)屬性。例P291。l 通過查詢數(shù)據(jù)字典USER_TABLESPACES,可以了解用戶表空間

8、的相關(guān)屬性。例294。l P298/12.2.6 表12-2 包含表空間信息的視圖2.維護(hù)表空間l 2.1改變表空間的可用性l 對(duì)于數(shù)據(jù)庫管理員而言,在創(chuàng)建各種表空間后,還需要經(jīng)常維護(hù)表空間,如改變表空間可用性和讀寫狀態(tài),改變表空間名稱、備份和恢復(fù)表空間、刪除不需要的表空間等。l 當(dāng)建立表空間時(shí),表空間及其所有數(shù)據(jù)文件都處于ONLINE狀態(tài),此時(shí)該表空間及其數(shù)據(jù)文件是可以訪問的。在多表空間數(shù)據(jù)庫中,DBA可以通過將某個(gè)表空間設(shè)置為脫機(jī)狀態(tài),可以使數(shù)據(jù)庫的某部分暫時(shí)無法被用戶訪問。同時(shí),數(shù)據(jù)庫的其他表空間不會(huì)受到任何影響。相反地,也可以將某個(gè)處于脫機(jī)狀態(tài)的表空間重新設(shè)置為聯(lián)機(jī)狀態(tài),使用戶能夠重新

9、訪問其中的數(shù)據(jù)。2.維護(hù)表空間l (1)使表空間脫機(jī):l alter tablespace 表空間名 offline normal|temporarylimmediate|for recoverl 說明:l normal:以正常方式切換到脫機(jī)狀態(tài)l temporary:以臨時(shí)方式切換到脫機(jī)狀態(tài)l immediate:以立即方式切換到脫機(jī)狀態(tài)l for recover:以用于恢復(fù)方式切換到脫機(jī)狀態(tài)l 例如:SQLalter tablespace user01 offine normal;l (2)使表空間聯(lián)機(jī):l SQLalter tablespace user01 online;2.維護(hù)表空間

10、l (3)設(shè)置表空間為只讀狀態(tài):l 例如:SQLalter tablespace user01 read only;l (4)設(shè)置表空間為讀寫狀態(tài):l SQLalter tablespace user01 read write;l (5)改變表空間名稱 在ALTER TABLESPACE語句中使用RENAME TO 子句重命名表空間。 例如: SQLalter tablespace orcltbs01 rename to orcltbs03;2.維護(hù)表空間l (6)設(shè)置默認(rèn)表空間 l 在Oracle 10g前,建立數(shù)據(jù)庫用戶時(shí),如果不指定其默認(rèn)的表空間,則系統(tǒng)將使用SYSTEM表空間作為用戶的

11、默認(rèn)表空間。從Oracle 11g中,使用ALTER DATABASE DEFAULT TABLESPACE語句可以設(shè)置數(shù)據(jù)庫的默認(rèn)表空間,這樣當(dāng)建立用戶時(shí),默認(rèn)將使用指定的表空間。l 例如:SQL alter database default tablespace users;數(shù)據(jù)庫已更改。SQL alter database default temporary tablespace temp01;數(shù)據(jù)庫已更改。2.維護(hù)表空間l (7)刪除表空間l 使用DROP TABLESPACE語句刪除不再使用的表空間。l 例如:刪除表空間orcltbs01。l SQL drop tablespace

12、orcltbs01;l 使用INCLUDING CONTENTS子句可以在刪除表空間的同時(shí)刪除其中的段,例如:l SQL drop tablespace orcltbs02 including contents;l 使用INCLUDING CONTENTS AND DATAFILES子句可以在刪除表空間的同時(shí)刪除包含的段和數(shù)據(jù)文件,例如:l SQL drop tablespace orcltbs03 including contents and datafiles;3.管理數(shù)據(jù)文件(1)添加表空間數(shù)據(jù)文件在ALTER TABLESPACE語句中使用ADD DATAFILE子句,可以在本地管理表

13、空間中增加數(shù)據(jù)文件。 例如:SQL ALTER TABLESPACE orcltbs01 2 ADD DATAFILE D:oracleproduct10.2.0oradataorcl orcltbs011.dbf 3 size 10M;在ALTER TABLESPACE語句中使用ADD TEMPFILE子句,可以在臨時(shí)表空間中增加臨時(shí)文件。 例如:在臨時(shí)表空間tmptbs中添加臨時(shí)文件tmptbs01.dbf,文件大小為20M。SQL ALTER TABLESPACE tmptbs2 ADD TEMPFILE D:oracleproduct10.2.0oradataorcl tmptbs01

14、.dbf3 size 20M;l 數(shù)據(jù)文件在創(chuàng)建數(shù)據(jù)庫或表空間時(shí)建立。當(dāng)表空間創(chuàng)建后,DBA可以根據(jù)需要為表空間添加新的數(shù)據(jù)文件,或者更改已有數(shù)據(jù)文件的大小、名稱和位置。3.管理數(shù)據(jù)文件l (2) 改變數(shù)據(jù)文件的大小 在ALTER TABLESPACE語句中使用RESIZE子句,可以修改表空間的數(shù)據(jù)文件大小。 例如:修改大文件表空間bigtbs的數(shù)據(jù)文件大小為4GB。 SQL ALTER TABLESPACE bigtbs 2 datafile D:oracleproduct10.2.0oradataorclbigtbs.dbf 3 RESIZE 4G;l (3)改變數(shù)據(jù)文件的可用性 SQL ALTER TABLESPACE 2 datafile D:oracleproduct10.2.0oradataorcluser01.dbf offine;4.管理UNDO表空間l UNDO數(shù)據(jù)也稱為回退數(shù)據(jù),它用于確保數(shù)據(jù)的一致性。當(dāng)執(zhí)行DML操作時(shí),事務(wù)操作前的數(shù)據(jù)將被稱為UNDO記錄。UNDO段用于保存事務(wù)所修改數(shù)據(jù)的舊值,其中存儲(chǔ)著被修改數(shù)據(jù)塊的位置以及修改前的數(shù)據(jù)。17l (1)建立UNDO表空間 l 可以使用CREATE UNDO TABLESPACE語句建立UNDO表空間。需要注意,UNDO表空間專門用于存放UNDO數(shù)據(jù),并且在UNDO表空間上不能建立任何數(shù)據(jù)對(duì)象。l 例如:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論