expdp where 子句错误
expdp where clause errors
我正在尝试根据查询子句进行导出转储。 table 包含 23.7 亿行,我需要转储其中的一个子集。这是我的 parfile
DIRECTORY=EXPSOURCE
DUMPFILE=obs_fact_%u.dmp
PARALLEL=4
TABLES=schema1.observation_fact
QUERY='schema1.observation_fact:"WHERE concept_cd < ''ICD10CM:N93.0'';"'
这会产生以下错误
ORA-31693: Table data object "SCHEMA1"."OBSERVATION_FACT" failed to load/unload and is being skipped due to error:
ORA-00933: SQL command not properly ended
我厌倦了将 concept_cd 代码用引号而不是双 ' 括起来,但收到同样的错误。我已经研究了一段时间了,没有任何进展。
Oracle Database 12c 企业版 12.1.0.2.0 版 - 64 位生产
QUERY
子句是错误的,因为:
- 你不要用单引号括起来
- 您不必在字符串周围使用两个单引号
- 你没有用分号终止
WHERE
子句
这意味着像这样的东西应该可以工作:
QUERY=schema1.observation_fact:"WHERE concept_cd < 'ICD10CM:N93.0'"
这是一个基于 Scott 架构的示例:参数文件(看起来与您的相似;我无法使用 PARALLEL
选项,因为我在 11gXE 上):
directory=ext_dir
dumpfile=obs_fact_%u.dmp
tables=dept
query=dept:"where dname < 'VANCOUVER:N93.0'"
执行:
c:\Temp>expdp scott/tiger@xe parfile=parfile_01.txt
Export: Release 11.2.0.2.0 - Production on ╚et Srp 26 22:15:41 2018
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
Starting "SCOTT"."SYS_EXPORT_TABLE_01": scott/********@xe parfile=parfile_01.txt
Estimate in progress using BLOCKS method...
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 64 KB
Processing object type TABLE_EXPORT/TABLE/TABLE
Processing object type TABLE_EXPORT/TABLE/INDEX/INDEX
Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type TABLE_EXPORT/TABLE/TRIGGER
Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . exported "SCOTT"."DEPT" 5.929 KB 4 rows
Master table "SCOTT"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SCOTT.SYS_EXPORT_TABLE_01 is:
C:\TEMP\OBS_FACT_01.DMP
Job "SCOTT"."SYS_EXPORT_TABLE_01" successfully completed at 22:15:44
c:\Temp>
我正在尝试根据查询子句进行导出转储。 table 包含 23.7 亿行,我需要转储其中的一个子集。这是我的 parfile
DIRECTORY=EXPSOURCE
DUMPFILE=obs_fact_%u.dmp
PARALLEL=4
TABLES=schema1.observation_fact
QUERY='schema1.observation_fact:"WHERE concept_cd < ''ICD10CM:N93.0'';"'
这会产生以下错误
ORA-31693: Table data object "SCHEMA1"."OBSERVATION_FACT" failed to load/unload and is being skipped due to error:
ORA-00933: SQL command not properly ended
我厌倦了将 concept_cd 代码用引号而不是双 ' 括起来,但收到同样的错误。我已经研究了一段时间了,没有任何进展。
Oracle Database 12c 企业版 12.1.0.2.0 版 - 64 位生产
QUERY
子句是错误的,因为:
- 你不要用单引号括起来
- 您不必在字符串周围使用两个单引号
- 你没有用分号终止
WHERE
子句
这意味着像这样的东西应该可以工作:
QUERY=schema1.observation_fact:"WHERE concept_cd < 'ICD10CM:N93.0'"
这是一个基于 Scott 架构的示例:参数文件(看起来与您的相似;我无法使用 PARALLEL
选项,因为我在 11gXE 上):
directory=ext_dir
dumpfile=obs_fact_%u.dmp
tables=dept
query=dept:"where dname < 'VANCOUVER:N93.0'"
执行:
c:\Temp>expdp scott/tiger@xe parfile=parfile_01.txt
Export: Release 11.2.0.2.0 - Production on ╚et Srp 26 22:15:41 2018
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
Starting "SCOTT"."SYS_EXPORT_TABLE_01": scott/********@xe parfile=parfile_01.txt
Estimate in progress using BLOCKS method...
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 64 KB
Processing object type TABLE_EXPORT/TABLE/TABLE
Processing object type TABLE_EXPORT/TABLE/INDEX/INDEX
Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type TABLE_EXPORT/TABLE/TRIGGER
Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . exported "SCOTT"."DEPT" 5.929 KB 4 rows
Master table "SCOTT"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SCOTT.SYS_EXPORT_TABLE_01 is:
C:\TEMP\OBS_FACT_01.DMP
Job "SCOTT"."SYS_EXPORT_TABLE_01" successfully completed at 22:15:44
c:\Temp>