ITPub博客

首页 > 数据库 > Oracle > expdp导出时包含多个表

expdp导出时包含多个表

Oracle 作者:season0891 时间:2017-06-02 09:40:25 0 删除 编辑

有时候在做expdp导出的时候,并不需要将整个schema都导出。只需将需要的表导出即可。本文就针对于需要导出多个表的场景进行一些分析:

1. 导出指定的多个表,比如导出A、B、C、D表

parfile:

userid=user/passwd
directory=expdir
dumpfile=testfile.dmp
include=table: " in ('PUB_GOODS','PUB_GOODS_UNIT') "

2. 导出指定的以A开头的表以及B开头的表

parfile:

userid=user/passwd
directory=expdir
dumpfile=testfile.dmp
include=table:"in(select table_name from user_tables where table_name like 'A%' or table_name like 'B%' ) "?

3. 导出某些无规律的表,有很多,也许需要动态维护

建立表exp_table

create table exp_table

(table_name varchar2(100);

然后将需要导出的表名插入exp_table中。

insert into exp_table values(‘A’);
insert into exp_table values(‘B’);
insert into exp_table values(‘PUB_GOODS’);
insert into exp_table values(‘PUB_GOODS_UNIT’);

最后导出的的时候:

parfile

userid=user/passwd
directory=expdir
dumpfile=testfile.dmp
include=table:" in (select table_name from exp_table ) "??

这样就可以导出exp_table中所包含的所有表了。更神奇的是,可以在exp_table里面将自己也插入进去,然后把exp_table也导出哦。

?

本文的示例都用parifle。因为这样更方便,也避免了字符转义的问题。

在编写好了parfile后,只需执行expdp parfile=<你的parfile文件名>即可。

?

另外,可以参考下我之前写的 expdp 数据泵排除多个表

http://i.ruby.blog.163.com/blog/static/2479341720137129551334/

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/90618/viewspace-2140196/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-06-10

  • 博文量
    791
  • 访问量
    1931139