oracle Imdpd覆盖,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'#')"
導出某些無規律的表,有很多,也許需要動態維護
建立表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參數的那點事相关推荐
- zzw原创_expdp及impdp中的exclude及include参数的那点事
zzw原创:转载请注明出处 在oracle的expdp 及imdpd命令中,exclude及include参数还是有一些要注意的地方,特别是涉及选择性条件时. 一.通用 1.exclude及inclu ...
- [原創]全面的權限控制方法(功能權限+數據權限+特殊權限(行,列))
1.功能權限.比較容易實現. 如果以角色為權限控制核心的話,則應該建立一張以角色--功能(頁面.窗體)為基礎的權限關係表. 2.數據權限.無論從區域還是公司內部結構之關係,都可統一為一棵權限樹,而利用 ...
- (原創) Quartus II安裝新觀念:如何將Quartus II安裝在VirtualBox內? (SOC) (Quartus II) (VirtualBox)...
Abstract VM並不是什麼新的觀念,透過VM我們可以在一個OS去執行其他OS,若我們將Quartus II也裝在VM中,將可解決一些長久以來Quartus II使用上所遇到的問題. Introd ...
- (原創) Verilog入門書推薦2:數位系統實習 Quartus II (SOC) (Verilog)
Abstract 之前曾經推薦過一本Verilog的薄書,這次再推薦一本適合FPGA與Quartus II的Verilog入門書籍. Intrduction 作者:陸自強 出版社:儒林圖書公司 語言: ...
- (原創) 如何讓ThinkPad X61在32位元Windows XP『用』到4GB記憶體? (NB) (ThinkPad) (OS) (Windows)...
Abstract 由於記憶體便宜,不少人購買新NB時,基於一次到位原則,一次將X61的記憶體加到4GB攻頂,雖然X61的硬體抓的到4GB,但卻沒保證軟體的作業系統可以抓到4GB,只要是32位元的Win ...
- (原創) 如何讓ThinkPad X61在32位元Windows XP『用』到4GB記憶體? (NB) (ThinkPad) (OS) (Windows)
原文地址为: (原創) 如何讓ThinkPad X61在32位元Windows XP『用』到4GB記憶體? (NB) (ThinkPad) (OS) (Windows) Abstract 由於記憶體便 ...
- (原創) 如何將編譯結果,統一放在一個目錄下? (SOC) (Quartus II)
Abstract Quartus II預設會將所有檔案都放在project的根目錄下,導致根目錄檔案過多,管理不便,若能將編譯的結果統一放到其他目錄下,將有助於日後管理. Introduction 使 ...
- (原創) 我的Design Pattern之旅[3]:使用template改進Strategy Pattern (OO) (Design Pattern) (C/C++) (template)...
在strategy pattern中,為了讓各strategy能方便存取原來物件的所有public member function,我們常用*this將整個物件傳給各strategy,這樣的設計並沒有 ...
- (原創) 如何將CMOS所擷取的影像傳到PC端? (SOC) (DE2) (TRDB-DC2)
AbstractDE2提供了Control Panel與Image Converter,可以將CMOS所擷取的影像傳到PC端, Introduction 版權聲明:文中所有範例皆出自DE2光碟,版權歸 ...
最新文章
- SAP Commerce Cloud 2011装好之后,访问Accelerator时遇到错误
- PHP怎么检查登录和退出,如何检查用户是否以PHP登录?
- 基于域名的apache服务器
- AnimalTFDB 3.0 | 动物转录因子注释和预测的综合资源库
- 信息学奥赛C++语言: 趣味整数3(回文数)
- DNS IP DOMAIN 详解
- Linux的capability深入分析(1)
- 统计学习方法读书笔记6-K近邻算法及代码实现
- lisp封装成vla函数_牛逼,自动将函数或者命令行工具转换成 Web 服务
- 敏感词检测理论算法过程
- 2003 服务器自动重启设置,Win2003定时自动重启的完美方案
- 校园招聘数电模电笔试题
- Excel中两个sheet页比较不同值
- 怎样用计算机给ipd传电影,怎样不使用iTunes将电影导入iPad?
- 矢量与场论 | 哈密顿算子,哈密顿算子,散度点乘,旋度叉乘的计算过程以及以及定理
- 字节与字符,字节流与字符流
- Excel 上传和下载
- 从程序员到项目经理(一):为什么要当项目经理
- 1.1 组件合成与 Qt 元数据
- java+lame实现wav到mp3的转换
热门文章
- mac acrobat xi破解
- NX二次开发 UFUN遍历所有对象 UF_OBJ_cycle_all
- 【SpringBoot学习笔记】运行错误:No fallback instance of type class found for feign client
- 预期税收支出减少 苹果或将成美国税改最大赢家
- ab压测安装,使用方法
- 清华计算机研究生复试考什么,清华大学计算机硕士研究生考试是走普通流程?就是报名初试复试等。需要做其他准备么?复试前要联络大学么...
- RoundedImageView设置各种圆形、方形头像
- 将endnote中数据信息导出为excel方法
- English trip V1 - B 1. How much is it? 它是多少钱? Teacher:Corrine Key: is/are
- 后端分页+前端分页显示(Angular+Primeng+SpringBoot)