重復導入已存在的數據庫,有以下兩種導入方法IMP和IMPDP;
IMP導入的時候 :如果已經存在此表, 會告訴你無法創建此表,因為表已經存在。同時使用參數 full=y ignore=y 那就是全部導入,把dmp里的所有數據插入到表里面。換句話說會有重復,如果該表有主鍵,重復的會因為違反約束,導入不成功,但不重復的能夠進去,這種情況是追加覆蓋進去了。
數據備份,使用命令:
exp user/user file=d:\user.dmp full=y
恢復時,使用命令:
imp user/user FILE=d:\user.dmp fromuser=user touser=user full=y ignore=y
IMPDP導入的時候 :用參數table_exists_action=replace 進行刪除后覆蓋;
table_exists_action選項:{skip 是如果已存在表,則跳過並處理下一個對象;append是為表增加數據;truncate是截斷表,然后為其增加新數據;replace是刪除已存在表,重新建表並追加數據}
數據備份,使用命令:
expdp user/user directory=dump_dir dumpfile=schema.dmp logfile=schema.log schemas=user job_name=exp_user_schema恢復時,使用命令:impdp user/user directory=dump_dir dumpfile=schema.dmp logfile=schema.log table_exists_action=replace schemas=user content=all job_name=imp_schema