Chinaunix首页 | 论坛 | 博客
  • 博客访问: 721634
  • 博文数量: 94
  • 博客积分: 1937
  • 博客等级: 上尉
  • 技术积分: 1618
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-04 18:46
个人简介

专注数据库开发管理

文章分类

全部博文(94)

文章存档

2015年(1)

2014年(2)

2013年(19)

2012年(32)

2011年(10)

2010年(30)

分类:

2010-12-17 11:28:09

这两天遇到一个由于使用自定义类型导致dmp文件无法导入的问题,网上提问的多,但响应较少。
最后得到一网友提示用imp工具中indexfile参数并参考《Expert ORACLE》,终于解决了问题。
《Expert ORACLE》中写的比较详细,E文不好,请参考下面的链接:

imp操作步骤:
1、将dmp文件导入数据库
C:\TMP> imp test/test@orcl file=expdat.dmp log=impdat.log ignore=y fromuser=test touser=test
2、检查impdat.log,把所有含create type的sql找出来并整理脚本,将含OID=‘XXXXXXXXXXXXX’删除,再用test登录数据库,将这些type手工建一遍
3、再用imp工具生成indexfile,此时不会再导入数据,但会生成一test.sql脚本
C:\TMP> imp test/test@orcl file=expdat.dmp log=impdat.log ignore=y fromuser=test touser=test indexfile=test.sql
4、整理test.sql,去掉REM注释及OID等 ,用test登录数据库,执行该脚本
5、用imp工具将未导入的表重新导入一次。
C:\TMP> imp test/test@orcl file=expdat.dmp log=impdat.log ignore=y fromuser=test touser=test tables=(tableA ,TableB,……)

供同样被此问题困扰的朋友参考,欢迎指正。


以下是网上搜来的一段LOG,与我的问题类似。
-----------------------------------------------------------------------------------------
C:\> imp 

Import:   Release   9.2.0.1.0   -   Production   on   星期二   7月   1   11:13:42   2003 

Copyright   (c)   1982,   2002,   Oracle   Corporation.     All   rights   reserved. 

用户名:     liu/liu@njhk 

连接到:   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 

导入文件:   EXPDAT.DMP>   d:\asmes.dmp 

输入插入缓冲区大小(最小为   8192   )   30720> 

经由常规路径导出由EXPORT:V09.02.00创建的文件 

警告:   此对象由   ASMES   导出,   而不是当前用户 

已经完成ZHS16GBK字符集和AL16UTF16   NCHAR   字符集中的导入 
只列出导入文件的内容   (yes/no):   no   > 

由于对象已存在,   忽略创建错误   (yes/no):   no   > 

导入权限   (yes/no):   yes   > 

导入表数据   (yes/no):   yes   > 

导入整个导出文件   (yes/no):   no   >   yes 

.   正在将ASMES的对象导入到   LIU 
IMP-00017:   由于   ORACLE   的   2304   错误,以下的语句失败 
  "CREATE   TYPE   "航路段_序列 "   TIMESTAMP   '2002-12-02:10:54:02 '   OID   'DE50C0F611F1 " 
  "4AE78857BE3745432F2F '                                                                                                             " 
  "                                             AS   TABLE   OF   NUMBER(5,0); " 
IMP-00003:   遇到   ORACLE   错误   2304 
ORA-02304:   无效的对象标识文字 

.   .   正在导入表     "飞情区边界线_边界点序列__TAB "                 127行被导入 
.   .   正在导入表                         "飞行时间经验数据表 "                 101行被导入 
.   .   正在导入表                                                 "覆盖表 "                     0行被导入 
.   .   正在导入表                                         "各点数据表 "                 549行被导入 
.   .   正在导入表                                       "关闭L路径表 "                 194行被导入 
.   .   正在导入表                                             "管制地带 "                     0行被导入 
.   .   正在导入表                                 "管制地带边界线 "                     0行被导入 
.   .   正在导入表     "管制地带边界线_边界点序列_TAB "                     0行被导入 
.   .   正在导入表                                                 "管制区 "                   70行被导入 
.   .   正在导入表                                     "管制区边界线 "                   70行被导入 
.   .   正在导入表       "管制区边界线_边界点序列_TAB "                 768行被导入 
.   .   正在导入表                             "广州区域航线结构 "                   16行被导入 
IMP-00063:   警告:   跳过表   "LIU ". "航班航线 ",因为无法创建对象类型   "LIU ". "航路段_序 
列 "   或它具有不同的标识符 
.   .   正在导入表                                         "航班时刻表 "               5053行被导入 
.   .   正在导入表                                     "航迹融合数据 "                 686行被导入 
.   .   正在导入表                                         "航空器性能 "                   63行被导入 
IMP-00063:   警告:   跳过表   "LIU ". "航路 ",因为无法创建对象类型   "LIU ". "航路段_序列 " 
或它具有不同的标识符 
.   .   正在导入表                                                 "航路点 "               2542行被导入 
.   .   正在导入表                                                 "航路段 "               1222行被导入 
.   .   正在导入表                         "航路容量评估结果表 "                   16行被导入 
.   .   正在导入表                                     "航线高度配备 "                     1行被导入 
.   .   正在导入表                                             "弧线点表 "                   61行被导入 
.   .   正在导入表                                     "华北区域边界 "                     2行被导入 
.   .   正在导入表                             "华北区域航线结构 "                   26行被导入 
.   .   正在导入表                                                 "滑行道 "                     0行被导入 
.   .   正在导入表                                                     "机场 "                 503行被导入 
.   .   正在导入表                                     "建筑点数据表 "                 249行被导入 
.   .   正在导入表                                                 "进出点 "                 155行被导入 
.   .   正在导入表                                         "三区边界线 "                 225行被导入 
.   .   正在导入表           "三区边界线_边界点序列_TAB "               1216行被导入 
.   .   正在导入表                                                     "扇区 "                   93行被导入 
.   .   正在导入表                                         "扇区边界线 "                   93行被导入 
.   .   正在导入表           "扇区边界线_边界点序列_TAB "             40714行被导入 
.   .   正在导入表                                             "实际航班 "                 791行被导入
.   .   正在导入表                                                 "脱离道 "                     0行被导入 
.   .   正在导入表                                                 "位置点 "                   75行被导入 
.   .   正在导入表                         "位置推算调整输出表 "                   12行被导入 
.   .   正在导入表       "位置推算临时数据表_初始预计 "                   12行被导入 
.   .   正在导入表                                 "预测模型参数表 "                     0行被导入 
.   .   正在导入表                                     "月度流量统计 "                     0行被导入 
.   .   正在导入表                                                 "障碍物 "                     0行被导入 
.   .   正在导入表                                     "障碍物数据表 "                   90行被导入 
.   .   正在导入表                     "终端区容量评估参数表 "                   46行被导入 
.   .   正在导入表                             "终端区容量数据表 "                   99行被导入 
.   .   正在导入表                 "终端区实际飞行评估结果 "                   50行被导入 
.   .   正在导入表                                     "总局停机位表 "                 114行被导入 
IMP-00017:   由于   ORACLE   的   942   错误,以下的语句失败 
  "ALTER   TABLE   "航班时刻表 "   ADD   CONSTRAINT   "航班时刻表_航班航线ID_FK "   FOREIGN   " 
  "KEY   ( "航班航线ID ")   REFERENCES   "航班航线 "   ( "航班航线ID ")   ENABLE   NOVALIDATE " 
IMP-00003:   遇到   ORACLE   错误   942 
ORA-00942:   表或视图不存在 
IMP-00017:   由于   ORACLE   的   942   错误,以下的语句失败 
  "ALTER   TABLE   "航线高度配备 "   ADD   CONSTRAINT   "航线高度配备_航班航线ID_FK "   FORE " 
  "IGN   KEY   ( "航班航线ID ")   REFERENCES   "航班航线 "   ( "航班航线ID ")   ENABLE   NOVALIDA " 
  "TE " 
IMP-00003:   遇到   ORACLE   错误   942 
ORA-00942:   表或视图不存在 
IMP-00017:   由于   ORACLE   的   942   错误,以下的语句失败 
  "CREATE   TRIGGER   "LIU ".航班航线_update_trigger " 
  "BEFORE   UPDATE   OF   航班航线ID   ON   航班航线 " 
  "FOR   EACH   ROW " 
  "BEGIN " 
  "             RAISE_APPLICATION_ERROR(-20008, '航班航线_update_trigger: ' '航班航线ID ' '字 
段 " 
  "的值由序列自动生成,不能进行人工修改 '); " 
  "END; " 
IMP-00003:   遇到   ORACLE   错误   942 
ORA-00942:   表或视图不存在 
IMP-00017:   由于   ORACLE   的   942   错误,以下的语句失败 
  "CREATE   TRIGGER   "LIU ".航路_update_trigger " 
  "BEFORE   UPDATE   OF   航路ID   ON   航路 " 
  "FOR   EACH   ROW " 
  "BEGIN " 
  "             RAISE_APPLICATION_ERROR(-20006, '航路_update_trigger: ' '航路ID ' '字段的值由 
序 " 
  "列自动生成,不能进行人工修改 '); " 
  "END; " 
IMP-00003:   遇到   ORACLE   错误   942 
ORA-00942:   表或视图不存在 
IMP-00017:   由于   ORACLE   的   942   错误,以下的语句失败 
  "ANALYZE     TABLE   "航路 "     ESTIMATE   STATISTICS   " 
IMP-00003:   遇到   ORACLE   错误   942 
ORA-00942:   表或视图不存在 
准备启用约束条件... 
IMP-00017:   由于   ORACLE   的   2430   错误,以下的语句失败 
  "ALTER   TABLE   "航班时刻表 "   ENABLE   CONSTRAINT   "航班时刻表_航班航线ID_FK " " 
IMP-00017:   由于   ORACLE   的   2430   错误,以下的语句失败 
  "ALTER   TABLE   "航线高度配备 "   ENABLE   CONSTRAINT   "航线高度配备_航班航线ID_FK " " 
成功终止导入,但出现警告。 


--- The End ---
阅读(6561) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~