环境:win 2000 server ,oracle 8.17 (imp)
win nt 4.0, oracle 7.3 (exp)
问题:oracle 7.3 全部 exp
oracle 8.17 下
imp system/mamanger full=y file=c:\dmp.dmp ignore=y commit=y;
报错:IMP-00003: error 2237 encountered
ORA-02237: invalid file size
说明:1、一表空间TSP_INPBILL(inpbill用户)超过2G,实际存储数据1.7G,invaid size 指的就是该表;
2、imp system/mamanger fromuser=inpbill file=c:\dmp.dmp ignore=y commit=y;可以执行;
3、oracle 7.3 下 remote 表空间TSP_INPBILL,删不掉,报错。
win nt 4.0, oracle 7.3 (exp)
问题:oracle 7.3 全部 exp
oracle 8.17 下
imp system/mamanger full=y file=c:\dmp.dmp ignore=y commit=y;
报错:IMP-00003: error 2237 encountered
ORA-02237: invalid file size
说明:1、一表空间TSP_INPBILL(inpbill用户)超过2G,实际存储数据1.7G,invaid size 指的就是该表;
2、imp system/mamanger fromuser=inpbill file=c:\dmp.dmp ignore=y commit=y;可以执行;
3、oracle 7.3 下 remote 表空间TSP_INPBILL,删不掉,报错。
这是oracle的imp的一个bug,bug号好像是226644,当imp建表空间使用超过2G的数据文件时,可能出现这个问题。
解决方法很简单,你手动把TSP_INPBILL建上,在做imp时使用ignore=y 就可以了。对于你的小3,我没明白具体情况是怎样的。
对于问题1:
你手动建表空间指定的文件大小应和原来一样,
SELECT TABLESPACE_NAME, FILE_NAME, BYTES FROM DBA_DATA_FILES; 可以查到
要不你这样来一次也行
a、imp user/password full=y rows=n show=y log=<logname>
b、在日志文件的头几行便有建该空间的语句
c、手动再建一次。
d、如再不行,我也不知道了,我是用8.0.5往oracle8.1.6测试的。
对于问题2:
这样试一下:
sql>DROP TABLESPACE TSP_INPBILL INCLUDING CONTENTS CASCADE CONSTRAINTS;
这是8i的语法,不知在7.3如何,
要不你先把该表空间所有表的constraint都drop掉,再做。
错误代码:IMP-00003: error 2237 encountered
ORA-02237: invalid file size
请告诉我你的信箱,我把详细的信息发给你。
我的信箱:[email protected]
版主的回答和metalink上是一致的。如果你还有导库的机会,你把表拆开导,看看行不行,要创建两个-多个新的小表,然后在新数据库上组合。
我现在是想oracle7.3升级oracle8.17,需全库exp,imp,我想变通一下,先exp inpbill/inpbill,然后,删除tsp_inpbill表空间,但删除系统也不让。
SVRMGR> connect internal
SVRMGR> @c:\orant\rdbms80\admin\catexp7.sql
SVRMGR> exit imp80 system/manager file=d:\200306.dmp full=y indexes=y constraints=y