zzw原创_expdp及impdp中的exclude及include参数的那点事
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
zzw原创_expdp及impdp中的exclude及include参数的那点事的更多相关文章
- zzw原创_LIKE与regexp_like中的_及转义符
1.select table_name from user_tables where table_name like 'MENU%';查出以下表MENUMENUGGG_131MENU_132MENU ...
- expdp impdp中 exclude/include 的使用
exclude和include参数能够在使用expdp或impdp是对特定的对象或对象类型进行筛选或过滤.比如因工作的需要导出特定的表或不导出特定 的表.视图以及存储过程.索引.约束.授权统计信息等等 ...
- Oracle expdp impdp中 exclude/include 的使用
exclude和include参数能够在使用expdp或impdp是对特定的对象或对象类型进行筛选或过滤.比如因工作的需要导出特定的表或不导出特定的表.视图以及存储过程.索引.约束.授权统计信息等等. ...
- zzw原创_非root安装fastDFS
zzw原创_非root安装fastDFS fastDFS 想要非root安装,没找到资料,分析了一下安装脚本,原来作者是留了安装路径的,但没有放出来. 1.解包 [bdc@svr001 setup]$ ...
- [原创]如何在Parcelable中使用泛型
[原创]如何在Parcelable中使用泛型 实体类在实现Parcelable接口时,除了要实现它的几个方法之外,还另外要定义一个静态常量CREATOR,如下例所示: public static cl ...
- impdp中的DISABLE_ARCHIVE_LOGGING参数测试
impdp中的DISABLE_ARCHIVE_LOGGING参数测试 发表于 2017 年 04 月 08 日 由 惜分飞 联系:手机/微信(+86 13429648788) QQ(107644445 ...
- 【万字图文-原创】 | 学会Java中的线程池,这一篇也许就够了!
碎碎念 关于JDK源码相关的文章这已经是第四篇了,原创不易,粉丝从几十人到昨天的666人,真的很感谢之前帮我转发文章的一些朋友们. 从16年开始写技术文章,到现在博客园已经发表了222篇文章,大多数都 ...
- 【原创】在VS2012中采用C++中调用DLL中的函数(4)
这两天因为需要用到VS2012来生成一个DLL代码,但是之前并没有用过DLL相关的内容,从昨天开始尝试调试DLL的文件调用,起初笔者在网络上找到了3片采用VSXXX版本进行调试的例子,相关的内容见本人 ...
- ]flexslider 中文文档 使用教程 参数手册
[原创]flexslider 中文文档 使用教程 参数手册 要改前人用的flexslider功能,但苦于找不到详细的文档教程,折磨了好久……(所以我才说不爱乱用插件) 为了福利下之后也苦于这个问题 ...
随机推荐
- HDU 4104 Discount(n个数不能构成的最小值)
http://acm.hdu.edu.cn/showproblem.php?pid=4104 题意:给出n个数,每个数最多只能用一次,每次可以选任意个数相加,求不能相加得到的最小值是多少. 思路: 先 ...
- 2019年前端面试题 | CSS篇 (更新于4月15日)
虽说刷面试题有走捷径之嫌,但我发现,对于我这样没有工作经历的人来说,其实是拓展自己实战技能和加深知识理解的一个好机会. 分享出来,也希望大家不要背完了事,正经的去细细琢磨各种原由. 本篇是一个题目合集 ...
- npm介绍和使用
# npm 介绍 > 概念 : node 包管理工具 > 作用 : 通过 npm 来快速下载/安装项目中依赖的包 > 查看 版本号 : npm -v # npm 基本使用演示 ...
- 蚂蚁金服首席数据科学家漆远:AI技术开放,与业界融合共创
小蚂蚁说: 11月8日,在第五届世界互联网大会-<人工智能:融合发展新机遇>论坛上,蚂蚁金服副总裁.首席数据科学家漆远认为AI具有控制风险.降本增效和提升用户体验三大作用. 11月8日,第 ...
- springmvc处理过程理解(一)
DispatcherServlet前端控制器:接收request,进行response HandlerMapping处理器映射器:根据url查找Handler.(可以通过xml配置方式,注解方式) H ...
- 《剑指offer》第六十八题(树中两个结点的最低公共祖先)
// 面试题68:树中两个结点的最低公共祖先 // 题目:输入两个树结点,求它们的最低公共祖先. #include <iostream> #include "Tree.h&quo ...
- Python3 操作Excel
首先说明一下 在处理大文件时,openpyxl 的性能不如 xlrd,xlwt等.所以可以读取的时候使用xlrd,写的时候用openpyxl. 今天遇到一个使用场景:excel存放的是一条条用例,包含 ...
- Asp.net core 学习笔记 ( OData )
2018-12-10 更新 : 从前我都是把 entity 直接用于 odata 曝露 api 给程序用. 如果这个程序是我们自己写的前端,这样的方式非常好,因为就好比前端可以直接对数据库每一个表做操 ...
- 有效利用1 on 1
2019-01-08 16:32:13 感觉1 on 1是浪费时间? 感觉1 on 1时没啥好说? 感觉老板总是不想1 on 1? 怎样才能 升职加薪? 一切都从有效的1 on 1开始!! 什么是1 ...
- change color3
两种方法 第一种 DataGridview1.Rows[i].DefultCellStyle.backcolor 第二种 AlternatingRowsDefutCellstyle 属性 获取或设置应 ...