暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle Sqoop ojdbc8.jar抛出错误ORA-06502:PL/SQL:: 数值或值错误

ASKTOM 2020-02-10
503

问题描述

嗨,汤姆,

我们正在尝试从Oracle将sqoop导入到hive,并在下面遇到一个奇怪的错误:

警告 [主] org.apache.hadoop.mapred.YarnChild: 异常运行子: java.io.IOException:
java.sql.Sqlexceion:
ORA-00606: 在递归SQL级别1发生错误

ORA-06502:PL/SQL: 数值或值错误: 字符串缓冲区太小
ORA-06512: 在第25行
在oracle.jdbc.驱动程序.T4CCTTloer11.processError(T4CTTloer11.java:494

问题似乎来自ojdbc8,下面的jar版本:

java -jar。/usr/lib/sqoop/lib/ojdbc8.jar
Oracle 12.2.0.1.0 JDBC 4.2在2016年12月13日星期二用javac 1.8.0 _ 91编译: 08:31
默认连接属性资源
Mon 2月10日16:50:46 AEDT 2020

请注意,该表没有clob/blob列,只有最多12个字节的数字和最多30个字节的VARCHAR。即使表为空,作业也会以相同的错误失败。

下面的Sqoop命令:

sqoop导入-连接jdbc:oracle: 瘦 @ (描述 = (地址 = (协议 = tcp)(主机 = xxx)(端口 = xxx)(连接 _ 数据 = (服务器 = 专用) (服务 _ 名称 = xxx)'-用户名xxx-密码xxx-删除-目标目录-hive-import-hive-数据库默认值-hive-表TXN-hive-覆盖-表TXN-target-dir /tmp/TXN -m 1-详细

问题似乎来自具有服务名称 (DF) 的主机,但不同服务名称 (DW) 上的同一主机

你能帮助理解这个问题吗

专家解答

我们应该能够检测到跟踪失败的确切语句,但我们需要自动启用跟踪,当你解雇这个工作,所以我们可以这样做:

在您的oraoop-site.xml文件中,取消注释行:

alter会话集事件 '永远10046跟踪名称上下文,级别8';

您的用户将需要 “alter session” 特权。

然后让作业再次运行,跟踪文件将包含所有语句,包括失败的语句。

如果不明显,请返回给我们进行审查,我们将查看跟踪数据。
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论