11g解決imp匯入資料時報錯:插入資料找不到相應分割槽

shuangoracle發表於2011-05-06
create table t(id number,name varchar2(10),stamptime date)
partition by range(stamptime)
(
partition part_t_20110505 values less than (to_date('20110505','yyyymmdd')),
partition part_t_20110506 values less than (to_date('20110506','yyyymmdd'))
);
insert into t values(1,'aa',trunc(sysdate)-1);
insert into t values(2,'bb',trunc(sysdate)-1);
insert into t values(3,'cc',trunc(sysdate)-1);
insert into t values(4,'dd',trunc(sysdate)-1);
commit;
用exp將資料匯出後,改變表結構
create table t(id number,name varchar2(10),stamptime date)
partition by range(stamptime)
(
partition part_t_20110505 values less than (to_date('20110505','yyyymmdd'))
);
然後imp將剛匯出的資料匯入,會報錯:要匯入的資料找不到相應分割槽。
11g中可以解決這個問題:
create table t(id number,name varchar2(10),stamptime date)
INTERVAL( NUMTODSINTERVAL(1,'DAY'))
partition by range(stamptime)
(
partition part_t_20110505 values less than (to_date('20110505','yyyymmdd'))
);
這樣用imp匯入資料的時候,oracle會判斷當前匯入資料是否有可用分割槽,如果沒有,會將匯入檔案裡的分割槽和
資料一起匯入資料庫。
[@more@]

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

相關文章