oracle数据库导出的时候,可以过滤掉某只表里面的数据么?

2025-03-09 22:28:59
推荐回答(3个)
回答1:

你安装一个sql/plus然后工具里面有导出用户表,导出用户,导出数据什么的,你需要什么可以自己点上,导出为sql文件就行了,数据和表结构分开道就ok了

很简单,我每天做备份都是这么干的

回答2:

用exp的方式导出的话可以先导出表的结构和数据,导出时使用参数Tables=Table1,table2 owner=hs ,指定导出的表,把不需要的表剔除,然后再用exp导出用户下所有的结构,SP,Function等.

用expdp的方式导出的话使用参数exclude,写法应该是这样,exclude=TABLE:"='Table1'",具体可以查下帮助

另外针对没有分配segment的表,即大多是空表,可能无法导出.即使改了参数: deferred_segment_creation 但是因为开始没有分配segment,所以改了参数后,还是没有分到,也没办法导出,除非改了参数后重建下表.否则表结构就需要用脚本自行建置

回答3:

你的问题,我遇到过。你的想法可以实现,就是不要表里面的数据,该用户的其他信息全要,用下面的语句:
exp test/test@testdb owner=test rows=n file=test.dmp
用你的用户就是
exp hs/hs@hsdb owner=hs rows=n file=hs.dmp
这样就可以了