EXP-00003: no storage definition found for segment(9, 907)

zhanglei_itput發表於2009-03-10

今天在用9.2.0.1客戶端exp匯出9.2.0.7的source資料庫時,遇到一個錯誤:
EXP-00003: no storage definition found for segment(9, 907),查了一下metalink
原因為:9.2.0.7上的db中的表有lob物件,誇了1個以上的區,這樣的物件在用低於9.2.0.5 client 端exp時候,會出現這種問題。
Symptoms
Your Portal is installed in a custom database version 9.2.0.5 or higher.
You are running the export script. from your transport set from the MIDTIER_HOME.
The export log file generated by the export from the command line shows the following error:
EXP-00003: no storage definition found for segment(%lu, %lu)

Cause
The error is caused by a database bug as explained in the following note:
Note 3291851.8  Bug 3291851 - EXP-3 exporting LOB from 9205 or higher DB with <9205 export >
Table being exported is in Oracle9i 9.2.0.5.0 or any higher source database.
Table itself or Large Object (LOB) in table has more than one extent allocated.
The version of the Export utility is Pre-9.2.0.5.0.
Export can be either table level or schema level or database level.
Solution
Workaround 1
Run the export script. from the DATABASE_HOME.(在資料庫伺服器上執行exp)
Workaround 2
a. Make a note of the export definition of exu9tne from $ORACLE_HOME/rdbms/admin/catexp.sql
b. Copy this to a new file and add: "UNION ALL select * from sys.exu9tneb" to the end of the definition
   e.g. In the 9.2.0.5.0 or any higher release source database (e.g. 9.2.0.6.0 or 10.1.0.4.0), the workaround view would be: (在目標資料庫使用sys使用者,執行如下SQL建立新的view,執行完後,記得要還原):
   CREATE OR REPLACE VIEW exu9tne (tsno, fileno, blockno, length) AS
                                   SELECT ts#, segfile#, segblock#, length
                                   FROM sys.uet$
                                   WHERE ext# = 1
                                   UNION ALL
                                   SELECT * from sys.exu9tneb
                                   /
c. Run this as the SYS user (!) against the database that needs to be exported.
d. Re-run the export as required.
e. Put back the original definition of exu9tne as obtained in step a.

Note: only use this workaround when absolutely necessary, and don't forget to put back the original definition of the view SYS.exu9tne as mentioned in step e.
參考地址:

 

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9252210/viewspace-566589/,如需轉載,請註明出處,否則將追究法律責任。

相關文章