oracle 使用資料幫浦匯出某使用者每張表部分資料

2021-09-01 07:45:04 字數 1105 閱讀 1748

oracle使用資料幫浦導使用者每張表部分資料

(每張表5000行資料,少於5000的匯入全部下每張表5000行資料,少於5000的匯入全部)

資料庫版本:11.2.0.4;系統版本:oracle linux 6.4

場景:

開發提出乙個需求,需要把tods使用者下的資料全部匯入到uat環境,便於他們測試使用;

但經查詢該使用者下的資料量過大,達到了300gb以上,但目標資料庫目前只剩下5000gb左右的空間;

而且這個資料庫不單單該部分開發使用還有別的部門也在使用,故建議他們考慮只匯入部分資料測試即可。

解決:

因11g資料庫如果導使用者的資料使用expdp/impdp來操作的話會比較得心應手,並且速度還能接受;

並且習慣使用資料幫浦來導使用者的資料,並且不需要考慮寫sql,一條語句就能搞定;

但這次的需求是只需要匯出一部分的資料庫,跟以往不同,所幸資料幫浦也提供了這種功能:parfile和query

--查詢該使用者下的表名(大寫表名)

select t.owner || '.' || t.table_name from dba_tables t where t.owner in ('tods');

--建立parfile引數檔案(檔名可隨意定義,建議跟使用者時間相關,這樣好區分)

$ vi test.par

dumpfile=d_otest_1116.dmp

directory=utl_data

logfile=d_otest_1116_exp.log

job_name=job08

parallel=4

cluster=no

tables=(

tost.test_1

)query=(

tost.test_1:"where rownum<=100"

)exit;

注意:如果是rac環境需要加上cluster=no引數,否則會報錯,因匯出的檔案不在共享儲存上。

expdp \"/ as sysdba \" parfile=test.par

oracle 資料幫浦匯入與資料幫浦匯出

資料幫浦匯入 指令 impdp 一 資料庫所有物件的匯入 impdp system tiger dumpfile pump dir mydatabase dat filesize 100m nologfile y job name zhang full y estimate only 二 使用者資料...

oracle 資料幫浦匯入匯出

sqlplus system system egov create directory dump dir as d dbback exit expdp system system egov directory dump dir dumpfile urbanyw.dmp schemas urbanyw...

oracle資料幫浦匯入匯出

使用expdp和impdp時應該注意的事項 exp和imp是客戶端工具程式,它們既可以在客戶端使用,也可以在服務端使用。expdp和impdp是服務端的工具程式,他們只能在oracle服務端使用,不能在客戶端使用。imp只適用於exp匯出的檔案,不適用於expdp匯出檔案 impdp只適用於expd...