当前位置: 代码迷 >> Oracle技术 >> ORA-00901: invalid CREATE command
  详细解决方案

ORA-00901: invalid CREATE command

热度:56   发布时间:2016-04-24 08:33:29.0
高分求unix下expdp导出exclude的正确语法!!!
高分求unix下expdp导出exclude的正确语法!!!
oracle文档上公布的:EXCLUDE=OBJECT_TYPE[:NAME_CLAUSE][,....]
但实际操作中直接套用exclude=TABLE:(table1,table2)不行
exclude=TABLE:"in('table1','table2')" 也行不通
加入各种/转义字符也不行,求正确语法!


------解决方案--------------------
引用楼主 ddbaby 的帖子:
高分求unix下expdp导出exclude的正确语法!!!
oracle文档上公布的:EXCLUDE=OBJECT_TYPE[:NAME_CLAUSE][,....]
但实际操作中直接套用exclude=TABLE:(table1,table2)不行
exclude=TABLE:"in('table1','table2')" 也行不通
加入各种/转义字符也不行,求正确语法!

------解决方案--------------------
SQL code
$ sqlplus /nologSQL*Plus: Release 10.2.0.1.0 - Production on Wed Apr 8 10:04:51 2009Copyright (c) 1982, 2005, Oracle.  All rights reserved.SQL> conn / as sysdbaConnected.SQL> create directiory tmp as '/tmp/';create directiory tmp as '/tmp/'       *ERROR at line 1:ORA-00901: invalid CREATE commandSQL> create directory tmp as '/tmp/';Directory created.SQL> GRANT READ,WRITE ON DIRECTORY tmp to hnky;SQL> exitDisconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit ProductionWith the Partitioning, Real Application Clusters, OLAP and Data Mining options$ expdp hnky/hnky dumpfile=exp_dir:tmp EXCLUDE=TABLE:"IN ('T1','T2')"Export: Release 10.2.0.1.0 - 64bit Production on Wednesday, 08 April, 2009 10:17:49Copyright (c) 2003, 2005, Oracle.  All rights reserved.Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit ProductionWith the Partitioning, Real Application Clusters, OLAP and Data Mining options.....
------解决方案--------------------
建立一个参数文件mypar.par

directory=mydir
dumpfile=myfile.dmp
logfile=myfile.log
exclude=TABLE:"IN('TABLE1','TABLE2')"

然后导出
expdp user/passwd parfile=mypar.par
------解决方案--------------------
探讨
SQL code
$ sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on Wed Apr 8 10:04:51 2009

Copyright (c) 1982, 2005, Oracle. All rights reserved.

SQL> conn / as sysdba
Connected.
SQL> create directiory tmp as '/tmp/';
create directiory tmp as '/tmp/'
*
ERROR at line 1:
ORA-00901: invalid CREATE command


SQL> create directory tmp as '/tmp/';

Directory created.


------解决方案--------------------
引用楼主 ddbaby 的帖子:
高分求unix下expdp导出exclude的正确语法!!!
oracle文档上公布的:EXCLUDE=OBJECT_TYPE[:NAME_CLAUSE][,....]
但实际操作中直接套用exclude=TABLE:(table1,table2)不行
exclude=TABLE:"in('table1','table2')" 也行不通
加入各种/转义字符也不行,求正确语法!

  相关解决方案