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...