今天某大牛問我要之前我參與的一個系統的代碼及庫,我搗鼓下,發給了他。
他很詫異的問:這個庫有這么大么
我說 因為當時是專門新建了一個實例,用戶也是系統用戶,所以導出的時候是導出的整個數據庫
他 ZZ 無語
然后發給我新的導出語句
exp platform/platform@WS_ORCL file=e:/platforms.dmp owner=platform log=e:/platforms.log
在原來的基礎上加上了一個 owner
導出的DMP文件由原來的180MB 變成了400KB 汗
原諒我的無知 。
--------------------------------------------分割線--------------------------------------------------
查了下exp和imp的用法,2者的模式有4種:full、owner、tables和tablespace,導入和導出的模式是一一對應的。
有興趣的可以去了解下,小白繼續去擼BUG了 。
-----------------------------------------補充----------------------------------
然后大牛在群里,發了這個
部分同事在導庫的時候,還是會將整個庫全部導出,簡單的說下
實例ORCL 具有DBA權限的用戶test 密碼1 普通用戶test1,test2
1:導出整個庫(必須具有DBA權限)
exp test/1@orcl file=e:/full.dmp full=y
2:導出1個用戶
方法1:使用DBA用戶導出普通用戶,必須加onwer,指定要導出的用戶
exp test/1@orcl file=e:/test1.dmp owner=test1
exp test/1@orcl file=e:/test1.dmp owner=(test1)
方法2:使用普通用戶導出,owner可加可不加
exp test1/1@orcl file=e:/test1.dmp owner=test1(非DBA用戶不可導出其他表)
exp test1/1@orcl file=e:/test1.dmp owner=(test1)(非DBA用戶不可導出其他表)
exp test1/1@orcl file=e:/test1.dmp
3:導出多個用戶(非DBA用戶不可導出其他表)
exp test/1@orcl file=e:/test1.dmp owner=(test1,test2)