impdp匯入時使用table_exists_action引數的區別

charsi發表於2016-07-23
使用impdp匯入資料到資料庫時,時常會遇到使用table_exists_action引數的情況。

跟蹤看了下table_exists_action引數為truncate和replace兩種方式的trc內容

table_exists_action=replace情況
=====================
PARSING IN CURSOR #140076972679984 len=51 dep=2 uid=0 oct=12 lid=0 tim=1469246954600779 hv=858343256 ad='7f66363ef138' sqlid='fnzu4actkkjus'
DROP TABLE "GAOK"."T_EXP" CASCADE CONSTRAINTS PURGE
END OF STMT
PARSE #140076972679984:c=0,e=123,p=0,cr=0,cu=0,mis=1,r=0,dep=2,og=3,plh=0,tim=1469246954600779
BINDS #140076973737592:
 Bind#0
  oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00
  oacflg=00 fl2=0001 frm=00 csi=00 siz=80 off=0
  kxsbbbfp=7f663632af38  bln=22  avl=01  flg=05
  value=0
 Bind#1
 
table_exists_action設定為replace時,資料庫會首先將表drop purge掉,然後將資料匯入

table_exists_action=truncate情況
EXEC #140067810958928:c=0,e=30,p=0,cr=0,cu=0,mis=0,r=0,dep=3,og=3,plh=2570921597,tim=1469247480865330
FETCH #140067810958928:c=0,e=6,p=0,cr=2,cu=0,mis=0,r=0,dep=3,og=3,plh=2570921597,tim=1469247480865341
CLOSE #140067810958928:c=0,e=0,dep=3,type=3,tim=1469247480865349
=====================
PARSING IN CURSOR #140067812401840 len=61 dep=2 uid=0 oct=85 lid=0 tim=1469247480865398 hv=3483539098 ad='8a543c38' sqlid='bmt13wz7u55nu'
TRUNCATE TABLE "GAOK"."T_EXP" PURGE SNAPSHOT LOG DROP STORAGE
END OF STMT
PARSE #140067812401840:c=4000,e=3595,p=0,cr=42,cu=0,mis=1,r=0,dep=2,og=3,plh=1416587587,tim=1469247480865398
BINDS #140067815343736:
 Bind#0
  oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00
  oacflg=00 fl2=0001 frm=00 csi=00 siz=80 off=0
  kxsbbbfp=7f6414534308  bln=22  avl=01  flg=05
  value=0
 Bind#1

table_exists_action設定為truncate時,資料庫會首先將表truncate掉,然後將資料匯入

跟蹤時使用的是10046事件跟蹤,trace檔案在dbw0的程式trc中。

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

相關文章