CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Oracle >  高级技术

超大表IMP导入出错???求救

楼主killserver(killserver)2005-01-25 15:48:46 在 Oracle / 高级技术 提问

有一张有2G的表,它有86个FLOAT类型的字段,现在我想把他迁移到别一个服务器上去。在EXP导出时没问题,但在IMP导入里出现以下错误:  
   
  连接到:   Oracle9i   Enterprise   Edition   Release   9.2.0.1.0   -   Production  
  With   the   Partitioning,   OLAP   and   Oracle   Data   Mining   options  
  JServer   Release   9.2.0.1.0   -   Production  
   
  经由常规路径导出由EXPORT:V09.02.00创建的文件  
  已经完成ZHS16GBK字符集和AL16UTF16   NCHAR   字符集中的导入  
  .   .   正在导入表                                 "TAHE_SZJT_AC08"  
  IMP-00009:   导出文件异常结束  
  IMP-00020:   用于列缓冲区大小   (22)   的长整数列过大  
  IMP-00028:   上一个表的部分导入已回退:   回退   120372   行  
  成功终止导入,但出现警告。  
   
  请教各位大侠这是为什么?怎么解决? 问题点数:100、回复次数:18Top

1 楼playmud((猪头流氓)(抵制日货)(热烈庆祝火箭输球))回复于 2005-01-25 15:57:42 得分 0

需要按照一定的条件分开导,大于2.XXXXG大小的文件你的系统   不支持.Top

2 楼playmud((猪头流氓)(抵制日货)(热烈庆祝火箭输球))回复于 2005-01-25 15:59:22 得分 0

不知道说得是不是够明白了,就是说你的操作系统只能支持某个容量的文件.而你的数据大于这个容量Top

3 楼jsnicle(js_nicle)回复于 2005-01-25 16:05:52 得分 10

再试一下,用交互式导入,把缓冲区设置大一些Top

4 楼jsnicle(js_nicle)回复于 2005-01-25 16:08:02 得分 20

C:\Documents   and   Settings\Administrator>exp  
   
  Export:   Release   10.1.0.2.0   -   Production   on   星期二   1月   25   16:07:32   2005  
   
  Copyright   (c)   1982,   2004,   Oracle.     All   rights   reserved.  
   
   
  Username:   scott/tiger  
   
  Connected   to:   Oracle   Database   10g   Enterprise   Edition   Release   10.1.0.2.0   -   Produc  
  tion  
  With   the   Partitioning,   OLAP   and   Data   Mining   options  
  Enter   array   fetch   buffer   size:   4096   >   8192  
   
   
  设置成4096的倍数,尽量的大些试试Top

5 楼hippie1024(努力必有痕迹)回复于 2005-01-25 16:17:12 得分 10

1,先试一下在imp   时   buffer=5000000   commit=y  
  2,还不行,就看看原来表是不是有函数索引,Unsed   Columns。如果有删除了在重新导出。  
  3,还不行,可能是文件传输时损坏了,把原来文件在考一份过来(最好不要用FTP传)  
  4,还不行,可能就是bug了,你该去把该打的补丁都大上再试试了Top

6 楼LGQDUCKY(飘)回复于 2005-01-25 16:37:43 得分 10

只要把   buffer=99999999   加大写就OK了,根据实际物理内存而顶  
   
   
  imp   user/pass       file=xx       full=y   buffer=99999999Top

7 楼daydayupliq(敞开胸怀!)回复于 2005-01-25 16:48:19 得分 10

这里有些资料:  
  案例1:http://www.cnoug.org/viewthread.php?tid=36652  
  Q:请问各位怎样提高imp导入的速度呀?  
   
  数据库的文件大小是800M,exp的时候花了7分钟,然后我把文件拷到另一台机子上做imp导入花了一个小时都没有导完,好像死机一样,请问各位怎样提高imp的速度呀?其有一个表的字段是blob类型的。语句是这样的。  
   
  $imp   username/password@sid   file=aa.dmp   fromuser=aa   touser=aa   ignore=y   buffer=40960000;    
   
  A:  
  800M怎么可能imp这么长时间???我们几百个G的东西也不过1小时内搞定  
   
  优化,不要动态分配资源(先建好各种空间)  
  也可以考虑分步,先把定义ddl导出,改一改(看看那些initial就知道要改了-如果是9i以前的版本),再导入定义.然后再导入数据  
   
  进一步优化可以考虑不导入索引,把约束关掉;导完数据然后再重建和使约束生效  
   
  调整share_pool、large_pool,检查SGA,PGA  
   
   
   
  http://www.itpub.net/showthread.php?s=&threadid=298089  
   
  有關提高export/import速度的討論!    
  對於export/import我有以下幾個疑問:  
  1.如何使得export更快?  
  2.Buffer這個參數的設置,到底有哪些考慮的因數?該如何設置?  
  3.commit這個參數到底是=n還是=y好?  
  4.在import時,下面哪種方法最快?  
   A:   先   imp   rows=y   constraints=n   indexes=n  
  然後   imp   rows=n   constraints=y   indexes=y  
   
  B:   先    imp   rows=y   constraints=y   indexes=n  
  然後   imp   rows=n   constraints=n   indexes=y  
   
  C:   先    imp   rows=y   constraints=y   indexes=n  
  然後   imp   rows=n   constraints=n   indexfile=test.idx  
   再提取test.idx裡面的內容手動對index進行重建。  
   
  5.上面indexfile=test.idx的test.idx文件中,會包含這些table的constraints內容嗎  
   
   
  dx6340  
  先imp   data,   再创建index,   这样更快。commit=y  
   
   
  husthxd  
  imp   rows=n   constraints=n   indexes=n  
  imp   rows=y    
  --   用脚本创建约束和索引  
  refrence:  
  http://blog.itpub.net/post/11/4651  
  http://blog.itpub.net/post/11/4192  
   
  1.imp的buffer在主机内存充裕的情况下越大越好,当然有最大值的限制  
  2.如果磁盘空间充裕,undo表空间扩展不成问题的话,用默认值commit=n.  
  3.用toad或者其他第三方工具导出约束、索引创建语句。  
   
  btw:38g的导出文件,设置buffer=1g,imp后创建约束和索引,在8个小时内导入完毕。索引和约束创建1个小时完成。总共只需要10个小时不到完成数据迁移。  
  主机是hp   n5000,8cpu,8g   memory.  
  工具是用来提高生产效率的。  
  有工具为何不用?  
  用toad而不用imp时指定indexfile=test.idx是因为觉得方便。  
  没其他更好的理由了。  
   
   
   
   
   
  jlandzpa  
  1.log_buffer调大  
  2.如果是归档模式,先改成非归档.  
  3.redo加大  
   
   
   
  biti_rainy  
  1.如何使得export更快?  
  export   direct=y   快  
   
  2.Buffer這個參數的設置,到底有哪些考慮的因數?該如何設置?  
   
  内存足够自然大比较好  
   
  3.commit這個參數到底是=n還是=y好?  
   
  commit   =   n   则表示当一个表的数据imp完毕之后才提交,y   表示当设置的buffer   满的时候提交,n需要更多的回滚段,y则如果一个表中途imp失败只能回滚部分数据,重新imp需要处理这个情况。对于性能来说难说有多大的影响。  
   
  4.在import時,下面哪種方法最快?  
   
  如果约束和索引是分离的,索引不创建,那   主键和唯一约束如何生效?主键和唯一约束的生效一定是要先建立相关索引的。  
   
  5.上面indexfile=test.idx的test.idx文件中,會包含這些table的constraints內容嗎?  
  纸上得来终觉浅,为何不动手一看  
  Top

8 楼CiCi_sam(觉得好,就支持下!)回复于 2005-01-25 17:53:06 得分 5

同意楼上的说法!Top

9 楼hippie1024(努力必有痕迹)回复于 2005-01-25 18:58:26 得分 10

怎么变成讨论效率问题了?  
  呵呵,我是这样做的  
  调大redo   log,log_buffer,非归档模式  
  IMP   时 rows=y   constraints=n   indexes=n buffer=4096000   commit=y   indexfile=test.idx  
  然后调大sort_area_size。(1.5倍最大索引占用空间)  
  修改test.idx文件,让索引以nologging方式创建。  
  执行test.idx。  
   
  IMP性能基本最大化了:)Top

10 楼llm06(blacksheep)回复于 2005-01-26 08:57:32 得分 10

缓冲区设的大一些  
  使用commit=yTop

11 楼liuyi8903(不让疑问伴随)回复于 2005-01-27 12:49:37 得分 0

支持所有的观点:)Top

12 楼killserver(killserver)回复于 2005-01-27 16:13:48 得分 0

谢谢。搞定了,还有一个问题,ORACLE数据库有增量备份、差异备份吗,用EXP可以吗?Top

13 楼freddy2003()回复于 2005-01-27 16:20:58 得分 10

9i已经不支持增量备份、差异备份,8i可以的Top

14 楼ashzs((可以包含中文字符))回复于 2005-01-27 16:22:58 得分 0

用EXP可以实现增量备份!但是不推荐使用!如果是专用服务器你就用rman吧!Top

15 楼jiangchuanli(大山)回复于 2005-01-28 15:56:54 得分 5

我用oracle817出过此问题,解决方式:  
  把此用户的表空间建成一个5G的,再建一个回滚段为5G的就可以了。  
  Top

16 楼showmetoyou(好的)回复于 2005-02-02 10:25:56 得分 0

增量备份还是做一个包比较安全,取得最大行数,加1再insert!Top

17 楼dobetterthatnthink(如果你没有那么多的选择)回复于 2005-02-02 14:47:39 得分 0

你还不如直接copy数据文件,然后用这个文件建立数据库。有记得有人这样做过,Top

18 楼smallcrocodile(大鳄鱼)回复于 2005-02-24 15:56:54 得分 0

关注!Top

相关问题

  • IMP导入数据时出错。。。在线等,急。。。
  • 数据库导入问题,用imp导入的出错问题,急!!!!在线等呢。
  • Oracle导入出错一问
  • 数据导入出错
  • 导入txt文档出错
  • sqlloader导入数据出错
  • IMP 出错
  • imp导入
  • imp 从A用户含有主键导入b 用户出错?如何处理???救命。。。
  • Oracle导入数据库出错!请进

关键词

  • .net
  • 文件
  • 数据
  • 内存
  • 数据库
  • exp
  • imp
  • 导入
  • 這個參數
  • 索引

得分解答快速导航

  • 帖主:killserver
  • jsnicle
  • jsnicle
  • hippie1024
  • LGQDUCKY
  • daydayupliq
  • CiCi_sam
  • hippie1024
  • llm06
  • freddy2003
  • jiangchuanli

相关链接

  • Oracle类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo