求助大神,新人初学Oracle在数据导入的过程中遇到问题,有没有亲们能帮忙看看怎么解决!!!

fenghuanggf23 2017-09-12 08:52:55
新人初学Oracle,在导入一个DMP数据的过程中一直报错
在网上查阅方法都解决不了,然后我自己试了下新建了一个VEHICLE_POSITION表,然后进行导入,还是会报错,但是提示表不存在的报错没了,报错是这样
权限不足的问题,按照网上查阅的方案也是解决不了,给新建用户该授予的权限也都授予了,然后我试了在Oracle默认用户新建表格VEHICLE_POSITION,然后导入的默认用户中,还是不成功,但是什么错误都不提示了
求助各位大神,指导一下。
...全文
430 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
fenghuanggf23 2017-09-13
  • 打赏
  • 举报
回复
引用 3 楼 minsic78 的回复:
[quote=引用 2 楼 fenghuanggf23 的回复:] [quote=引用 1 楼 minsic78 的回复:] 导出和导入语句是怎样的?
imp Imp c##GF/123456 file=D:\app\GF\oradata\VEHICLE_POSITION_20150612.dmp full=y ignore=y[/quote] 你这只是两个用户之间对象的导出和导入,就别用full了,用fromuser=taxicd touser=c##GF 就够了[/quote] 你说的这个也试过,跟用full一样的
fenghuanggf23 2017-09-13
  • 打赏
  • 举报
回复
引用 2 楼 fenghuanggf23 的回复:
[quote=引用 1 楼 minsic78 的回复:] 导出和导入语句是怎样的?
imp Imp c##GF/123456 file=D:\app\GF\oradata\VEHICLE_POSITION_20150612.dmp full=y ignore=y[/quote] 从别处拿到的数据,不知道导出语句,导入语句就是上面这个,嗯多写了一个imp
minsic78 2017-09-13
  • 打赏
  • 举报
回复
引用 2 楼 fenghuanggf23 的回复:
[quote=引用 1 楼 minsic78 的回复:] 导出和导入语句是怎样的?
imp Imp c##GF/123456 file=D:\app\GF\oradata\VEHICLE_POSITION_20150612.dmp full=y ignore=y[/quote] 你这只是两个用户之间对象的导出和导入,就别用full了,用fromuser=taxicd touser=c##GF 就够了
fenghuanggf23 2017-09-13
  • 打赏
  • 举报
回复
引用 1 楼 minsic78 的回复:
导出和导入语句是怎样的?
imp Imp c##GF/123456 file=D:\app\GF\oradata\VEHICLE_POSITION_20150612.dmp full=y ignore=y
minsic78 2017-09-13
  • 打赏
  • 举报
回复
引用 16 楼 fenghuanggf23 的回复:
[quote=引用 15 楼 minsic78 的回复:] [quote=引用 14 楼 fenghuanggf23 的回复:] [quote=引用 13 楼 minsic78 的回复:] 如果你先把表VEHICLE_POSITION建了,然后再导入只会报错ORA-1031,那么还可以尝试先把表建了,然后再用indexfile参数来生成DDL语句,看看能不能找到点线索,是不是没有VEHICLE_POSITION这张表的定义。
照你说的在用户下新建表格VEHICLE_POSITON后,用indexfile,还是不成功,生成的文件只有这两行[/quote] 看这贴图,怎么像是分区表定义的存储部分,但又不全,难不成是dmp文件损坏了,有长表没能建起来?所以最后才会找不到表来建上约束。[/quote] 正常情况就是那个数据里面有个表VEHICLE_POSITION,然后前面就把这个表格写入了,然后再执行约束条件,但是我现在就是这个表格实际上是没导入进去的,所以说执行约束条件失败,找不到表格。 如果我自己新建一个表格VEHICLE_POSITION,执行约束条件这步就能找到表格了,但是因为没写入数据,所以最后结束啥数据也没有。 大神,问题的原因是我这样理解的么 [/quote] 对,如果说dmp文件损坏,或者本身文件中没有VEHICLE_POSITION这张表,那么这一切都可以得到解释了,就如你所言。
minsic78 2017-09-13
  • 打赏
  • 举报
回复
导出和导入语句是怎样的?
fenghuanggf23 2017-09-13
  • 打赏
  • 举报
回复
引用 15 楼 minsic78 的回复:
[quote=引用 14 楼 fenghuanggf23 的回复:] [quote=引用 13 楼 minsic78 的回复:] 如果你先把表VEHICLE_POSITION建了,然后再导入只会报错ORA-1031,那么还可以尝试先把表建了,然后再用indexfile参数来生成DDL语句,看看能不能找到点线索,是不是没有VEHICLE_POSITION这张表的定义。
照你说的在用户下新建表格VEHICLE_POSITON后,用indexfile,还是不成功,生成的文件只有这两行[/quote] 看这贴图,怎么像是分区表定义的存储部分,但又不全,难不成是dmp文件损坏了,有长表没能建起来?所以最后才会找不到表来建上约束。[/quote] 正常情况就是那个数据里面有个表VEHICLE_POSITION,然后前面就把这个表格写入了,然后再执行约束条件,但是我现在就是这个表格实际上是没导入进去的,所以说执行约束条件失败,找不到表格。 如果我自己新建一个表格VEHICLE_POSITION,执行约束条件这步就能找到表格了,但是因为没写入数据,所以最后结束啥数据也没有。 大神,问题的原因是我这样理解的么
minsic78 2017-09-13
  • 打赏
  • 举报
回复
引用 14 楼 fenghuanggf23 的回复:
[quote=引用 13 楼 minsic78 的回复:] 如果你先把表VEHICLE_POSITION建了,然后再导入只会报错ORA-1031,那么还可以尝试先把表建了,然后再用indexfile参数来生成DDL语句,看看能不能找到点线索,是不是没有VEHICLE_POSITION这张表的定义。
照你说的在用户下新建表格VEHICLE_POSITON后,用indexfile,还是不成功,生成的文件只有这两行[/quote] 看这贴图,怎么像是分区表定义的存储部分,但又不全,难不成是dmp文件损坏了,有长表没能建起来?所以最后才会找不到表来建上约束。
fenghuanggf23 2017-09-13
  • 打赏
  • 举报
回复
引用 13 楼 minsic78 的回复:
如果你先把表VEHICLE_POSITION建了,然后再导入只会报错ORA-1031,那么还可以尝试先把表建了,然后再用indexfile参数来生成DDL语句,看看能不能找到点线索,是不是没有VEHICLE_POSITION这张表的定义。

照你说的在用户下新建表格VEHICLE_POSITON后,用indexfile,还是不成功,生成的文件只有这两行
minsic78 2017-09-13
  • 打赏
  • 举报
回复
如果你先把表VEHICLE_POSITION建了,然后再导入只会报错ORA-1031,那么还可以尝试先把表建了,然后再用indexfile参数来生成DDL语句,看看能不能找到点线索,是不是没有VEHICLE_POSITION这张表的定义。
minsic78 2017-09-13
  • 打赏
  • 举报
回复
引用 11 楼 fenghuanggf23 的回复:
[quote=引用 9 楼 minsic78 的回复:] 补充下,忘了提醒了,如果打开了1031的errorstack,那么跟踪完毕后记得将其关闭: alter system set events '1031 trace name errorstack off';
谢谢你的建议,1031的问题已经解决了,那个942的问题一直没解决。[/quote] 看你的第一张贴图,看上去像是数据导入已经全部完成了的,只是在添加约束的时候报错了,所以照理说,如果这张VEHICLE_POSITION应该是已经导入了的,除非dmp文件中确实不包含这张表,如果不是这种情况,那就比较奇葩了,除了打开942错误的errorstack来诊断外,也没什么好办法了。
fenghuanggf23 2017-09-13
  • 打赏
  • 举报
回复
引用 9 楼 minsic78 的回复:
补充下,忘了提醒了,如果打开了1031的errorstack,那么跟踪完毕后记得将其关闭:
alter system set events '1031 trace name errorstack off';

谢谢你的建议,1031的问题已经解决了,那个942的问题一直没解决。
fenghuanggf23 2017-09-13
  • 打赏
  • 举报
回复
引用 9 楼 minsic78 的回复:
补充下,忘了提醒了,如果打开了1031的errorstack,那么跟踪完毕后记得将其关闭:
alter system set events '1031 trace name errorstack off';

谢谢你的建议,1031的问题已经解决了,那个942的问题一直没解决。
minsic78 2017-09-13
  • 打赏
  • 举报
回复
补充下,忘了提醒了,如果打开了1031的errorstack,那么跟踪完毕后记得将其关闭: alter system set events '1031 trace name errorstack off';
minsic78 2017-09-13
  • 打赏
  • 举报
回复
引用 7 楼 fenghuanggf23 的回复:
[quote=引用 6 楼 minsic78 的回复:] 仔细看了下主题贴,如果不是BUG之类的缘故,有没有这么个可能? 这张导入的表上的约束或者说主键包含的唯一索引是属于其他用户,而不是TAXICD用户的?楼主可以通过imp的INDEXFILE选项来生成该表的DDL语句看下,很可能就是这种表与索引属于不同用户的情况,如果是这样的话就比较好处理了: 先通过INDEXFILE选项得到的DDL语句创建表,如果表数据量比较小的话,可以把主键也先建上,然后再通过ignore=y或者data_only=y参数来完成数据的导入,如果表数据量比较大,那么可以先导入数据,导入完成之后再加主键。
是用imp c##GF/123456 file=D:\app\GF\oradata\VEHICLE_POSITION.dmp indexfile=D:\app\GF\oradata\VEHICLE_POSITION.idx full=y这个语句吗,我用这个也报错了[/quote] 如果这样的话,如果想要判断清楚具体问题就比较麻烦了,如果是生产数据库的话以下操作要慎重: 1、打开全库一级的1031错误跟踪: alter system set events '1031 trace name errorstack forever, level 3'; 2、imp导入,报错,找到imp会话对应的trc文件,通常是最新的跟踪文件,如果是11g,跟踪文件的目录在user_dump_dest实例参数指定的目录下,按照文件时间戳倒序找吧 3、找到跟踪文件后,可以看到更多关于ORA-1031错误的信息,可以做进一步的诊断。 如果是生产库,觉得这么做有隐患,或者觉得以上过程太麻烦了,那么建议联系数据源的数据库管理员,去看看这张表上的约束有何特别之处,除了是不是属于其他用户之外,还应该考虑是否会有外键引用其他用户的对象,而这个用户,在目标库中是不存在的。 另外,实际上imp已经到了启用约束这一步,表里的数据应该是导入的,如果只要数据的话,到这一步就已经OK了,如果你每次使用ignore=y来导入数据,这张表里的数据可能已经有重复的了。
fenghuanggf23 2017-09-13
  • 打赏
  • 举报
回复
引用 6 楼 minsic78 的回复:
仔细看了下主题贴,如果不是BUG之类的缘故,有没有这么个可能? 这张导入的表上的约束或者说主键包含的唯一索引是属于其他用户,而不是TAXICD用户的?楼主可以通过imp的INDEXFILE选项来生成该表的DDL语句看下,很可能就是这种表与索引属于不同用户的情况,如果是这样的话就比较好处理了: 先通过INDEXFILE选项得到的DDL语句创建表,如果表数据量比较小的话,可以把主键也先建上,然后再通过ignore=y或者data_only=y参数来完成数据的导入,如果表数据量比较大,那么可以先导入数据,导入完成之后再加主键。
是用imp c##GF/123456 file=D:\app\GF\oradata\VEHICLE_POSITION.dmp indexfile=D:\app\GF\oradata\VEHICLE_POSITION.idx full=y这个语句吗,我用这个也报错了
minsic78 2017-09-13
  • 打赏
  • 举报
回复
仔细看了下主题贴,如果不是BUG之类的缘故,有没有这么个可能? 这张导入的表上的约束或者说主键包含的唯一索引是属于其他用户,而不是TAXICD用户的?楼主可以通过imp的INDEXFILE选项来生成该表的DDL语句看下,很可能就是这种表与索引属于不同用户的情况,如果是这样的话就比较好处理了: 先通过INDEXFILE选项得到的DDL语句创建表,如果表数据量比较小的话,可以把主键也先建上,然后再通过ignore=y或者data_only=y参数来完成数据的导入,如果表数据量比较大,那么可以先导入数据,导入完成之后再加主键。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧