Oracle 11g的新特性分區:System Partition

來源:互聯網
上載者:User

Partition分區是Oracle一直以來推出的效能、管理最佳化技術。在Oracle資料庫技術體系中,Partition是歸屬在DW(Data Warehouse)體系中,也就是Oracle官方認定的處理大資料策略。
 
單就Partition技術本身而言,11g是一個重要的版本。一些自動化分區技術、增強策略在11g中推出。比如引用分區(Reference Partition)、間斷分區(Interval Partition)、虛擬列分區(Partitioning Virtual Columns)、系統磁碟分割(System Partition)和拓展組合分區(Extended Composite Partitioning)。
 
本篇目的介紹11g的System Partition特性。

--------------------------------------分割線 --------------------------------------

 Oracle 11g新特性:RMAN指令碼中使用替換變數

Oracle 11g 新特性 -- Result Cache(結果快取)說明

Oracle 11g 新特性 -- 自動診斷資料檔案庫(ADR) 說明

Oracle 11g 新特性 -- DB_ULTRA_SAFE 參數 說明

Oracle 11g 新特性 -- SQL Plan Management 說明

Oracle 11g 新特性 -- 管理 SPFILE 說明

--------------------------------------分割線 --------------------------------------

1、環境介紹
 
 

筆者選擇Oracle 11R2作為實驗對象。
 
 

 

SQL> select * from v$version;
 
 

BANNER
 
--------------------------------------------------------------------------------
 
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
 
PL/SQL Release 11.2.0.1.0 - Production
 
CORE    11.2.0.1.0    Production
 
 

TNS for Linux: Version 11.2.0.1.0 - Production
 
NLSRTL Version 11.2.0.1.0 – Production
 
 

 

2、System Partition
 
 

我們在其他的Partition類型中,都會面對一個問題就是分區鍵選擇。所謂分區Partition,就是將一個資料表段segment拆分為多個儲存段儲存。傳統意義上的Partition停留在定義層面,只要我們在資料表定義的時候確定好分區鍵和分區策略。之後的使用資料表的過程中,我們其實對分區是“透明”的。
 
如果進行資料表的DML操作和select操作,我們是不需要指定、也無法控制資料記錄插入到哪個分區中的。只有一種情況不同,就是修改分區鍵。如果修改分區鍵,並且修改分區鍵會影響到分區布局,這樣的DML操作是不允許的。
 
11g的System Partition提供了不同選擇。它提供給SQL DML操作者一種選擇,讓可以指定出“希望將資料儲存”在哪個地方。
 
建立System Partition的過程,也是在定義資料表的過程中需要確定。
 
 

 

SQL> create table t partition by system (partition p1 tablespace users,
 
  2  partition p2 tablespace EXAMPLE) as select * from dba_objects where 1=0 ;
 
 

create table t partition by system (partition p1 tablespace users,
 
partition p2 tablespace EXAMPLE) as select * from dba_objects where 1=0
 
 

ORA-14704: 不允許對 SYSTEM 分區表執行以下操作: Create table as select
 
 

 

在system partition中,我們不允許對分區進行spilt操作和cats操作。正確的處理方式,如下:
 
 

 

SQL> create table t
 
  2  (owner varchar2(100),
 
  3  object_name varchar2(1000),
 
  4  object_id number)
 
  5  partition by system
 
  6  (partition p1 tablespace users,
 
  7  partition p2 tablespace example);
 
 

Table created
 
 

 

在語句中,我們指定了資料表採用分區策略——system策略,設定了兩個分區p1和p2,並且指定了兩個分區的資料表空間儲存位置。
 
注意:這個過程中,我們沒有指定分區規則,也就是沒有告訴資料庫當一個資料插入的時候,如何進行資料分堆。
 
檢查資料字典,確定段結構情況。
 
 

 

SQL> select segment_name, partition_name, segment_type from dba_segments where owner='SCOTT' and segment_name='T';
 
 

SEGMENT_NAME        PARTITION_NAME      SEGMENT_TYPE
 
-------------------- -------------------- ------------------
 
T                    P1                  TABLE PARTITION
 
T                    P2                  TABLE PARTITION
 
 

SQL> select partitioning_type from dba_part_tables where owner='SCOTT' and table_name='T';
 
 

PARTITIONING_TYPE
 
-----------------
 
SYSTEM
 
 

 

分區類型,確定為system partition。在system partiton中,也可以建立local index對象。
 
 

 

SQL> create index idx_t_id on t(object_id) local;
 
 

Index created
 
 

SQL> select segment_name, partition_name, segment_type from dba_segments where owner='SCOTT' and segment_name='IDX_T_ID';
 
 

SEGMENT_NAME        PARTITION_NAME      SEGMENT_TYPE
 
-------------------- -------------------- ------------------
 
IDX_T_ID            P1                  INDEX PARTITION
 
IDX_T_ID            P2                  INDEX PARTITION

更多詳情見請繼續閱讀下一頁的精彩內容:

  • 1
  • 2
  • 下一頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.