EXP-00008: ORACLE error 904 encountered的解決方案

來源:互聯網
上載者:User
error|oracle|解決
【錯誤情況】

[oracle@ccdevsvr admin]$ exp wmap/pass@jackeydb

Export: Release 8.1.7.4.0 - Production on Fri Oct 8 11:28:37 2004

(c) Copyright 2000 Oracle Corporation.  All rights reserved.


Connected to: Oracle9i Release 9.2.0.1.0 - Production
JServer Release 9.2.0.1.0 - Production
Enter array fetch buffer size: 4096 >

Export file: expdat.dmp > host    

(2)U(sers), or (3)T(ables): (2)U > u

Export grants (yes/no): yes >

Export table data (yes/no): yes >

Compress extents (yes/no): yes >

Export done in WE8ISO8859P1 character set and UTF8 NCHAR character set
server uses ZHS16GBK character set (possible charset conversion)
. exporting pre-schema procedural objects and actions
. exporting foreign function library names for user WMAP
. exporting object type definitions for user WMAP
About to export WMAP's objects ...
. exporting database links
. exporting sequence numbers
. exporting cluster definitions
. about to export WMAP's tables via Conventional Path ...
EXP-00008: ORACLE error 904 encountered
ORA-00904: "SPOLICY": invalid identifier
EXP-00000: Export terminated unsuccessfully
[oracle@ccdevsvr admin]$


【解決方案一】 
Bookmark Go to End 

 


fact: Oracle Server - Enterprise Edition
symptom: ORA-00904: Invalid column name
symptom: EXP-00008: ORACLE error %s encountered
cause: The package is missing, invalid or corrupt

 

fix:

How to handle ORA-00904 errors on Export
========================================

When running full database export the following errors will be returned:

exp80 user/password full=y file=D:\DB-Backup\ORCL\expORCL.dmp
log=D:\DB-Backup\ORCL\expORCL.log consistent=y buffer=40960000

    EXP-00008: ORACLE error 904 encountered
    ORA-00904: invalid column name

 


To get a clue what has force these ORA-00904 message, follow the following
steps:

1. Connect as privileged user and run the following command inside an
   SQLPLUS session:
 
   SQL> alter system set events='904 trace name errorstack';

   -------------------------------- Note ------------------------------------

   This event will work starting with Oracle8i. If running a Oracle database
   version below Oracle8i, you'll get ORA-02065 errors returned, when
   specifying this event. In Oracle versions below 8i you'll have to insert
   the following entry into INIT.ORA

   event="904 trace name errorstack"
  
   --------------------------------------------------------------------------
 
2. Retry the FULL export. When the ORA-00904 occurs, a trace file will be
   written to the storage location specified by the INIT.ORA parameter
   'user_dump_dest'. As soon as the ORA-00904 has been returned to your
   export session, you can abort the export and examine the trace information.

3. Disable event tracing by running the following command:
 
   SQL> alter system set events='904 trace name errorstack off';

   On Oracle versions below 8.1.5 return the event entry from INIT.ORA

4. Examine the trace file:

   *** SESSION ID:(9.3) 2001.11.21.15.28.00.494
   *** 2001.11.21.15.28.00.494
   ksedmp: internal or fatal error
   ORA-00904: invalid column name
   Current SQL statement for this session:
   SELECT fname,fsize,maxextend,inc FROM sys.exu8fil WHERE tsid = :1
                                         ===========

   a) a problem with object EXU8FIL has been detected
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   In this example, there's a problem with the EXE8FIL view. To examine,
   whether this object exist, run the following command:

   SQL> select owner,object_name,object_type,object_id,status
        from   dba_objects
        where  object_name='EXU8FIL';

   If the problem is on the EXU8FIL object you simply can recreate the
   object by running the CATEXP.SQL script.

   b) a problem with object DBMS_JAVA or DBMS_JAVA_TEST
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   ksedmp: internal or fatal error
   ORA-00904: invalid column name
   Current SQL statement for this session:
   SELECT SYNNAM, DBMS_JAVA.LONGNAME(SYNNAM), DBMS_JAVA.LONGNAME(SYNTAB), ...

   On systems where the Java Server has been installed the trace file could
   contain information on a failing select statement on DBMS_JAVA packages.

   For reference on fixing errors relating to DBMS_JAVA, please follow
   <Note:1017276.102>.
 【解決方案二】
If this error (ORA-904 invalid column name) occurs after applying a patch, this would probably fix the problem.
1. First, run CATEXP as INTERNAL. Then retry the export. Often times this will fix the problem and then export will run without error. The reason being a problem with object EXU8FIL view has been detected.
To examine, whether this object exist, run the following command:
SQL> select owner,object_name,object_type,object_id,status
from dba_objects
where object_name='EXU8FIL';
If the problem is on the EXU8FIL object you simply can recreate the object by running the CATEXP.SQL script.


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.