Oracle OCP(49):表空間管理

Ryan_Bai發表於2019-05-10

一、官檔

  • BOOK → Database SQL Language Reference → 12 SQL Statements: ALTER TABLE to ALTER TABLESPACE → ALTER TABLESPACE

二、擴容表空間

擴大資料庫的第三種方法是手工增大資料檔案(datafile)的容量或使表空間(tablespace)內的資料檔案容量可以隨需動態地增長。使用者可以為已有或新建的資料檔案設定動態擴充套件屬性(dynamic extension properties)。

  1. 通過動態增大資料檔案而為資料庫擴容

    ALTER TABLESPACE
    DATAFILE '<表空間存放的路徑>'
    AUTOEXTEND ON NEXT <大小>          --當表空間的大小不夠時每次增長多少
    MAXSIZE <大小>/MAXSIZE UNLIMITED  --表空間最大的大小/無上限
    
  2. 增加資料檔案尺寸

    ALTER DATABASE DATAFILE '<表空間存放的路徑>' RESIZE <大小>;
    
  3. 為表空間新增資料檔案

    ALTER TABLESPACE ADD DATAFILE '<表空間存放的路徑>' RESIZE <大小>;
    
  4. 為表空間刪除資料檔案

    ALTER TABLESPACE <表空間名> DROP DATAFILE '<路徑/檔名>';
    

三、offline/online tablespace

當某些錯誤發生時,Oracle會自動地將相關的聯機表空間(online tablespace)切換到離線(offline)狀態。此時嘗試訪問離線表空間內資料表的使用者將會得到錯誤資訊。使用者必須在處理故障後恢復(recover)受影響的表空間。

可以手動離線表空間:

ALTER TABLESPACE <表空間名> OFFLINE;
  • Temporary(臨時):

    如果表空間中的一個或多個檔案存在錯誤狀態,也可以使表空間暫時離線。當Oracle 資料庫使(尚未離線的)資料檔案離線時,會對這些資料檔案設定檢查點。如果沒有任何檔案離線,但是您使用了臨時子句,則使表空間重新聯機時便不需要執行介質恢復。但是,如果因寫錯誤而導致表空間的一個或多個檔案離線,而此時您讓表空間臨時離線,那麼表空間需要執行恢復後才能重新聯機。

  • Immediate(立即):

    表空間可以立即離線,Oracle 資料庫不需要對任何資料檔案設定檢查點。如果指定了“Immediate(立即)”,則必須先對錶空間執行介質恢復,才能使表空間聯機。如果資料庫在NOARCHIVELOG 模式下執行,則無法立即使表空間離線。

表空間離線時,應注意以下幾點:

  1. Oracle不允許任何SQL語句繼續引用此表空間內的物件(schema object)。

  2. Oracle使用 SYSTEM 表空間內的延遲迴滾段(deferred rollback segment)為正在執行的事務中已完成的 SQL 語句儲存回滾資訊(rollback data)。

  3. SYSTEM 表空間內的資料字典(data dictionary)會進行記錄。

  4. SYSTEM表空間、臨時表空間、回滾表空間不允許離線。

表空間聯機:

ALTER TABLESPACE <表空間名> ONLINE;

四、read only tablespace

  1. 表空間只讀

    ALTER TABLESPACE <表空間名> READ ONLY;        --表空間只讀

  2. 表空間可讀寫

    ALTER TABLESPACE <表空間名> READ WRITE;      --表空間可讀寫

五、drop tablespace

DROP TABLESPACE <表空間名稱>
[including contents/contents and datafiles] --指刪除表空間中的segments|指刪除segments和datafiles;
cascade constraints                        --刪除所有與該空間相關的完整性約束條件。]
(注:刪除回退表空間:需要先切換,等待事務結束後,才能刪除)

六、rename datafile

ALTER TABLESPACE USERS RENAME DATAFILE '==' TO '***';
ALTER DATABASE RENAME FILE '==='  TO '***';


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31490526/viewspace-2643875/,如需轉載,請註明出處,否則將追究法律責任。

相關文章