记录日常工作关于系统运维,虚拟化云计算,数据库,网络安全等各方面问题。

 

导出ha 用户的表结构

expdp ha/ha directory=dump_dir dumpfile=expdp.dmp logfile=expdp.log schemas=ha content=metadata_only 

将表结构数据导入ha用户

impdp ha/ha directory=dump_dir logfile=local.impdp.log dumpfile=expdp.dmp


导出HA用户的表数据

expdp ha/ha directory=dump_dir dumpfile=gps_acc.dmp tables=GPS_ACC_STATE content=data_only

导出的HA表数据,将导入happy表空间,对应的表结构已经建好。

impdp happy/happy directory=dump_dir dumpfile=gps_acc.dmp tables=GPS_ACC_STATE remap_schema=ha:happy



 . 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 log=imp_t1.log ignore=y  buffer=102400000 commit=y statistics=none

statistics=none 参数,不使用统计信息,不然,会导致锁表。
将buffer 缓存设置成100M,如果我的SGA与配置足够好。可以加在buffer。



转载请标明出处【IMP-00058 ORACLE 30036 undo表空间爆满】。

《www.micoder.cc》 虚拟化云计算,系统运维,安全技术服务.

网站已经关闭评论