我的oracle9.2数据库安装在IBM P55a 小型机上(两台做的HA),安装的AIX4操作系统,在网络中一台操作系统为window2003的PC服务器上,使用exp命令导出用户时,所有表中有BLOB和CLOB的表都会报块(******)找不到的错误。
为什么会出这种错误,怎么解决呢?

解决方案 »

  1.   

    参考:
    http://www.itpub.net/thread-528089-1-1.html
      

  2.   

    在AIX服务器本地导出,看看是否有错误。
      

  3.   


    For tables containing LONG, LOB, BFILE, REF, ROWID, UROWID, or DATE
    columns, rows are inserted individually. The size of the buffer must be large enough
    to contain the entire row, except for LOB and LONG columns. If the buffer cannot
    hold the longest row in a table, Import attempts to allocate a larger buffer.
      

  4.   

    看看这个对你有没有帮助
    问题描述:本地Oracle客户端版本为9.2.0.1,而数据库服务器版本为9.2.0.5。在本地利用exp将数据从服务器导出时,在遇到有大对象(BLOB, CLOB)的表时,出现错误:EXP-00003。经过确认,发现时Oracle的Bug。解决方法如下:
    方法一:将客户端升级版本升级为9.2.0.5。
    方法二:
      步骤1 修改$ORACLE_HOME/rdbms/admin/catexp.sql文件(在修改之前,请务必对该文件做备份,以防失误),
            将“UNION ALL select * from sys.exu9tneb”加入到视图exu9tne定义的最后一行,如下:
      
    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
    /  步骤2 以sys帐号执行该脚本。
      这样,即可以用低版本的客户端导出版本为9.2.0.5的数据库服务器上的数据。
      
     以上两种方法,相比之下,建议采用第二种,因为这样可以不用升级每个客户端,从而减少了麻烦。但是采用第二种方法时,一定要对注意catexp.sql进行备份。