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'#')"

導出某些無規律的表,有很多,也許需要動態維護

建立表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

oracle Imdpd覆盖,zzw原創_expdp及impdp中的exclude及include參數的那點事相关推荐

  1. zzw原创_expdp及impdp中的exclude及include参数的那点事

    zzw原创:转载请注明出处 在oracle的expdp 及imdpd命令中,exclude及include参数还是有一些要注意的地方,特别是涉及选择性条件时. 一.通用 1.exclude及inclu ...

  2. [原創]全面的權限控制方法(功能權限+數據權限+特殊權限(行,列))

    1.功能權限.比較容易實現. 如果以角色為權限控制核心的話,則應該建立一張以角色--功能(頁面.窗體)為基礎的權限關係表. 2.數據權限.無論從區域還是公司內部結構之關係,都可統一為一棵權限樹,而利用 ...

  3. (原創) Quartus II安裝新觀念:如何將Quartus II安裝在VirtualBox內? (SOC) (Quartus II) (VirtualBox)...

    Abstract VM並不是什麼新的觀念,透過VM我們可以在一個OS去執行其他OS,若我們將Quartus II也裝在VM中,將可解決一些長久以來Quartus II使用上所遇到的問題. Introd ...

  4. (原創) Verilog入門書推薦2:數位系統實習 Quartus II (SOC) (Verilog)

    Abstract 之前曾經推薦過一本Verilog的薄書,這次再推薦一本適合FPGA與Quartus II的Verilog入門書籍. Intrduction 作者:陸自強 出版社:儒林圖書公司 語言: ...

  5. (原創) 如何讓ThinkPad X61在32位元Windows XP『用』到4GB記憶體? (NB) (ThinkPad) (OS) (Windows)...

    Abstract 由於記憶體便宜,不少人購買新NB時,基於一次到位原則,一次將X61的記憶體加到4GB攻頂,雖然X61的硬體抓的到4GB,但卻沒保證軟體的作業系統可以抓到4GB,只要是32位元的Win ...

  6. (原創) 如何讓ThinkPad X61在32位元Windows XP『用』到4GB記憶體? (NB) (ThinkPad) (OS) (Windows)

    原文地址为: (原創) 如何讓ThinkPad X61在32位元Windows XP『用』到4GB記憶體? (NB) (ThinkPad) (OS) (Windows) Abstract 由於記憶體便 ...

  7. (原創) 如何將編譯結果,統一放在一個目錄下? (SOC) (Quartus II)

    Abstract Quartus II預設會將所有檔案都放在project的根目錄下,導致根目錄檔案過多,管理不便,若能將編譯的結果統一放到其他目錄下,將有助於日後管理. Introduction 使 ...

  8. (原創) 我的Design Pattern之旅[3]:使用template改進Strategy Pattern (OO) (Design Pattern) (C/C++) (template)...

    在strategy pattern中,為了讓各strategy能方便存取原來物件的所有public member function,我們常用*this將整個物件傳給各strategy,這樣的設計並沒有 ...

  9. (原創) 如何將CMOS所擷取的影像傳到PC端? (SOC) (DE2) (TRDB-DC2)

    AbstractDE2提供了Control Panel與Image Converter,可以將CMOS所擷取的影像傳到PC端, Introduction 版權聲明:文中所有範例皆出自DE2光碟,版權歸 ...

最新文章

  1. SAP Commerce Cloud 2011装好之后,访问Accelerator时遇到错误
  2. PHP怎么检查登录和退出,如何检查用户是否以PHP登录?
  3. 基于域名的apache服务器
  4. AnimalTFDB 3.0 | 动物转录因子注释和预测的综合资源库
  5. 信息学奥赛C++语言: 趣味整数3(回文数)
  6. DNS IP DOMAIN 详解
  7. Linux的capability深入分析(1)
  8. 统计学习方法读书笔记6-K近邻算法及代码实现
  9. lisp封装成vla函数_牛逼,自动将函数或者命令行工具转换成 Web 服务
  10. 敏感词检测理论算法过程
  11. 2003 服务器自动重启设置,Win2003定时自动重启的完美方案
  12. 校园招聘数电模电笔试题
  13. Excel中两个sheet页比较不同值
  14. 怎样用计算机给ipd传电影,怎样不使用iTunes将电影导入iPad?
  15. 矢量与场论 | 哈密顿算子,哈密顿算子,散度点乘,旋度叉乘的计算过程以及以及定理
  16. 字节与字符,字节流与字符流
  17. Excel 上传和下载
  18. 从程序员到项目经理(一):为什么要当项目经理
  19. 1.1 组件合成与 Qt 元数据
  20. java+lame实现wav到mp3的转换

热门文章

  1. mac acrobat xi破解
  2. NX二次开发 UFUN遍历所有对象 UF_OBJ_cycle_all
  3. 【SpringBoot学习笔记】运行错误:No fallback instance of type class found for feign client
  4. 预期税收支出减少 苹果或将成美国税改最大赢家
  5. ab压测安装,使用方法
  6. 清华计算机研究生复试考什么,清华大学计算机硕士研究生考试是走普通流程?就是报名初试复试等。需要做其他准备么?复试前要联络大学么...
  7. RoundedImageView设置各种圆形、方形头像
  8. 将endnote中数据信息导出为excel方法
  9. English trip V1 - B 1. How much is it? 它是多少钱? Teacher:Corrine Key: is/are
  10. 后端分页+前端分页显示(Angular+Primeng+SpringBoot)