轉載自: http://www.jb51.net/article/17358.htm
Oracle 數據庫導出(exp)導入(imp)說明
?
exp 將數據庫內的各對象以二進制方式下載成dmp文件,方便數據遷移。
?
?
buffer:下載數據緩沖區(qū),以字節(jié)為單位,缺省依賴操作系統(tǒng)?
consistent:下載期間所涉及的數據保持read only,缺省為n?
direct:使用直通方式 ,缺省為n?
feeback:顯示處理記錄條數,缺省為0,即不顯示?
file:輸出文件,缺省為expdat.dmp?
filesize:輸出文件大小,缺省為操作系統(tǒng)最大值?
indexes:是否下載索引,缺省為n,這是指索引的定義而非數據,exp不下載索引數據?
log:log文件,缺省為無,在標準輸出顯示?
owner:指明下載的用戶名?
query:選擇記錄的一個子集?
rows:是否下載表記錄?
tables:輸出的表名列表?
導出整個實例?
exp dbuser/oracle file=oradb.dmp log=oradb.log full=y consistent=y direct=y?
user應具有dba權限?
導出某個用戶所有對象?
exp dbuser/oracle file=dbuser.dmp log=dbuser.log owner=dbuser buffer=4096000 feedback=10000?
導出一張或幾張表?
exp dbuser/oracle file=dbuser.dmp log=dbuser.log tables=table1,table2 buffer=4096000 feedback=10000?
導出某張表的部分數據?
exp dbuser/oracle file=dbuser.dmp log=dbuser.log tables=table1 buffer=4096000 feedback=10000 query=\” where passtime>= to_date('2013-10-01','yyyy-MM-dd') and passtime< to_date('2013-10-02','yyyy-MM-dd')?\”?
不可用于嵌套表?
以多個固定大小文件方式導出某張表?
exp dbuser/oracle file=1.dmp,2.dmp,3.dmp,… filesize=1000m tables=emp buffer=4096000 feedback=10000?
這種做法通常用在:表數據量較大,單個dump文件可能會超出文件系統(tǒng)的限制?
直通路徑方式?
direct=y,取代buffer選項,query選項不可用?
有利于提高下載速度?
consistent選項?
自export啟動后,consistent=y凍結來自其它會話的對export操作的數據對象的更新,這樣可以保證dump結果的一致性。但這個過程不能太長,以免回滾段和聯(lián)機日志消耗完?
imp?
將exp下載的dmp文件上載到數據庫內。?
buffer:上載數據緩沖區(qū),以字節(jié)為單位,缺省依賴操作系統(tǒng)?
commit:上載數據緩沖區(qū)中的記錄上載后是否執(zhí)行提交?
feeback:顯示處理記錄條數,缺省為0,即不顯示?
file:輸入文件,缺省為expdat.dmp?
filesize:輸入文件大小,缺省為操作系統(tǒng)最大值?
fromuser:指明來源用戶方?
ignore:是否忽略對象創(chuàng)建錯誤,缺省為n,在上載前對象已被建立往往是一個正常現象,所以此選項建議設為y?
indexes:是否上載索引,缺省為n,這是指索引的定義而非數據,如果上載時索引已建立,此選項即使為n也無效,imp自動更新索引數據?
log:log文件,缺省為無,在標準輸出顯示?
rows:是否上載表記錄?
tables:輸入的表名列表?
touser:指明目的用戶方?
導入整個實例?
imp dbuser/oracle file=oradb.dmp log=oradb.log full=y buffer=4096000 commit=y ignore=y feedback=10000?
導入某個用戶所有對象?
imp dbuser/oracle file=dbuser.dmp log=dbuser.log fromuser=dbuser touser=dbuser2 buffer=2048000 commit=y ignore=y feedback=10000?
導入一張或幾張表?
imp dbuser2/oracle file=user.dmp log=user.log tables=table1,table2 fromuser=dbuser touser=dbuser2 buffer=2048000 commit=y ignore=y feedback=10000?
以多個固定大小文件方式導入某張表?
imp dbuser/oracle file=\(1.dmp,2.dmp,3.dmp,…\) filesize=1000m tables=emp fromuser=dbuser touser=dbuser2 buffer=4096000 commit=y ignore=y feedback=10000
consistent:下載期間所涉及的數據保持read only,缺省為n?
direct:使用直通方式 ,缺省為n?
feeback:顯示處理記錄條數,缺省為0,即不顯示?
file:輸出文件,缺省為expdat.dmp?
filesize:輸出文件大小,缺省為操作系統(tǒng)最大值?
indexes:是否下載索引,缺省為n,這是指索引的定義而非數據,exp不下載索引數據?
log:log文件,缺省為無,在標準輸出顯示?
owner:指明下載的用戶名?
query:選擇記錄的一個子集?
rows:是否下載表記錄?
tables:輸出的表名列表?
導出整個實例?
exp dbuser/oracle file=oradb.dmp log=oradb.log full=y consistent=y direct=y?
user應具有dba權限?
導出某個用戶所有對象?
exp dbuser/oracle file=dbuser.dmp log=dbuser.log owner=dbuser buffer=4096000 feedback=10000?
導出一張或幾張表?
exp dbuser/oracle file=dbuser.dmp log=dbuser.log tables=table1,table2 buffer=4096000 feedback=10000?
導出某張表的部分數據?
exp dbuser/oracle file=dbuser.dmp log=dbuser.log tables=table1 buffer=4096000 feedback=10000 query=\” where passtime>= to_date('2013-10-01','yyyy-MM-dd') and passtime< to_date('2013-10-02','yyyy-MM-dd')?\”?
不可用于嵌套表?
以多個固定大小文件方式導出某張表?
exp dbuser/oracle file=1.dmp,2.dmp,3.dmp,… filesize=1000m tables=emp buffer=4096000 feedback=10000?
這種做法通常用在:表數據量較大,單個dump文件可能會超出文件系統(tǒng)的限制?
直通路徑方式?
direct=y,取代buffer選項,query選項不可用?
有利于提高下載速度?
consistent選項?
自export啟動后,consistent=y凍結來自其它會話的對export操作的數據對象的更新,這樣可以保證dump結果的一致性。但這個過程不能太長,以免回滾段和聯(lián)機日志消耗完?
imp?
將exp下載的dmp文件上載到數據庫內。?
buffer:上載數據緩沖區(qū),以字節(jié)為單位,缺省依賴操作系統(tǒng)?
commit:上載數據緩沖區(qū)中的記錄上載后是否執(zhí)行提交?
feeback:顯示處理記錄條數,缺省為0,即不顯示?
file:輸入文件,缺省為expdat.dmp?
filesize:輸入文件大小,缺省為操作系統(tǒng)最大值?
fromuser:指明來源用戶方?
ignore:是否忽略對象創(chuàng)建錯誤,缺省為n,在上載前對象已被建立往往是一個正常現象,所以此選項建議設為y?
indexes:是否上載索引,缺省為n,這是指索引的定義而非數據,如果上載時索引已建立,此選項即使為n也無效,imp自動更新索引數據?
log:log文件,缺省為無,在標準輸出顯示?
rows:是否上載表記錄?
tables:輸入的表名列表?
touser:指明目的用戶方?
導入整個實例?
imp dbuser/oracle file=oradb.dmp log=oradb.log full=y buffer=4096000 commit=y ignore=y feedback=10000?
導入某個用戶所有對象?
imp dbuser/oracle file=dbuser.dmp log=dbuser.log fromuser=dbuser touser=dbuser2 buffer=2048000 commit=y ignore=y feedback=10000?
導入一張或幾張表?
imp dbuser2/oracle file=user.dmp log=user.log tables=table1,table2 fromuser=dbuser touser=dbuser2 buffer=2048000 commit=y ignore=y feedback=10000?
以多個固定大小文件方式導入某張表?
imp dbuser/oracle file=\(1.dmp,2.dmp,3.dmp,…\) filesize=1000m tables=emp fromuser=dbuser touser=dbuser2 buffer=4096000 commit=y ignore=y feedback=10000
更多文章、技術交流、商務合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
