zzw原创:转载请注明出处

在oracle的expdp 及imdpd命令中,exclude及include参数还是有一些要注意的地方,特别是涉及选择性条件时。

一、通用

1、exclude及include参数不能同时使用,这两个是相互排斥的。

2、在parfile参数文件中,可以同时用多个exclude参数,但只能用一个include参数

3、include、exclude参数是默认就是针对对象名称操作的:如表名、视图名、过程名、包名等,所以设计条件时,可以从查询语句select  distinct(object_type)  from  all_objects中先取得这些名称。

4、include、exclude参数中,在escape语句中,不能用\作为转义符

(1)、include=table:"like 'SEC_%'" 
     结果:SECAAAROLE、SEC_ROLE、SEC_OPERATION三个表,说明,_依旧表示一个占位符的作用

(2)、include=table:"like 'SEC\_%'"
       不能导出SECAAAROLE、SEC_ROLE、SEC_OPERATION三个表,说明在''中,\并不表示转义符

(3)、include=table:"like 'SEC\_%'escape'\'"  这样会报错:
       ORA-39001: invalid argument value
       ORA-39071: Value for INCLUDE is badly formed.
       ORA-01425: escape character must be character string of length 1
    (4)、改成这样  include=table:"like 'SEC#_%'escape'#'"
         可以正确导出SEC_ROLE、SEC_OPERATION二个表,但不能导出SECAAAROLE这个表。结论:在include、exclude参数中,在escape语句中,不能用\作为转义符!!,可以选用选用其他特殊字符作为转义符。如果确实要用\,也要可以用ascii码代替:include=table:"like 'SEC\_%'escape chr(92)"

二、exclude参数用法

a、exclude参数在parfile文件中可以有多个,还有多种写法。

[oracle@test189 temp2]$ vi zzw-expscript_impclude.par
DIRECTORY=ZZW_EXPDPDIR
DUMPFILE=bdctemp1.dmp
exclude=table:"like 'BDC%'" , table:"like 'USPC%'",table:"like 'AUDIT%'"
exclude=table:"like 'SMS#_%'escape'#'"
exclude=table:"in (select table_name from user_tables  where regexp_like(table_name,'^MENU.*')
or regexp_like(table_name,'^SEC_.*_.*$'))"
LOGFILE=bdctemp1.log

b、支持换行,比如,上面的语句,在parfile文件中如下换行也是可以的

[oracle@test189 temp2]$ vi zzw-expscript_impclude.par
DIRECTORY=ZZW_EXPDPDIR
DUMPFILE=bdctemp1.dmp
EXCLUDE=STATISTICS
exclude=view,table:"like 'BDC%'" ,
table:"like 'USPC%'",
table:"like 'AUDIT%'"
exclude=table:"like 'SMS#_%'escape'#'"
exclude=table:"in (select table_name from user_tables  where regexp_like(table_name,'^MENU.*') 
or regexp_like(table_name,'^SEC_.*_.*$'))"
LOGFILE=bdctemp1.log

ps:采用这种exclude=table:"in (select table_name from user_tables)"方法导出时,我环境中会出现 ORA-07445: exception encountered: core dump     [kokemisz()+34] [SIGSEGV] [ADDR:0x18] [PC:0x143F5B6] [Address not mapped to object] []  这样的错误,在parfile文件中加入 EXCLUDE=STATISTICS条件问题就解决了。

三、include参数用法

a、不允许的写法

include=table:"='BOSS'" or table:"='SEC_ROLE'"

include=table:"='BOSS'" , table:"='SEC_ROLE'"

b、允许的写法
     include=table:"='BOSS'"

include=table:"in('BOSS','SEC_ROLE')"

include=table:"in(select table_name from user_tables  where table_name in('BOSS','SEC_ROLE'))"

include=table:"in(select table_name from user_tables  where regexp_like(table_name,'^BDC_.{4}_.*$'))"   #注意,_在like中表示占位符,在regexp_like不表示占位符。

include=table:"in(select table_name from user_tables  where regexp_like(table_name,'^BDC_.{8}_.*$') or regexp_like(table_name,'^ATTACHMENT_.{4}') or  table_name like 'QRTZ#_%'escape'#')"

c、网上有人提供的好方法(http://i.ruby.blog.163.com/blog/static/2479341720137129551334/?suggestedreading&wumii)

导出某些无规律的表,有很多,也许需要动态维护
    建立表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也导出哦

d、这样的写法是错误的,因为包含两个include语句

DIRECTORY=ZZW_EXPDPDIR
    DUMPFILE=bdctemp1.dmp
    include=table:"='BOSS'"
    include=table:"='SIMS'"

by zzw 2017.3.28

by zzw 2017.4.13修改 于aspire

转载于:https://www.cnblogs.com/zzw-zyba/p/6635088.html

zzw原创_expdp及impdp中的exclude及include参数的那点事相关推荐

  1. oracle Imdpd覆盖,zzw原創_expdp及impdp中的exclude及include參數的那點事

    zzw原創:轉載請注明出處 在oracle的expdp 及imdpd命令中,exclude及include參數還是有一些要注意的地方,特別是涉及選擇性條件時. 一.通用 1.exclude及inclu ...

  2. zzw原创_LIKE与regexp_like中的_及转义符

    1.select table_name from user_tables  where table_name like 'MENU%'; 查出以下表 MENU MENUGGG_131 MENU_132 ...

  3. expdp impdp中 exclude/include 的使用

    exclude和include参数能够在使用expdp或impdp是对特定的对象或对象类型进行筛选或过滤.比如因工作的需要导出特定的表或不导出特定 的表.视图以及存储过程.索引.约束.授权统计信息等等 ...

  4. zzw原创_oracle循环中的异常捕捉_捕捉异常后并继续循环

    zzw原创_oracle循环中的异常捕捉_捕捉异常后并继续循环 参考文章: (1)zzw原创_oracle循环中的异常捕捉_捕捉异常后并继续循环 (2)https://www.cnblogs.com/ ...

  5. zzw原创_非root安装fastDFS

    zzw原创_非root安装fastDFS fastDFS 想要非root安装,没找到资料,分析了一下安装脚本,原来作者是留了安装路径的,但没有放出来. 1.解包 [bdc@svr001 setup]$ ...

  6. ANT:fileset中使用exclude

    ANT:fileset中使用exclude 2007-11-20 13:23 在Ant中使用copy任务是如果要忽略一些文件就需要使用fileset和excludes 复制一个目录中所有.java为结 ...

  7. 【Datapump】expdp和impdp中parallel参数解释

    在 expdp 和 impdp 中,可以通过并行( parallel 参数)来提高导出导入速率.这个参数会受到 cpu 和 I/O 影响.所以在使用 parallel 参数时,需要在资源消耗和运行时间 ...

  8. oracle remap语句格式,impdp 中的remap方式

    impdp 中的remap方式 impdp 中要是没有remap方式,那么个人认为datapump 将是一个死板的工具. remap_table方式 语法格式:REMAP_TABLE=[schema. ...

  9. 在Dockerfile中设置G1垃圾回收器参数

    在Dockerfile中设置G1垃圾回收器参数 ENV JAVA_OPTS="\ -server \ -XX:SurvivorRatio=8 \ -XX:+DisableExplicitGC ...

最新文章

  1. linux移植会话层层协议,Linux内核移植-南京林业大学毕业设计.DOC
  2. cpld xilinx 定义全局时钟_时钟相关概念
  3. 《统计学》学习笔记之参数估计
  4. python中感叹号_C#中感叹号(!) 的作用总结
  5. 分享制作精良的知识管理系统 配置SQL Server文档数据库 完美实现博客文章的的下载,存储和浏览...
  6. 【开源】OSharp3.0框架解说系列(6.2):操作日志与数据日志
  7. 【Oracle学习笔记-4】内连接和外连接的区别
  8. 01-vue项目之滚动加载数据
  9. mysql undo表空间增长_undo表空间太大解决办法
  10. 淘宝网发展史:揭开神秘组织的技术内幕与艰辛历程
  11. EasyTalking微博系统
  12. 路由器管理页面html,电脑怎么进入路由器设置界面_怎么登录路由器管理界面?-192路由网...
  13. java LocalDateTime 加时间,计算两个时间的差
  14. STM32-外部中断详解
  15. 使用screen保持程序在背景继续运行
  16. 高端化和智能化是一体两面 腾势D9开启中国MPV新豪华时代
  17. 闹钟定时设计c语言编程,单片机定时闹钟(课程设计).docx
  18. 燕千云数智化业务服务平台,带来极致的客户及员工服务体验
  19. 文件查找(locate、find)
  20. 4位右移寄存器模型(D触发器)

热门文章

  1. Oculus Rift S丨(一)软件安装及基本配置,接入SDK
  2. PTA Basic 1003 我要通过
  3. 【C语言】printf函数参数压栈问题
  4. 计算机二级选择题知识点汇总(1)
  5. I2C驱动框架分析(3):DW_I2C驱动分析
  6. RabbitMQ简介
  7. 速达开发版增值报表-非财务资产负债利润表
  8. 统计机器学习中的一些概念
  9. gyp ERR configure error gyp ERR stack Error: Command failed: C:....
  10. speedoffice(Excel)如何去除文本框的边框?