exp/imp命令以及commit=y参数

imp user1/user1 tables=t1 file=exp_1.dmp,exp_2.dmp,exp_3.dmp,exp_4.dmp,exp_5.dmp,exp_6.dmp,exp_7.dmp log=imp_t1.log ignore=y


. . importing table               "T1"
IMP-00058: ORACLE error 30036 encountered
ORA-30036: unable to extend segment by 8 in undo tablespace 'UNDOTBS1'
IMP-00028: partial import of previous table rolled back: 14351923 rows rolled back
IMP-00017: following statement failed with ORACLE error 2264:
About to enable constraints...
Import terminated successfully with warnings.

查看undo表空间已经使用了32G,由于8k数据块下一个dbf最大是32G,所以imp导入时就报错了,一查这个表,发现0条数据,原因是当imp时如果不加commit=y的话,那么所有的数据都是要最后一起提交的,那么就个就需要占用相当大的undo表空间了,所以当我们加了commit=y之后,错误就没在发生。但是由于频繁的commit,所以导入的性能是会受到影响的。

imp user1/user1 tables=t1 file=exp_1.dmp,exp_2.dmp,exp_3.dmp,exp_4.dmp,exp_5.dmp,exp_6.dmp,exp_7.dmp log=imp_t1.log ignore=y commit=y

展开阅读全文

没有更多推荐了,返回首页