Oracle中的資料表空間

來源:互聯網
上載者:User

標籤:content   family   永久   height   組件   data   pac   resize   including   

資料表空間是什嗎?

  Oracle資料庫包含邏輯結構和物理結構。

  資料庫的物理結構是指構成資料庫的一組作業系統檔案。

  資料庫的邏輯結構是指描述資料群組織方式的一組邏輯概念及它們之間的關係。

  資料表空間是資料庫資料庫邏輯結構的一個重要組件。資料表空間可以存放各種應用對象,如表、索引。而每個資料表空間由一個或多個資料檔案組成。

資料表空間的分類

  1.永久性資料表空間:

      一般儲存表、視圖、過程和索引等的資料。SYSTEM、SYSAUX、USERS、TEMP資料表空間是預設安裝的。

  2.臨時性資料表空間:

      只用於儲存系統中短期活動的資料,如排序資料等。

  3.撤銷資料表空間:

      用來協助回退未提交的交易資料,已提交了的資料在這裡是不可以恢複的。一般不需要鍵臨時和撤銷資料表空間,除非把他們轉移到其

      他磁碟中以提高效能。

資料表空間的作用

  1.對不同使用者指派不同的資料表空間,對不同的模式對象分配不同的資料表空間,方便對使用者資料的操作,對模式對象的管理。

  2.可以將不同資料檔案建立到不同的磁碟中,有利於管理磁碟空間,有利於提高I/O效能,有利於備份和恢複資料庫。

Oracle 系統自動建立的資料表空間

  一般在完成Oracle系統的安裝並建立Oracle執行個體後,Oracle系統會自動建立多個資料表空間。

  1SYSTEM 資料表空間

    SYSTEM資料表空間用於存放 Oracle系統內部表和資料字典的資料,如表名、列名、使用者名稱等。不建議將使用者建立的表、索引等對象存放到 SYSTEM資料表空間中。

  2SYSAUX資料表空間

    SYSAUX資料表空間用於存放 Oracle系統內部的常用範例使用者的對象。SYSAUX資料表空間一般不儲存使用者的資料,由 Oracle系統內部自動維護。

  3.撤銷資料表空間

    撤銷資料表空間用於存放撤銷資訊的資料表空間。當我們對資料庫表的資料進行增加、刪除、修改時,Oracle系統自動使用撤銷資料表空間來臨時存放修改前的資料。當

    所做的修改操作完成並提交後,Oracle系統可根據需要保留修改前資料時間長短來釋放撤銷資料表空間的部分空間。一般在建立 Oracle執行個體後,Oracle系統自動

    建立一個名字為“UNDOTBS1”的撤銷資料表空間。

  4USERS 資料表空間

    USERS資料表空間是 Oracle建議使用者使用的資料表空間,可以在這個資料表空間上建立各種對象,如建立表、索引等。Oracle的基本範例使用者 SCOTT的對象就存放在

    USERS資料表空間中。

  5TEMP 資料表空間

    TEMP資料表空間是 Oracle系統用於存放臨時資料的特殊資料表空間。例如,當操作中需要進行排序時,Oracle系統就將排序的資料臨時存放在該資料表空間內。排序處

    理完成後即可釋放排序資料所佔用的空間,因此稱之為暫存資料表空間。

建立資料表空間

    CREATE TABLESPACE tablespacename
    DATAFILE
    ‘filename‘ [SIZE integer [K | M]] [,...]
    [AUTOEXTEND [OFF | ON]];

    解釋:

        tablespacename是需建立的資料表空間名稱。

        filename是資料檔案存放的路徑和名稱。

        integer是你自己輸入的一個數字,指定檔案的大小,K是KB大小,M是MB大小。

        ...(省略符號)是指定組成資料表空間的另一個資料檔案。建立資料表空間時可指定多個資料檔案,每個資料檔案之間用,(逗號)分割。

        AUTOEXTEND用來啟動或禁用資料檔案的自動擴充,ON是空間使用完畢會自動擴充,OFF是不自動擴充。設定為OFF可能會出現資料表空間剩餘容量

        為0的情況,使資料不能儲存到資料庫中。

    例:如下,建立一個名為tp_hr的資料表空間,有兩個資料檔案,自動擴充大小,初始大小是30M(兆)。

        CREATE TABLESPACE tp_hr
        DATAFILE
        ‘d:\data\tp_hr01.dbf‘ SIZE 30M,
        ‘d:\data\tp_hr02.dbf‘ SIZE 30M AUTOEXTEND ON;

查看錶空間

    SELECT file_name,tablespace_name,bytes,autoextensible
    FROM dba_data_files
    WHERE tablespace_name=‘tp_hr‘;    --根據資料表空間名稱查詢

調整資料表空間大小

    方法一:更改資料檔案的大小

        ALTER DATABASE DATAFILE
        ‘D:\DATA\tp_hr01.dbf‘    --指定檔案路徑
        RESIZE 80M;          --指定大小

    方法二:向資料表空間內添加資料檔案

        ALTER TABLESPACE tp_hr    --指定資料表空間的名稱
        ADD DATAFILE
        ‘E:\DATA\tp_hr02.DBF‘ SIZE 20M     --指定檔案路徑和大小
        AUTOEXTEND ON;                           --自動擴充

刪除資料表空間

    方式1:

        DROP TABLESPACE tp_hr;    --刪除名為tp_hr的資料表空間,但是這個文法只是將資料表空間和資料庫的“聯絡”刪除了,不會刪除實際的資料檔案。

    方式2:

        DROP TABLESPACE tp_hr INCLUDING CONTENTS;      --刪除名為tp_hr的資料表空間,並且把資料檔案也刪除掉。

    (注意:刪除資料表空間之前最好對資料庫進行備份。)

Oracle中的資料表空間

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.