暂无图片
分享
三三两两
2019-11-15
数据泵导入数据时 ,出现ORA-01858: 在要求输入数字处找到非数字字符

ORA-39083: 对象类型 TABLE:“leo”.“test” 创建失败, 出现错误:
ORA-01858: 在要求输入数字处找到非数字字符
失败的 sql 为:
CREATE TABLExxx…
ORA-39112: 跳过从属对象类型 INDEX:“leo”.“PK_test”, 创建基本对象类型 TABLE:“leo”.“test” 失败
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/FUNCTIONAL_INDEX/INDEX
处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
ORA-39112: 跳过从属对象类型 CONSTRAINT:“leo”.“PK_test”, 创建基本对象类型 TABLE:“leo”.“test” 失败
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
ORA-39112: 跳过从属对象类型 INDEX_STATISTICS, 创建基本对象类型 INDEX:“leo”.“PK_test” 失败
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/FUNCTIONAL_INDEX/INDEX_STATISTICS

导入的时候出现这样问题,去源端表查看没有数据。什么原因呢?

收藏
分享
6条回答
默认
最新
zyt

你好,根据报错提示,在导入的过程中创建leo用户下的test表失败,然后导致后续导入过程中,依赖这张表的数据和约束都创建失败,建议可以根据提示的创建语句进行手工创建。

暂无图片 评论
暂无图片 有用 0
打赏 0
三三两两

已创建,导入第一遍将Table_exists_action为replace ,第二遍调为skip。数据对比正常,但是究竟是因为什么出现这个01858错误呢?

暂无图片 评论
暂无图片 有用 0
打赏 0
三三两两
问题已关闭: 问题已经得到解决 字符集的锅
暂无图片 评论
暂无图片 有用 0
打赏 0
zyt

你好,这个问题就涉及到数据泵导入的顺序了。由于你没有提供完整的日志,我以下面这个数据泵导入的日志为例,你可以根据这个解释对比一下你的日志就明白了。

请看如下某个impdp的日志:
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA

Processing object type SCHEMA_EXPORT/TABLE/TABLE

……

Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA

. . imported “XXXX”.“BO_DOCUMENTERRORINFO” 6.356 GB 629053 rows
. . imported “XXXX”.“BO_DOCUMENTINFO” 2.233 GB 30709961 rows
. . imported “XXXX”.“BO_PDFTEMPLATE” 4.698 MB 101 rows
. . imported “XXXX”.“BO_SYSLOG” 360.3 KB 1912 rows
. . imported “XXXX”.“BO_USER” 6.882 KB 4 rows
. . imported “XXXX”.“BO_XQUERYFILE” 16.38 KB 5 rows
Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Job “SYS”.“SYS_IMPORT_FULL_01” completed with 1 error(s) at 11:42:46

在数据泵导入的过程中,请注意标注的两行,首先导入表的结构(元数据),然后导入表中的数据。
首先创建BO_DOCUMENTERRORINFO这张表,然后再导出这张表的数据,同时日志显示这张表有6.356 G、629053行。然后再导入一脸表的对象,像索引、约束、索引的统计信息等。

关于你的问题,为什么会出现ORA-01858?也就可以理解了。请注意在报这个错前,还有一个ORA-39083提示表创建失败,按照数据泵正常的流程创建表后,应该导入数据了,但是这个时候表并未创建成功,所以后期的表中数据的导入就跟着报了ORA-01858.然后根据你的继续导入索引,约束等。

如有问题,欢迎沟通~

暂无图片 评论
暂无图片 有用 0
打赏 0
三三两两

非常感谢技术专家zyt,谢谢您的答疑解惑

暂无图片 评论
暂无图片 有用 0
打赏 0
三三两两
问题已关闭: 问题已经得到解决
暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
oracle的sql优化
回答 5
已采纳
像status这种字段,只有3个不同值,如果创建索引,后续如果有高并发的插入操作反而会产生索引分裂,影响数据库性能。
rac+dg版本升级
回答 1
可参考这篇文章:https://blog.csdn.net/qq16729455/article/details/107044671
单实例数据库时安装Grid Infrastructure的意义?
回答 6
已采纳
在单实例数据库的基础上,利用clusterware软件对其进行更高级的管理。部署过程:先装GI,再装DB,然后将DB注册到GI上,使得GI可以管理DB。注册可以在DBCA过程中自动进行,在特别情况下也
Oracle删除存储过程需要注意什么问题?
回答 1
已采纳
存储过程之间可以相互调用,如果删除了被调用的存储过程,那么重新编译时调用者会出现错误,所以在执行删除操作时最好要分清各个存储过程之间的关系。
oracle迁移DM8后如何确定每个表数据量是否有丢失?
回答 1
已采纳
不会丢数据,但存在字段类型不同的问题
Oracle某些表迁移到MySQL
回答 2
可以试下etlcloud,平台提供很多数据集成和转换功能,比较稳定
Oracle无监听怎么处理?
回答 1
配置一下listener.ora,或者配置静态监听也可以
历史的sql_id如何查询
回答 3
已采纳
如果这个语句查询很快的话,历史的视图是大概率找不到这个sqlid的,历史视图并不是记录所有执行过的语句
公司要迁移oracle单机到rac,怎么能做不停机?
回答 1
已采纳
做dg
数据泵导入的时候有谁遇到ODM的问题?
回答 1
导出时使用了parallel参数,dump文件却没使用%U,你这个导出能成功吗?看下导出日志呢。
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~