我在使用Oracle的逻辑备份expdp的exclude特性时,总是出现以下错误:
ORA-39001: invalid argument value
ORA-39071: Value for EXCLUDE is badly formed.
ORA-00936: missing expression
检查语法很长时间都没找到语法错误,上网查了后才发现原因在这里:
http://www.oraclefaq.net/2007/03/09/expdp-datapump-excludeinclude-parameters/
在实际使用中,如果写在参数文件中,则不存在语法错误;但如果要在命令行中直接写的话,就必须加上转义字符:
Windows :
D:\> expdp system/manager DIRECTORY=my_dir DUMPFILE=exp_tab.dmp LOGFILE=exp_tab.log SCHEMAS=scott INCLUDE=TABLE:\”IN (’EMP’, ‘DEP’)\”
Unix :
% expdp system/manager DIRECTORY=my_dir DUMPFILE=exp_tab.dmp LOGFILE=exp_tab.log SCHEMAS=scott INCLUDE=TABLE:\”IN \(\’EMP\’, \’DEP\’\)\”