Oracle 只导出某个用户下的表及数据

今天某大牛问我要之前我参与的一个系统的代码及库,我捣鼓下,发给了他。

他很诧异的问:这个库有这么大么

我说 因为当时是专门新建了一个实例,用户也是系统用户,所以导出的时候是导出的整个数据库

他 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)

原文地址:https://www.cnblogs.com/chuanqiMa/p/6760372.html