标签:null 备份 DJI DETAIL BLACKLIST 数据表 CHINA Oracle LEO
需求: 备份一张表恢复至测试环境,但是得有过滤条件
思路:数据泵轻量级备份,query参数
expdp system@LEO directory=DATA_PUMP_DIR dumpfile=DJI_BLACKLIST_DETAIL.dmp logfile=DJI_BLACKLIST_DETAIL.log tables=LEO.DJI_BLACKLIST_DETAIL query='LEO.DJI_BLACKLIST_DETAIL:" where upper(country_code) = 'CHINA' and trim(dji_name) is not null and trim(dji_id_no) is not null"'
Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
ORA-31693: Table data object "LEO"."DJI_BLACKLIST_DETAIL" failed to load/unload and is being skipped due to error:
ORA-00904: "CHINA": invalid identifier
Master table "SYSTEM"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded
很明显,不太对劲,china 这个条件匹配不到,进行
' CHINA'
"CHINA "
"' CHINA'"
'"CHINA "'
都试了一遍,不好使。
决定用 parifle 来解决这种问题
vi leo.par
query='LEO.DJI_BLACKLIST_DETAIL:" where upper(country_code) = 'CHINA' and trim(dji_name) is not null and trim(dji_id_no) is not null"'
expdp system@LEO directory=DATA_PUMP_DIR dumpfile=DJI_BLACKLIST_DETAIL.dmp logfile=DJI_BLACKLIST_DETAIL.log tables=LEO.DJI_BLACKLIST_DETAIL parfile=leo.par
LRM-00111: no closing quote for value 'null"'
'
LRM-00113: error when processing file 'leo.par'
淦!!!
解决:
去掉了leo.par中的表的单引号。
前:
query='LEO.DJI_BLACKLIST_DETAIL:" where upper(country_code) = 'CHINA' and trim(dji_name) is not null and trim(dji_id_no) is not null"'
后:
query=LEO.DJI_BLACKLIST_DETAIL:" where upper(country_code) = 'CHINA' and trim(dji_name) is not null and trim(dji_id_no) is not null"
标签:null,备份,DJI,DETAIL,BLACKLIST,数据表,CHINA,Oracle,LEO 来源: https://www.cnblogs.com/Leo-Cjh/p/13398984.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。