Oracle OCP(47):表空間的建立

Ryan_Bai發表於2019-05-08

一、官檔

  • BOOK → SQL Language Reference → 16 SQL Statements: CREATE SYNONYM to CREATE TRIGGER → CREATE TABLESPACE

二、基本語法

CREATE [BIGFILE|SMALLFILE] TABLESPACE
[資料檔案語句]
[最小區大小大小]
[資料塊大小]
[記錄日誌語句]
[強制記錄日誌]
[加密語句]
[儲存語句]
[是否線上]
[範圍管理語句]
[段管理語句]
[閃回模式語句]

三、資料檔案大小

  • 資料檔案的路徑名:DATAFILE datefile_spec1 [,datefile_spec2] ...

  • 檔案的初始大小:[SIZE INTEGER [K|M|G|T|P|E]]

  • 重用:[REUSE]

  • 表明是否自動擴充套件:[AUTOEXTEND]

    • 不自動擴充套件:OFF

    • 自動擴充套件:ON

      • 表示資料檔案滿了以後,擴充套件的大小:[NEXT INTEGER [K|M|G|T|P|E]]

      • 最大擴充套件到:[MAXSIZE ]

      • 表示無限的表空間:[UNLIMITED]

      • 表示資料檔案的最大大小:INTEGER [K|M|G|T|P|E]]

四、資料檔案最小擴充套件大小

  • 指出在表空間中範圍的最小值,保證在表空間的範圍是這個數值的整數倍。

    MINIMUM EXTENT INTEGER [K|M|G|T|P|E]

五、資料塊大小

  • 這個引數可以設定一個不標準的塊的大小。如果要設定這個引數,必須設定db_block_size,至少一個db_nk_block_size,並且宣告的integer的值必須等於db_nk_block_size,預設為 8k 塊
    BLOCKSIZE INTEGER K

六、記錄日誌語句

這個子句宣告這個表空間上所有的使用者物件的日誌屬性,包括表,索引,分割槽,物化檢視,物化檢視上的索引,分割槽。

  • LOGGING

  • NOLOGGING

  • FILESYSTEM_LIKE_LOGGING

七、強制記錄日誌

  • 使用這個子句指出表空間進入強制日誌模式。此時,系統將記錄表空間上物件的所有改變,除了臨時段的改變。這個引數高於物件的nologging選項。

    注意:設定這個引數資料庫不行open並且出於讀寫模式。

    FORCE LOGGING

八、加密語句

  • 建立加密表空間時用,配合 default storage (encrypt) 使用

    ENCRYPTION [USING '<加密格式>']

    • AES256

    • AES192

    • AES128

    • 3DES168

九、儲存語句

預設的儲存語句

  • DEFAULT

    • [table_compression]

      • Basic compression

      • OLTP compression

      • Warehouse compression (Hybrid Columnar Compression)

      • Archive compression (Hybrid Columnar Compression)

    • [storage_clause]

      用該語句為表空間內的所有物件設定儲存引數。這個語句用於字典管理的表空間,您可以指定以下儲存引數在語句中:COMPRESS,INITIAL,NEXT,MINEXTENTS,MAXEXTENTS,和 PCTINCREASE。

十、是否線上

  • 使表空間建立後立即有效.這是預設值:

    ONLINE

  • 使表空間建立後無效:

    OFFLINE

十一、範圍管理語句

說明了表空間如何管理範圍。一旦你宣告瞭這個子句,只能通過移植的方式改變這些引數。

  • 如果希望表空間本地管理的話,宣告local選項,本地管理表空間是通過點陣圖管理的

    EXTENT MANAGEMENT LOCAL

    • 說明表空間自動分配範圍,使用者不能指定範圍的大小。只有9.0以上的版本具有這個功能。

      AUTOALLOCATE

    • uniform說明表空間的範圍的固定大小,預設是1m。

      UNIFORM [SIZE INTEGER [K|M|G|T|P|E]]

  • 如果沒有設定extent_management_clause,oracle會給他設定一個預設值。

    • compatible小於9.0.0:如果初始化引數,那麼系統建立字典管理表空間。

    • compatible大於9.0.0:

      那麼按照如下設定

      • 如果沒有指定 default storage_clause,oracle建立一個自動分配的本地管理表空間。

      • 如果指定 default storage_clause

        • 如果指定了mininum extent,那麼oracle判斷mininum extent 、initial、next是否相等,以及pctincrease是否=0.

          • 如果滿足以上的條件,oracle建立一個本地管理表空間,extent size是initial。

          • 如果不滿足以上條件,那麼oracle將建立一個自動分配的本地管理表空間。

        • 如果沒有指定mininum extent。initial、那麼oracle判斷next是否相等,以及pctincrease是否=0。

          • 如果滿足oracle建立一個本地管理表空間並指定uniform。

          • 否則oracle將建立一個自動分配的本地管理表空間。

注意: 本地管理表空間只能儲存永久物件。如果你宣告瞭local,將不能宣告default storage_clause,mininum extent、temporary.

十二、段管理語句

  • 段空間管理

    SEGMENTSPACE MANAGEMENT

    • AUTO:自動管理

    • MANUAL:手動管理

十三、閃回模式語句

  • 閃回模式

    FLASHBACK

    • ON

    • OFF

十四、常用語句

CREATE TABLESPACE TOOLS
DATAFILE '+DATADG1' SIZE 100m
EXTENT MANAGEMENT LOCAL
UNIFORM SIZE 128k
SEGMENT SPACE MANAGEMENT AUTO  --ASSM

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

相關文章