oracle資料表空間的建立、修改、刪除及一些參數解釋

來源:互聯網
上載者:User

標籤:

  建立資料表空間

方法1:
代碼建立,如下:
PL/SQL

  建立資料表空間(一般建N個存資料的資料表空間和一個索引空間):  
    create tablespace 資料表空間名  
    datafile ‘ 路徑(要先建好路徑)\***.dbf  ‘ size *M  
    tempfile ‘ 路徑\***.dbf ‘ size *M  
    autoextend on  --自動成長 
    extent management local
SQL> /
資料表空間已建立。
 
   
 
方法2
用sqlplus,如下:
sqlplus / as sysdba
SQL>create tablespace 資料表空間名 datafile ‘檔案路徑及檔案名稱‘ size 500m;

方法3
通過指令碼建立,如下:
Create tablespace 資料表空間名
datafile ‘e:\database\oracle\demo.dbf‘
size 32m
autoextend on
next 32m maxsize 1024m
extent management local; 

  

授予使用者使用資料表空間 sql

無限量佔用該資料表空間
alter user 使用者名稱 quota unlimited on 資料表空間;
佔用一定大小
或 alter user 使用者名稱 quota *M on 資料表空間;

修改使用者資料表空間

查詢所有使用者所在資料表空間
select username,default_tablespace from user_users;
修改使用者資料表空間(攜帶使用者下的所有表)
alter user 使用者名稱 default tablespace 資料表空間名稱;

 

刪除資料表空間  sql
  drop tablespace 資料表空間名稱  including contents and datafiles

 

 

 

 

在使用命令列建立資料表空間Tablespace的過程中,包括幾個方面的參數。

       資料檔案參數:包括資料表空間對應資料檔案名稱,初始大小和可變化規則;

       Extent(分區)分配規則方案:資料表空間對segment對象進行增加空間分配的時候,使用的分配方法和策略;

       Segment(段)對象管理方式:分為自動段對象管理或者手動段對象管理;

 

下面分別進行介紹:

 

   1、資料檔案Datafile參數

 

資料表空間是“表、段、區、塊”Oracle四層邏輯結構中唯一與特定物理檔案對應的層次。一個資料表空間可以對應不同硬碟上的多個檔案,而一個檔案只能屬於一個資料表空間。

 

在建立資料表空間的時候,都會產生至少一個資料檔案作為資料表空間資訊儲存的地方。如果在Create tablespace時沒有進行指定datafile字句,那麼Oracle會自動依據OMF的方式建立出一個資料檔案。

 

指定資料檔案的字句是使用datafile作為關鍵字,後面內容包括檔案路徑、初始大小、拓展方式和每次增加空間大小。

 

        

  size子句:指定產生資料檔案的初始大小,預設值通常為100m。對成熟的系統部署移植工作而言,通常是可以確定檔案的固定大小。避免經常性的檔案膨脹,引起效能變化;

       autoextend開關與next子句:檔案大小變化開關是通過autoextend來實現的。如果設定on,表示該檔案允許進行動態拓展,檔案寫滿之後就會以next指定的大小進行拓展。如果設定為off,則該檔案不進行拓展;

      next子句:當檔案設定為可拓展時,next為每次進行拓展的步長。如果資料檔案是經常大批量的增加,設定一個較大的next值為好;

       maxsize子句:檔案大小上限;

 

 

      2、extent分區分配方案

 

  資料表空間Tablespace內部容納的邏輯結構就是段segment對象。段對象通常是和資料庫各個Schema中的對象相關聯。資料表空間空間管理中一個重要方面就是將新的extent分配給segment對象。一個segment會對應一個或者多個extent對象。extent區就是連續的block塊集合。

 

  從Oracle發展曆程看,extent分配方案有兩個階段。首先出現的是Dictionary Mangage Tablespace,就是資料字典管理方式。資料庫中維護一個資料表,每次進行extent分配管理的時候,都要訪問該資料表。DMT代表了一個時代,同時也伴隨著致命的缺陷。

 

  資料庫的一個重要指標就是並行度。一旦出現並行瓶頸,就意味著系統架構存在缺陷。DML就是這樣的一個問題,當資料庫資料表空間存在大量的分配請求時,該資料表容易形成瓶頸。於是,DML就被一種新的分配方法Locally Mangage Tablespace(LMT)所取代。

 

  目前的Oracle資料庫,都是預設使用LMT方法的。LMT簡單來說,就是利用位元影像表技術,將分配extent的方法和記錄記錄在資料檔案的檔案頭上。這樣,不同檔案的分配壓力,就從一個資料表上分散到多個檔案上。

 

  目前的Oracle資料庫,是可以同時支援LMT和DMT的。但是,新系統一般都會使用LMT。LMT策略下,有存在分配extent大小的問題。

每次進行extent分配的策略,有系統自動和統一大小uniform. size兩種方法。

        automatic allocation自動分配大小。對每個分配extent的大小,由系統自動進行大小判定。這種方式的優點是每次的extent大小比較靈活。但是缺點也是很嚴重,就是引起大量的儲存片段。

      uniform. size統一大小。每次分配的extent的大小都是固定的,這樣可以很大程度的避免片段問題。預設uniform. size大小是1M。

 

 

      3、段segment管理原則

 

  最後介紹資料表空間建立參數中的segment管理原則。segment對應的通常是一個資料庫留存對象資訊,如資料區段、索引段、復原段。Segment space management對應的是對segment空間管理的策略,目前有auto和manual兩種方式。

 

      ASSM(auto)方式:ASSM是代表新趨勢的技術,10g中對應的shrink space功能,就是以ASSM技術作為基礎,有效減低HWM,避免出現過多的空間浪費。在過去需要設計的pctfree、pctlist等參數,也使用自動化方式進行管理;

      手工(Manual)方式:與自動ASSM相對應。與ASSM不同在於每個segment對象都能擁有獨立的儲存設定參數;

 

在segment管理原則上,目前一般都選擇ASSM策略。但並不意味著ASSM是萬能的,還存在一些局限。

 

 

 

 

 

 

 

 

exp 使用者名稱/密碼@ORCL file=d:\daochu.dmp full=y

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.