今天使用Oracle 11g EXP命令备份库遇到以下错误:

    EXP-00003: no storage definition found for segment(11, 307)

    “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 脚本创建。

    本篇文章来源于 Linux公社网站(www.linuxidc.com) 原文链接:http://www.linuxidc.com/Linux/2012-11/73946.htm