oracle expdp/impdp exclude=STATISTICS
在源庫上expdp
create directory dir_dp as 'd:\';
Grant read,write on directory dir_dp to user;
expdp user/password DIRECTORY=dir_dp DUMPFILE=exp_%U.dmp LOGFILE=exp_eb.log SCHEMAS=user exclude=STATISTICS ?parallel=4
注意必須排除統計值,不然impdp會報錯。
注意不需要排除索引,排除索引手工建索引很麻煩,還不如不用,impdp 只要并行度足夠,建索引會非???。
在目標庫上impdp
drop user user cascade; ?清空數據
CREATE TABLESPACE YKSPACE DATAFILE
? 'F:\oradata\hr\hr01.dbf' SIZE 5000M AUTOEXTEND ON NEXT 50M MAXSIZE 10000M
LOGGING
ONLINE
PERMANENT
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT AUTO
FLASHBACK ON;
CREATE USER user
?IDENTIFIED BY password
?DEFAULT TABLESPACE YKSPACE
?TEMPORARY TABLESPACE TEMP
?PROFILE DEFAULT
?ACCOUNT UNLOCK;
?GRANT DBA TO user;
?GRANT CONNECT TO user;
?ALTER USER user DEFAULT ROLE ALL;
GRANT UNLIMITED TABLESPACE TO user;
create directory DUMP_DIR3 as 'f:\';
Grant read,write on directory DUMP_DIR3 to user;
拷貝源庫上導出的文件到目標系統的F盤上
impdp user/password DIRECTORY=DUMP_DIR3 DUMPFILE=EXP_%U.DMPLOGFILE=imp_eb.log SCHEMAS=user ?parallel=40
注意EXP_%U.DMP之前是小寫的,但是會自動變成大寫的。
注意導入導出的并行度可以不一樣
最后收集統計信息
exec dbms_stats.gather_schema_stats(ownname => 'USER',options => 'GATHER AUTO');
如果在導入大表的時候報錯,可以單獨導入導出這張表
expdp ? system/密碼 ? ?DIRECTORY=dir_dp tables=SRM.PROPODETAILPLAN ? DUMPFILE=d:\PROPODETAILPLAN_%U.dmp parallel=10
impdp ? system/密碼 ? DIRECTORY=DUMP_DIR3 tables=SRM.PROPODETAILPLAN ? file=/oracle/PROPODETAILPLAN_%U.dmp parallel=40 CONTENT=DATA_ONLY ?如果表已經存在了可以加上CONTENT=DATA_ONLY ?只導入數據。
注意如果已經導入了部分數據在沒有導入索引的情況下會插入重復數據,所以必須先truncate table SRM.PROPODETAILPLAN
如果是11g導出然后導入到10g,需要加上version參數,不然導入會報錯ora-39142
expdp 用戶名/密碼 DIRECTORY=dir_dp DUMPFILE=EXP_%U.dmp LOGFILE=EXPDP.log SCHEMAS=模式名exclude=STATISTICS ?parallel=20 ?version=10.2.0.1.0
impdp 用戶名/密碼 DIRECTORY=DUMP_DIR3 DUMPFILE=EXP_%U.dmp LOGFILE=impdp.log SCHEMAS=模式名 parallel=4version=10.2.0.1.0
轉載于:https://blog.51cto.com/garlics/1242476
總結
以上是生活随笔為你收集整理的oracle expdp/impdp exclude=STATISTICS的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: introduce of servlet
- 下一篇: Python入门篇-生成器函数