oracle exchange partition 測試

來源:互聯網
上載者:User

標籤:dbf   tables   auto   轉換   之間   object_id   object   objects   ora   



  Exchange partition提供了一種方式,讓你在表與表或分區與分區之間遷移資料。注意不是將錶轉換成分區或非分區的形式,而僅僅僅是遷移表中數
 據(互相遷移),因為其號稱是採用了更改資料字典的方式,因此效率最高( 差點兒不涉及io操作)。

Exchange partition適用於全部分區格式,你能夠將資料從分區表遷移到非分區表。也能夠從非分區表遷移至分區表。
     這就給批次更新分區表的資料提供了一個非常不錯的思路,這裡我便做一次普通表與分區表資料交換的實驗。


注意:分區表不能直接與分區表交換所以
假設對換分區表。用普通表過渡
假設對換普通表,用分區表過渡
索引必須是LOCAL INDEX,不能是GLOBAL INDEX 


1.建立測試資料表空間
create tablespace tbs1 datafile ‘/oracle_data/szdb/tbs1_01.dbf‘ size 10m autoextend on;
create tablespace tbs2 datafile  ‘/oracle_data/szdb/tbs2_01.dbf‘ size 10m autoextend on;


2.建立測試表
drop table t_temp purge;
drop table t_part_list purge;
create table t_temp as select 1 id, t.owner,t.OBJECT_NAME,t.OBJECT_ID,t.OBJECT_TYPE from dba_objects t;
create table t_part_list (id number,owner varchar2(20),object_name varchar2(40),object_id number,object_type varchar2(20))
partition by list (id)
(partition p1 values(1) tablespace tbs1,
 partition p2 values(2) tablespace tbs2
);
 3.查看錶資料
SQL> select count(*) from t_part_list;
 
COUNT(*)
---------
          0
SQL> select count(*) from t_temp;
 
  COUNT(*)
----------
    80905
4.交換資料
alter table t_part_list exchange partition p1 with table  t_temp;

alter table t_part_list exchange partition p1 with table  t_temp without validation;--不再驗證資料有效性


  
5.查看錶資料
        SQL> select count(*) from t_part_list;
 
COUNT(*)
----------       
80905
SQL> select count(*) from t_part_list partition(p1);
 
  COUNT(*)
----------
    80905
SQL> select count(*) from t_temp;
 
  COUNT(*)
----------
     0
6.注意
在將未分區表的資料移轉到分區表中時。可能出現ora-14099的錯誤。儘管能夠用without validation去解決,可是此時進入分區表的資料可能不符合分區規則。
所以without validation一定要慎用。
   涉及交換的兩表之間表結構必須一致,除非附加with validation子句;
   假設是從非分區表向分區表做交換。非分區表中的資料必須符合分區表中指定分區的規則,除非附加without validation子句;
   假設從分區表向分區表做交換,被交換的分區的資料必須符合分區規則,除非附加without validation子句;
      Global索引或涉及到資料修改了的global索引分割區會被置為unusable,除非附加update indexes子句。


  提示:一旦附加了without validation子句。則表示不再驗證資料有效性,因此指定該子句時務必謹慎。





oracle exchange partition 測試

相關文章

聯繫我們

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