日期:2014-05-16  浏览次数:20513 次

使用数据泵导入,出现ORA-39171、ORA-03233报错
在使用数据泵导入dmp时,出现下面的报错:


出现上面的问题,有两个原因:
1、表空间大小不够,或者设置了自动扩充,但是自动扩充的大小不够大。
2、表空间足够大,但是表空间的block不够,因为oracle 的dba(data block address)是32 bits的,其中block id占了22bits,file id占了10bits,所以datafile能达到的最大size就是2^22*db_block_size也就是4194304*db_block_size,4k的blocksize那么它的datafile max size就是16G,8k的blocksize那么它的datafile max size就是32G。

针对第一个问题,解决方法:
ALTER DATABASE
    DATAFILE 'D:/database/XXX.DBF' AUTOEXTEND
    ON NEXT 20G MAXSIZE UNLIMITED;

针对第二个问题,解决方法:
alter tablespace tablespaceName add datafile 'D:/database/XXX01.DBF' size 30G;