表空間和數(shù)據(jù)文件

表空間和數(shù)據(jù)文件

1.表空間介紹

1). 表空間與數(shù)據(jù)文件的關(guān)系

在Oracle數(shù)據(jù)庫(kù)中,表空間與數(shù)據(jù)文件之間的關(guān)系非常密切,這二者相互依存,也就是說(shuō),創(chuàng)建表空間時(shí)必須創(chuàng)建數(shù)據(jù)文件,增加表空間時(shí)也必須指定表空間;

Oracle磁盤(pán)空間管理中的最高邏輯層是表空間(TABLESPACE),它的下一層是段(SEGMENT),一個(gè)段只能存在于一個(gè)表空間內(nèi)。段的下一層是盤(pán)區(qū),一個(gè)段可以有多個(gè)盤(pán)區(qū),每個(gè)盤(pán)區(qū)只能存在于一個(gè)數(shù)據(jù)文件中。如果一個(gè)段跨越多個(gè)數(shù)據(jù)文件,在此段下每個(gè)數(shù)據(jù)文件的盤(pán)區(qū)互相獨(dú)立。盤(pán)區(qū)的下一層是數(shù)據(jù)塊,數(shù)據(jù)塊是磁盤(pán)空間管理中邏輯劃分的最底層。一組數(shù)據(jù)塊組成一個(gè)盤(pán)區(qū)。

數(shù)據(jù)庫(kù)、表空間、數(shù)據(jù)文件、段、盤(pán)區(qū)、數(shù)據(jù)塊及操作系統(tǒng)質(zhì)檢的關(guān)系

image.png

2). 表空間

表空間信息存放于DBA_DATA_FILES數(shù)據(jù)字典中.

  1. --查詢表空間信息語(yǔ)句

  2. select tablespace_name,file_name,bytes from DBA_DATA_FILES

    Oracle 11g默認(rèn)的表空間有六個(gè):


    image.png

2.創(chuàng)建表空間

為了簡(jiǎn)化表空間的管理并提高系統(tǒng)性能,Oracle建議將不同類(lèi)別的數(shù)據(jù)存放于不同的表空間中,因此創(chuàng)建數(shù)據(jù)庫(kù)后管理員還需要根據(jù)具體情況創(chuàng)建不同類(lèi)型的表空間;表空間創(chuàng)建后可以增加大小,Oracle表空間數(shù)據(jù)文件最大為32G,如需更大的表空間,為這個(gè)表空間創(chuàng)建其他的數(shù)據(jù)文件即可。

表空間創(chuàng)建及修改語(yǔ)句:

  1. --創(chuàng)建TEST表空間,數(shù)據(jù)文件為T(mén)EST01.dbf,存放在C:\tablespace路徑下,大小為2048M

    create tableSpace TEST datafile 'C:\tablespace\TEST01.dbf' SIZE 2048M;

  2. --為表空間增加數(shù)據(jù)文件TEST02.dbf,大小為2G:

    alter tablespace HDAPP add datafile ' C:\tablespace\TEST02.dbf ' size 2048M;

  3. 增加表空間原有數(shù)據(jù)文件尺寸,修改為4096M

    alter database datafile 'C:\tablespace\TEST01.dbf ' resize 4096M;

  4. 修改TEST01.dbf數(shù)據(jù)文件的大小為自動(dòng)增長(zhǎng),每次增長(zhǎng)1024M,最大可增長(zhǎng)至20G;

ALTER DATABASE DATAFILE ' C:\tablespace\TEST01.dbf ' AUTOEXTEND ON NEXT 1024M MAXSIZE 20480M;

表空間自動(dòng)擴(kuò)展屬性可以查詢并關(guān)閉

  1. --查詢是否是自動(dòng)擴(kuò)展:
    select file_name,autoextensible,increment_by from dba_data_files ;

  2. 關(guān)閉擴(kuò)展:
    alter database datafile/TEMPFILE ' C:\tablespace\TEST02.dbf ' autoextend off;

    刪除表空間語(yǔ)句:

  3. 刪除表空間:

DROP TABLESPACE TEST INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;

表空間查詢相關(guān)語(yǔ)句

  1. --表空間大小查詢:
    SELECT a.tablespace_name "表空間名",
    total "表空間大小",
    free "表空間剩余大小",
    (total - free) "表空間使用大小",
    total / (1024 * 1024 * 1024) "表空間大小(G)",
    free / (1024 * 1024 * 1024) "表空間剩余大小(G)",
    (total - free) / (1024 * 1024 * 1024) "表空間使用大小(G)",
    round((total - free) / total, 4) * 100 "使用率 %"
    FROM (SELECT tablespace_name, SUM(bytes) free
    FROM dba_free_space
    GROUP BY tablespace_name) a,
    (SELECT tablespace_name,SUM(bytes) total
    FROM dba_data_files
    GROUP BY tablespace_name) b
    WHERE a.tablespace_name = b.tablespace_name;

  2. --查詢表空間物理地址
    select c.tablespace_name 表空間名,c.file_name 物理文件地址,SUM(bytes)/1024/1024/1024 "表空間大小(G)"
    from dba_data_files c
    group by c.tablespace_name,c.file_name
    order by c.tablespace_name,c.file_name ;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容