Export/Import DataPump按自定义条件query导出数据报错的处理办法
点击上方蓝字
关注徐sir,获取更多IT知识
作者 | 徐sir 11g ocm、Oracle ACE-A、PGCM
中国OCMU成员、中国ACDU成员、墨天轮2023年十大优秀作者、青学会联合创始人
如需转载请私信联系我,除了墨天轮、CSDN、PGFANS和微信公众号以外都不是我的号
如果觉得我写的对你有帮助,麻烦动动小手,点下:转发、关注、在看,帮我多增加点人气
个人水平有限,有意见或者发现文章有误请留言、私信我,喷子轻喷


,点击下方链接,阅读文章,根据要求参与活动正文开始
今天遇到一个客户找我处理一个小问题,主要是按条件导出数据表报错,这里记录一下如何处理的。
expdp 直接带查询条件语句可能出现的情况
直接在导出命令里写QUERY=<查询SQL>来按条件导出数据表可能会报这些错误
--错误1LRM-00101: unknown parameter name 'empno'--错误2ORA-39001: invalid argument valueORA-39035: Data filter SUBQUERY has already been specified--错误3ORA-31693: Table data object "SCOTT"."DEPT" failed to load/unload andis being skipped due toerror:ORA-00933: SQL command not properly ended--错误4LRM-00111: no closing quote forvalue''EXP-19: failedto process parameters, type'EXP HELP=Y'forhelpEXP-0: Exportterminated unsuccessfully--错误5ORA-31693: Tabledataobject"SCOTT"."DEPT"failedtoload/unload andis being skipped due toerror:ORA-06502: PL/SQL: numericorvalueerrorORA-31605: the following was returned from LpxXSLSetTextVar in routine kuxslSetParam:LPX-314: an internal failure occurred--错误6...Processing objecttype TABLE_EXPORT/TABLE/TABLEORA-31693: Tabledataobject"<SCHEMA_NAME>"."<TABLE_NAME>"failedtoload/unload andis being skipped duetoerror:ORA-00911: invalid character
大部分的原因为是因为涉及到特殊字符需要转义,如果没有加转义符号\可能就会报错,但是万一是个复杂SQL还要到处去转义一下比较麻烦。
解决办法
把相关的参数写到配置文件里,expdp直接调用文件即可。
比如我要导出某张表里指定时间内的数据,并且每个文件30G大小,示例如下:
oracle用户在当前目录创建文件 query.par,内容如下:
DIRECTORY=DATA_PUMP_DIRDUMPFILE=2024_%ULOGFILE=2024.logfilesize=30000Mtables=TABLE_01QUERY=TABLE_01:"where to_char(time,'YYYY-MM-DD hh:mi')>='2024-01-01 00:00'and to_char(time,'YYYY-MM-DD hh:mi')<='2024-12-31 23:59'"
执行,手动输入密码即可。
expdp parfile=query.par结束
不是啥新知识点,不总干数据库的活,手生,现学现用,记录一下。
更多示例参考Export/Import DataPump Parameter QUERY - How to Specify a Query (Doc ID 277010.1)
往期文章回顾
数据库安装搭建
实战:如何在LINUX8.0上安装Oracle 11.2.0.4(文内有快速配置安装脚本)
搭建记录:duplicate搭建oracle rac到单实例搭建物理DG_V7
如何正确在windows server core(无图形界面)安装Oracle 19c(ASM版本)
如何正确在windows server core(无图形界面)安装Oracle 19c
实战RAC迁移系列
实战RAC迁移项目第2篇:RAC-RAC主备切换/IP更换/DG恢复
假期加班实战:Solaris系统下Oracle 12.2 在线扩容ASM磁盘组操作记录
数据库优化实战系列
Oracle故障处理系列
如何正确的在AIX 7.x系统中开启LargePage for Oracle
记一次INS-06006典型问题|安装Oracle 19c rac遇到的ssh互信不通过
实战:记一次DG跨平台迁移win_to_linux遇到的问题12
处理11g grid集群安装10g database软件,无法DBCA创建集群实例问题
记一次ORA-07445[nttaddr2bnd()+2158]问题处理
windows下oracle12C创建第2个实例后,第1个实例无法启动??
EXPDP遇到ORA-39171 ORA-1691报错处理办法
小白常用-Windows下如何把Oracle从C盘整体迁移到D盘?
系统集成类案例
真实案例-esxi7.0u1以上版本vCLS 虚拟机无法打开电源
如何不停机完成Linux操作系统克隆,也适用于P2V&V2V
安装ESXI 7.0的系统盘小于120G,安装后无本地datastore存储的处理办法
Centos7等保加固配置登录失败处理导致root被锁定,如何解锁?
Oracle SPARC服务器系列
传统IT领域的强者-Oracle小型机-第1篇:服务器简单介绍
—————————————————————
墨天轮:https://www.modb.pro/u/3605