数据库服务器OS:2台Solaris 5.9做rac
数据库版本:9.2.0.5
数据库客户端OS:Windows Server2003
数据库客户端版本:9.2.0.1当我在用exp命令在客户端导出某一个模式的数据时,出现EXP-00008,ORA-00904, ORA-01003等错误,无法正常导出,详见如下导出日志:D:\>exp system/manager@nodeora file=scdljg.dmp log=scdljg.log owner=scdljgExport: Release 9.2.0.1.0 - Production on 星期五 3月 26 09:48:20 2010Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
连接到: Oracle9i Enterprise Edition Release 9.2.0.5.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP and Oracle Data Mining options
JServer Release 9.2.0.5.0 - Production
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集即将导出指定的用户...
. 正在导出 pre-schema 过程对象和操作
. 正在导出用户 SCDLJG 的外部函数库名称
. 导出 PUBLIC 类型同义词
. 导出私有类型同义词
. 正在导出用户 SCDLJG 的对象类型定义
即将导出 SCDLJG 的对象 ...
. 正在导出数据库链接
. 正在导出序号
. 正在导出群集定义
. 即将导出 SCDLJG 的表通过常规路径 ...
. . 正在导出表            ACC_T_ACCOUNTBALANCE       2101 行被导出
EXP-00008: 遇到 ORACLE 错误 904
ORA-00904: : 无效的标识符
. . 正在导出表          ACC_T_ACCOUNTCHECKITEM         40 行被导出
EXP-00008: 遇到 ORACLE 错误 1003
ORA-01003: 语句未进行语法分析
. . 正在导出表             ACC_T_ACCTBAL_MONTH          0 行被导出
EXP-00008: 遇到 ORACLE 错误 904
ORA-00904: : 无效的标识符
. . 正在导出表     ACC_T_BUDITEMACCOUNTBALANCE         12 行被导出
EXP-00008: 遇到 ORACLE 错误 1003
ORA-01003: 语句未进行语法分析
. . 正在导出表                 ACC_T_CHECKITEM        555 行被导出
EXP-00008: 遇到 ORACLE 错误 904
ORA-00904: : 无效的标识符
. . 正在导出表        ACC_T_CHECKITEMVALUEINIT        668 行被导出
EXP-00008: 遇到 ORACLE 错误 1003
ORA-01003: 语句未进行语法分析
…………(中间省略部分)
. . 正在导出表       PRO_T_PROJBUDCHANGEDETAIL          0 行被导出
EXP-00008: 遇到 ORACLE 错误 904
ORA-00904: : 无效的标识符
. . 正在导出表         PRO_T_PROJBUDCHANGEINFO          0 行被导出
EXP-00008: 遇到 ORACLE 错误 1003
ORA-01003: 语句未进行语法分析
. . 正在导出表               PRO_T_PROJBUDCOLS          0 行被导出
EXP-00008: 遇到 ORACLE 错误 904
ORA-00904: : 无效的标识符
. . 正在导出表         PRO_T_PROJBUDCOLSCHANGE
EXP-00008: 遇到 ORACLE 错误 1000
ORA-01000: 超出打开游标的最大数
ORA-06512: 在"SYS.DBMS_EXPORT_EXTENSION", line 16
ORA-06512: 在"SYS.DBMS_EXPORT_EXTENSION", line 40
ORA-06512: 在"SYS.DBMS_EXPORT_EXTENSION", line 117
ORA-06512: 在line 1
EXP-00056: 遇到 ORACLE 错误 1000
ORA-01000: 超出打开游标的最大数
EXP-00000: 导出终止失败    我Google了很久,但网上提供的解决方法都不能解决问题。比如:
    1.执行RDBMS\ADMIN\catexp.sql脚本
    2.以SYSTEM用户打开事件904,再执行export, 在user_dump_dest目录下会生成了一个trace文件
      alter system set events='904 trace name errorstack';
      但我在两台数据库中都成功执行了这条语句,但在每台数据库的user_dump_dest目录中都找不到trace文件,因此后面 的步骤就没法进行了。    偶然间我发现,exp时加上statistics=none参数,就可以成功导出,不再报任何错误。
    exp system/manager@nodeora file=scdljg.dmp log=scdljg.log owner=scdljg statistics=none
    statistics参数的默认值是estimate,我理解是如果数据库中的统计信息过期,再执行导出时就重新估算。于是我用以下面语句成功地对整个数据库执行了全面的分析,但仍然没有解决该问题。
    exec dbms_stats.gather_database_stats();    请大家帮帮忙啊,看看我这个应该怎么办?
    

解决方案 »

  1.   


    低版本客户端EXP高版本数据库。在服务器上EXP呢,有没有错误?
      

  2.   

    从metalink 上下了一个。。
    EXP-00008 ORA-00904 and ORA-1003 Errors when Exporting From Designer 6.5 [ID 152278.1]    
       修改时间 29-DEC-2008     类型 PROBLEM     状态 PUBLISHED   "Checked for relevance on 29-Dec-2008"     * fact: Oracle Designer 6.5
        * fact: Oracle Repository 6.5
        * fact: Repository Object Navigator
        * fact: Repository Administration Utility
        * symptom: EXP-00008, ORA-00904 and ORA-1003 errors exporting from Designer
        * symptom: CDR-22582 - Error occurred running the export utility. Check log file errlog.err
        * symptom: EXP-00008: ORACLE error 904 encountered
        * symptom: EXP-00008: ORACLE error 1003 encountered
        * symptom: ORA-00904: invalid column name
        * symptom: ORA-01003: no statement parsed
        * symptom: Errors occur when exporting a Designer 6.5 Application System
        * symptom: Errors occur when exporting a Designer 6.5 Repository
        * cause: The version of the Export utility being used does not match the version of the database in which the Designer Repository is installed. fix:Export of repository data requires the appropriate version of Import and
    Export utilities are installed.  These utilities must be installed in a
    different Oracle Home to the database in which the Repository has been 
    installed.To export repository data the appropriate version of the Oracle 8i Import and 
    Export utilities (IMP & EXP)must be used.  That is, use the 8.1.6 utilities 
    for an 8.1.6 database and the 8.1.7 utilities for an 8.1.7 database.These utilities must not be installed in the same Oracle Home as the Designer 
    software.In a client/server environment these utilities are installed on the client.
    References: 
    1) Refer to  MetaLink  for Designer 
    Certification information.  For information on
       how to do this refer to  Checking certification 
    details on MetaLink.2) Oracle Repository 6i Release Notes - Release 4 (or higher)
       Topic "Known problems and restrictions", "Other problems and 
    restrictions",
       "Export of repository data requires appropriate version of Import and 
    Export
       utilities in different Oracle home."看文件档应该是version problem
      

  3.   

    你是服务器装了几个oracle  select * from v$version ;look look 
      

  4.   

    Export Utility Terminates with EXP-00008, ORA-00904 and EXP-00000 Exporting Synonyms - Java Option Disabled [ID 196921.1]    
       修改时间 15-JUL-2008     类型 PROBLEM     状态 PUBLISHED       * fact: Oracle Server - Enterprise Edition 8.1
        * fact: Export Utility (EXP)
        * symptom: Running an export fails
        * symptom: Exporting synonyms
        * symptom: EXP-00008: ORACLE error 904 encountered
        * symptom: ORA-00904: invalid column name
        * symptom: EXP-00000: Export terminated unsuccessfully
        * symptom: Java option not enabled in the database
        * change: Java Option was installed then removed
        * cause: When java is enabled, export uses DBMS_JAVA.LONGNAME in a query while exporting synonyms. If "DBMS_JAVA" public synonym or "DBMS_JAVA" package does not exist or is invalid, export will fail with ORA-00904: "Invalid column Name"... In 8.1.5: Export Utility tests if Java is enabled by looking for public synonym "DBMS_JAVA". See: Oracle8i Export Fails on Synonym Export with EXP-8 and ORA-904 In 8.1.6: Export Utility tests if Java is enabled by looking for Java class "oracle/aurora/rdbms/DbmsJava"... The EXU81JAVT view was changed in 8.1.6 to check for the above class instead of DBMS_... public synonym... fix:Run "$ORACLE_HOME/javavm/install/rmjvm.sql.sql" to remove Java related objects.
    Dropping "DBMS_JAVA" or "DBMS_JAVA_TEST" public synonyms will work ONLY in 8.1.
    5.
    再试试
      

  5.   

    回4楼,一台服务器上只安装了一个实例,两台服务器,共两个实例;数据库只有一个。
    SQL> select * from gv$version;   INST_ID BANNER
    ---------- ----------------------------------------------------------------
             1 Oracle9i Enterprise Edition Release 9.2.0.5.0 - 64bit Production
             1 PL/SQL Release 9.2.0.5.0 - Production
             1 CORE 9.2.0.6.0       Production
             1 TNS for Solaris: Version 9.2.0.5.0 - Production
             1 NLSRTL Version 9.2.0.5.0 - Production
             2 Oracle9i Enterprise Edition Release 9.2.0.5.0 - 64bit Production
             2 PL/SQL Release 9.2.0.5.0 - Production
             2 CORE 9.2.0.6.0       Production
             2 TNS for Solaris: Version 9.2.0.5.0 - Production
             2 NLSRTL Version 9.2.0.5.0 - Production10 rows selected.
      

  6.   

    回5楼 nihaozhangchao,已经成功执行$ORACLE_HOME/javavm/install/rmjvm.sql,然后:SQL> drop package dbms_java;
    drop package dbms_java
    *
    ERROR at line 1:
    ORA-04043: object DBMS_JAVA does not existSQL> drop package dbms_java_test;Package dropped.SQL> drop public synonym dbms_java_test;Synonym dropped.SQL> commit;Commit complete.但仍然没有解决该问题。exp时提示的错误与先前一模一样
      

  7.   

    回3楼nihaozhangchao,我在服务器上执行了导出,以下是部分日志,可以看到,Export版本和Oracle版本是一致的,都是9.2.0.5.0bash-2.05$ export NLS_LANG="American.ZHS16GBK"
    bash-2.05$ exp system/system_fmis_1 file=/tmp/scc.dmp log=scc.log owner=scdljgExport: Release 9.2.0.5.0 - Production on Fri Mar 26 15:00:34 2010Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
    Connected to: Oracle9i Enterprise Edition Release 9.2.0.5.0 - 64bit Production
    With the Partitioning, Real Application Clusters, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.5.0 - Production
    Export done in ZHS16GBK character set and AL16UTF16 NCHAR character setAbout to export specified users ...
    . exporting pre-schema procedural objects and actions
    . exporting foreign function library names for user SCDLJG 
    . exporting PUBLIC type synonyms
    . exporting private type synonyms
    . exporting object type definitions for user SCDLJG 
    About to export SCDLJG's objects ...
    . exporting database links
    . exporting sequence numbers
    . exporting cluster definitions
    . about to export SCDLJG's tables via Conventional Path ...
    . . exporting table           ACC_T_ACCOUNTBALANCE       2101 rows exported
    EXP-00008: ORACLE error 904 encountered
    ORA-00904: : invalid identifier
    . . exporting table         ACC_T_ACCOUNTCHECKITEM         40 rows exported
    EXP-00008: ORACLE error 1003 encountered
    ORA-01003: no statement parsed
    . . exporting table            ACC_T_ACCTBAL_MONTH          0 rows exported
    EXP-00008: ORACLE error 904 encountered
    ORA-00904: : invalid identifier