Oracle跨版本導出EXP-00003錯誤的解決

【現象描述】:

      當Oracle數據庫中,使用不同版本的exp工具進行數據庫導出時,有時候會遇到類似如下錯誤:
      EXP-00003: no storage definition found for segment(11, 307)
      EXP-00003: no storage definition found for segment(11, 523)
      EXP-00003: no storage definition found for segment(11, 643)
      EXP-00003: no storage definition found for segment(11, 275)  

【原因分析】:
 "EXP-00003: no storage definition found for segment ....."錯誤,和Oracle的一個小Bug相關,可以通過修改一個導出相關的View來解決。
在目標數據庫使用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
/


【處理過程】:
 然後就可以正常進行導出操作,exp完成後, 最好將視圖還原(Metalink建議):
CREATE OR REPLACE VIEW exu9tne (
tsno, fileno, blockno, length) AS
SELECT ts#, segfile#, segblock#, length
FROM sys.uet$
WHERE ext# = 1
/
EXU9TNE視圖初始由 $ORACLE_HOME/rdbms/admin/catexp.sql 腳本創建。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章