體系結(jié)構(gòu)篇之管理表空間_第1頁
體系結(jié)構(gòu)篇之管理表空間_第2頁
體系結(jié)構(gòu)篇之管理表空間_第3頁
體系結(jié)構(gòu)篇之管理表空間_第4頁
體系結(jié)構(gòu)篇之管理表空間_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第1篇 體系結(jié)構(gòu)篇之管理表空間本章要點(diǎn):掌握創(chuàng)建表空間的方法。如何在創(chuàng)建表空間時(shí)通過命令對(duì)段,區(qū),塊進(jìn)行管理如何增加已存在的表空間的大小,幾種方式。重命名表空間名字和重命名數(shù)據(jù)文件名字在操作上有那些不同。查看表空間信息 與表空間相關(guān)的視圖段 類 型說 明V$TABLESPACE控制文件中保存的所有表空間的名稱和數(shù)量DBA_TABLESPACES所有表空間的描述信息USER_TABLESPACES所有用戶可訪問表空間的描述信息DBA_TABLESPACE_GROUPS所有表空間組及其所屬的表空間信息DBA_SEGMENTS所有表空間中的區(qū)間信息USER_SEGMENTS所有用戶表空間中的區(qū)間信息

2、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í)文件信息查看表空間信息【例】查看視圖V$TABLESPACE中表空間的內(nèi)容和數(shù)量,代碼及執(zhí)行結(jié)果如下:SQL SELECT * FROM V$TABLESPACE; TS# NAMEINCBIGFLA ENC - - - - 0 SYSTEM YES NO YES 1 UNDOTBS1YES NO

3、 YES 2 SYSAUXYES NO YES 4 USERSYES NOYES 3 TEMPNONOYES 6 EXAMPLEYESNOYES 7 ORCLTBS01YES NO YES 8 ORCLTBS02YES NOYES已選擇8行。查看表空間信息【例】通過視圖DBA_TABLESPACES查看所有表空間的信息,代碼及執(zhí)行結(jié)果如下:SQLSELECT TABLESPACE_NAME,CONTENTS, STATUS FROM DBA_TABLESPACES;TABLESPACE_NAMECONTENTS STATUS- -SYSTEMPERMANENT ONLINEUNDOTBS1UN

4、DO ONLINESYSAUX PERMANENT ONLINETEMPTEMPORARY ONLINEUSERSPERMANENT ONLINEEXAMPLEPERMANENT ONLINEORCLTBS01PERMANENT ONLINEORCLTBS02PERMANENT ONLINE已選擇8行?;颈砜臻g在創(chuàng)建數(shù)據(jù)庫時(shí),Oracle會(huì)自動(dòng)地創(chuàng)建一系列表空間,例如system表空間。用戶可以使用這些表空間進(jìn)行數(shù)據(jù)操作。在實(shí)際應(yīng)用中,如果所有用戶都使用系統(tǒng)自動(dòng)創(chuàng)建的這幾個(gè)表空間,將會(huì)嚴(yán)重影響I/O性能。創(chuàng)建表空間創(chuàng)建和管理表空間DBA職責(zé)之一,創(chuàng)建表空間包括 添加數(shù)據(jù)文件 類型(永久還是臨

5、時(shí)) 狀態(tài)(讀寫,只讀還是脫機(jī)) 方式:在em中創(chuàng)建表空間命令創(chuàng)建 利用CREATE TABLESPACE命令創(chuàng)建和管理表空間 語法格式:CREATE TABLESPACE tablespace_nameDATAFILE path/filename SIZE integer KM REUSE AUTOEXTEND OFFON NEXT integer KM MAXSIZE UnLIMITEDinteger KM ONLINEOFFLINE LOGGINGNOLOGGING PERMANENTTEMPORARY EXTENT MANAGEMENT LOCAL AUTOALLOCATEUNIFOR

6、M SIZE integer KM Segment space management auto|manual 創(chuàng)建表空間 DATAFILE path/filename SIZE integer KM REUSE :一個(gè)或多個(gè)數(shù)據(jù)文件的存放路徑與名稱。 AUTOEXTEND OFFON:禁止或允許自動(dòng)擴(kuò)展數(shù)據(jù)文件。 NEXT:指定當(dāng)需要更多盤區(qū)時(shí)分配給數(shù)據(jù)文件的磁盤空間,以K或M為單位。 MAXSIZE UNLIMITEDinteger KM :指定允許分配給數(shù)據(jù)文件的最大磁盤空間。 MININUM EXTENT:tablespace level,在該tablespace上建立的segment中

7、mininum extent大小ONLINE:在創(chuàng)建表空間之后使該表空間立即對(duì)授權(quán)訪問該表空間的用戶可用。 創(chuàng)建表空間語法格式:LOGGING/NOLOGGING:指定日志屬性,它表示將來的表、索引等是否需要進(jìn)行日志處理。默認(rèn)值為LOGGING。PERMANENT:指定表空間將用于保存永久對(duì)象,這是默認(rèn)設(shè)置。TEMPORARY:指定表空間將用于保存臨時(shí)對(duì)象。EXTENT MANAGEMENT:指定如何管理表空間的盤區(qū)。DICTIONARY:LOCAL:指定本地管理表空間。LOCAL 下,AUTOALLOCATE:指定表空間由系統(tǒng)管理,用戶不能指定盤區(qū)尺寸,缺省設(shè)置。UNIFORM:指定使用SI

8、ZE字節(jié)的統(tǒng)一盤區(qū)來管理表空間。缺省的SIZE為1M。注意:如果指定了LOCAL,就不能指定DEFAULT STORAGE storage_clause和TEMPORARY。創(chuàng)建表空間1.創(chuàng)建和管理表空間【例2.5】創(chuàng)建大小為50M的表空間TEST,禁止自動(dòng)擴(kuò)展數(shù)據(jù)文件。create tablespace test1 logging datafile c:test101.dbf size 5m reuse autoextend off;創(chuàng)建表空間1.創(chuàng)建和管理表空間【例2.5】創(chuàng)建大小為50M的表空間TEST,禁止自動(dòng)擴(kuò)展數(shù)據(jù)文件。create tablespace test1 logging

9、 datafile c:test101.dbf size 5m reuse autoextend off;創(chuàng)建表空間創(chuàng)建表空間 1區(qū)的管理-local 【例】在CREATE TABLESPACE語句中使用EXTENT MANAGEMENT LOCAL子句,可以創(chuàng)建一個(gè)本地管理表空間,代碼如下:SQL CREATE TABLESPACE OrclTBS01 DATAFILE C:OrclTBS01.dbf SIZE 1M, c:OrclTBS02.dbf size 1m EXTENT MANAGEMENT LOCAL AUTOALLOCATE; 表空間已創(chuàng)建。創(chuàng)建表空間 區(qū)的管理-local 和

10、 dictionary【例】在創(chuàng)建表空間OrclTBS02時(shí),指定其區(qū)間為128KB,代碼如下:CREATE TABLESPACE OrclTBS02 DATAFILE C:oOrclTBS02.dbf SIZE 3M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K;表空間已創(chuàng)建。 1.3.1 段管理SEGMENT SPACE MANAGEMENTauto和Manual【例】創(chuàng)建自動(dòng)段管理方式的表空間MyTBS01: CREATE TABLESPACE OrclTBS01 DATAFILE C:oOrclTBS01.dbf SIZE 3M EXTENT MA

11、NAGEMENT LOCAL AUTOALLOCATE SEGMENT SPACE MANAGEMENT AUTO;【例】創(chuàng)建手動(dòng)段管理方式的表空間MyTBS01:SQL CREATE TABLESPACE OrclTBS01 SIZE 30M EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT SPACE MANAGEMENT MANUAL; 3臨時(shí)表空間【例】創(chuàng)建臨時(shí)表空間tmptbs,代碼如下:SQL CREATE TEMPORARY TABLESPACE tmptbs TEMPFILE C:otmptbs.dbf SIZE 2M REUSE EXT

12、ENT MANAGEMENT LOCAL UNIFORM SIZE 16M;表空間已創(chuàng)建。注意:臨時(shí)表空間不能使用online 和offline 選項(xiàng)1.3.1 創(chuàng)建表空間 1.3.1 創(chuàng)建表空間 2大文件表空間(了解)【例】在CREATE TABLESPACE語句中使用BIGFILE關(guān)鍵詞可以創(chuàng)建大文件表空間,代碼如下:SQL CREATE BIGFILE TABLESPACE bigtbs DATAFILE C:obigtbs.dbf SIZE 10G;表空間已創(chuàng)建。撤銷表空間 撤銷記錄可以用于完成如下功能:當(dāng)執(zhí)行ROLLBACK命令時(shí),完成回滾操作?;謴?fù)數(shù)據(jù)庫。使用閃回查詢分析以前時(shí)間點(diǎn)

13、的數(shù)據(jù)。使用閃回技術(shù)從邏輯破壞中恢復(fù)數(shù)據(jù)。初始化參數(shù)UNDO_TABLESPACE設(shè)置默認(rèn)的撤銷表空間?!纠渴褂肅REATE UNDO TABLESPACE語句創(chuàng)建撤銷表空間:SQL CREATE UNDO TABLESPACE undotbs01 DATAFILE C:oundotbs02.dbf SIZE 2M REUSE;表空間已創(chuàng)建。總結(jié)創(chuàng)建表空間時(shí)注意的問題段 區(qū)的管理是否可以自動(dòng)增加四類不同表空間的創(chuàng)建一帶多(一表空間,多數(shù)據(jù)文件)的創(chuàng)建注意表空間,數(shù)據(jù)文件和段之間的關(guān)系復(fù)習(xí):如何增加和刪除數(shù)據(jù)庫的日志文件(2) 用ALTER TABLESPACE管理表空間 語法格式:ALTER

14、 TABLESPACE tablespace_name ADD DATAFILETEMPFILE path/filename SIZE integer KM REUSE AUTOEXTEND OFFON NEXT integer KM MAXSIZE UNLIMITEDinteger KM RENAME DATAFILE pathfilename,n TO pathre_filename,n DEFAULT STORAGE storage_clause ONLINEOFFLINE NORMALTEMPORARY LOGGINGNOLOGGING READ ONLYWRITE 1.3.2 維護(hù)表

15、空間和數(shù)據(jù)文件語法格式:其中:ADD DATAFILETEMPFILE:向表空間添加指定的數(shù)據(jù)文件或臨時(shí)文件。RENAME DATAFILE:對(duì)一個(gè)或多個(gè)表空間的數(shù)據(jù)文件重命名。READ ONLY:表明表空間上不允許進(jìn)一步寫操作。 READ WRITE:表明在先前只讀表空間上允許寫操作。Alter tablespace t1 rename to t2; 1.3.2 維護(hù)表空間和數(shù)據(jù)文件題目:現(xiàn)有表空間test1基礎(chǔ)上添加一數(shù)據(jù)文件ALTER TABLESPACE TEST1ADD DATAFILE C:101.DBF SIZE 1MREUSE;1 如何增加表空間容量思考: 如何增加表空間的容量

16、?1. create tablespace autoextend on2. alter tablespace add datafile -類似與上下層之間的管理在創(chuàng)建表空間時(shí),可以設(shè)置數(shù)據(jù)文件的自動(dòng)擴(kuò)展性。在為表空間增加新的數(shù)據(jù)文件時(shí),也可以設(shè)置新數(shù)據(jù)文件的自動(dòng)擴(kuò)展性舉例:1 如何增加表空間容量方法3:類似與“直轄市”,屬于數(shù)據(jù)庫(database)級(jí)別的直接管理.修改已經(jīng)存在的數(shù)據(jù)文件的大小-resize (數(shù)據(jù)庫級(jí)別)1 如何增加表空間的容量而對(duì)于已創(chuàng)建的表空間中的已有數(shù)據(jù)文件,應(yīng)該如何管理?方法3:使用ALTER DATABASE語句修改其自動(dòng)擴(kuò)展性。語法如下:Alter databas

17、e 數(shù)據(jù)庫名 datafile 已經(jīng)存在的數(shù)據(jù)文件 resize 大小 AUTOEXTEND OFF | ON NEXT number K | M MAXSIZE UNLIMITED | number K | M 注意是:datafile 不是 add datafile ,是size1.3.2 維護(hù)表空間和數(shù)據(jù)文件注意區(qū)分表空間名和數(shù)據(jù)文件名。Alter database orcl1 datafile c:otest2.dbf resize 2m;1.3.2 維護(hù)表空間和數(shù)據(jù)文件2 重命名表空間和數(shù)據(jù)文件重命名表空間(system 和sysaux 除外)Alter tablespace tes

18、t rename to mytest 1為什么會(huì)需要重命名數(shù)據(jù)文件?ALTER TABLESPACE tablespace_name RENAME DATAFILE old_name TO new_name 【例】將表空間OrclTBS02中的數(shù)據(jù)文件改名??梢允褂孟旅娴恼Z句:ALTER TABLESPACE mytest rename datafile c:o10.dbf to c:otest0001.dbf 2 重命名表空間中數(shù)據(jù)文件1.3.3 移動(dòng)表空間中的數(shù)據(jù)文件移動(dòng)mytest表空間中數(shù)據(jù)文件test001.dbf的步驟如下。(1)修改mytest表空間的狀態(tài)為OFFLINESQL

19、ALTER TABLESPACE test OFFLINE;(2)將磁盤中的myspace02.dbf文件移動(dòng)到新的目錄中(物理上) (3)使用ALTER TABLESPACE語句,將mytest表空間中test001.dbf文件的原名稱和路徑修改為新名稱和路徑 (邏輯對(duì)應(yīng)上)(4)修改mytest表空間的狀態(tài)為ONLINE,如下:SQL ALTER TABLESPACE mytest ONLINE;檢查文件是否移動(dòng)成功需要介質(zhì)恢復(fù) (核實(shí))recover datafile d:102.dbf設(shè)置和修改表空間屬性4臨時(shí)表空間【例】在臨時(shí)表空間tmptbs中添加臨時(shí)文件,tmptbs01.dbf

20、,文件大小為20MB,代碼如下:SQL ALTER TABLESPACE tmptbs ADD TEMPFILE c:omptbs01.dbf SIZE 20M;表空間已更改。 設(shè)置和修改表空間狀態(tài)5設(shè)置聯(lián)機(jī)和脫機(jī)將數(shù)據(jù)庫的一部分設(shè)置為不可訪問,而其他部分可以訪問。執(zhí)行脫機(jī)表空間備份。在升級(jí)或維護(hù)應(yīng)用程序時(shí),將應(yīng)用程序及其使用的表臨時(shí)設(shè)置為不可訪問。重命名或重新分配表空間。設(shè)置和修改表空間屬性ALTER TABLESPACEOFFLINE語句設(shè)置表空間為脫機(jī)狀態(tài) 【例】將表空間OrclTBS01設(shè)置為脫機(jī)狀態(tài):SQL ALTER TABLESPACE OrclTBS01 OFFLINE;DBA

21、_TABLESPACES視圖查看表空間的狀態(tài) SELECT TABLESPACE_NAME,CONTENTS,STATUS FROM DBA_TABLESPACES;ALTER TABLESPACEONLINE語句設(shè)置表空間為聯(lián)機(jī)狀態(tài)?!纠繉⒈砜臻gOrclTBS01設(shè)置為聯(lián)機(jī)狀態(tài):SQL ALTER TABLESPACE OrclTBS01 ONLINE;設(shè)置和修改表空間屬性 6設(shè)置只讀表空間ALTER TABLESPACEREAD ONLY語句設(shè)置只讀表空間【例】將表空間OrclTBS01設(shè)置為只讀表空間:ALTER TABLESPACE OrclTBS01 READ ONLY;ALTER

22、 TABLESPACEREAD WRITE語句可以將只讀表空間設(shè)置為可讀寫狀態(tài)?!纠繉⒈砜臻gOrclTBS01設(shè)置為可讀寫狀態(tài):ALTER TABLESPACE OrclTBS01 READ WRITE;刪除表空間 DROP TABLESPACE語句刪除表空間?!纠縿h除表空間OrclTBS01:DROP TABLESPACE OrclTBS01;INCLUDING CONTENTS子句可以在刪除表空間的同時(shí)刪除其中的段,例如:DROP TABLESPACE OrclTBS01 INCLUDING CONTENTS;INCLUDING CONTENTS AND DATAFILE子句可以在刪除

23、表空間的同時(shí),刪除包含的段和數(shù)據(jù)文件:DROP TABLESPACE OrclTBS03 INCLUDING CONTENTS AND DATAFILES;1.3.4 在表空間內(nèi)創(chuàng)建表 語法格式: CREATE TABLE schema. table_name (列名字 數(shù)據(jù)類型) TABLESPACE 表空間名字;TABLESPACE:指定新表存儲(chǔ)在此表空間名中。【例】利用CREATE TABLE命令為XSCJ數(shù)據(jù)庫建立表XS_KC, CREATE TABLE XS_KC ( XH varchar2(6) NOT NULL, KCH varchar2(6) NOT NULL, CJ numb

24、er(2) NULL, XF number(2) NULL, PRIMARY KEY(XH, KCH) ) TABLESPACE users; 創(chuàng)建表2.數(shù)據(jù)類型創(chuàng)建表時(shí),列的數(shù)據(jù)類型可以是Oracle提供的系統(tǒng)數(shù)據(jù)類型。創(chuàng)建表表 Oracle數(shù)據(jù)類型在數(shù)據(jù)庫中每一行記錄都有一個(gè)地址,可以通過查詢偽列ROWID來查看該值。 創(chuàng)建表alter table xs move tablespace users如何將一個(gè)已經(jīng)存在的表移動(dòng)到另一個(gè)表空間移動(dòng)表舉例:數(shù)據(jù)庫原理85頁,創(chuàng)建表course,注意表的外鍵create table course1 ( cno varchar2(2) primary

25、key, cname varchar2(6), cpno varchar2(2), creadit smallint, foreign key (cpno) references course1(cno) tablespace users;思考:有外鍵的表應(yīng)該如何錄入信息?創(chuàng)建表改變表的特性 在創(chuàng)建表時(shí),用戶一般不知道在它們所支持的應(yīng)用的生命期內(nèi)施加給這些表的所有要求,盡可能地具有前瞻性地構(gòu)建表.alter table logging | nologging;alter table move tablespace ALTER TABLE SCOTT.KC MOVE TABLESPACE TEST 【例2.17】創(chuàng)建XS表中計(jì)算機(jī)專業(yè)學(xué)生的記錄備份。CREATE TABLE XS_JSJ AS SELECT * FROM XS_KC WHERE

溫馨提示

  • 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)論