SQL*Loader报错的排查解决方案

 在使用SQL*Loader过程中是否碰到过ORA-03135: 连接失去联系的错误?是否碰到过ORA-03137: TTC 协议内部错误 的错误?该篇文章也许可以解决你的问题。

         本文为原创内容,首发微信公众号:唯一的小彬哥

        某日甲方爸爸直接联系到我反馈SQL*Loader读文件报错已经持续很久。现象是每次读多个文件都会有一两个文件报错,但是对报错的文件重新读取又可以正常处理。

排查SQL*Loader导入日志

    接到甲方爸爸的反馈后第一时间向客户要了SQL*Loader的导入日志,可以从日志中看到以下错误

图片

    看到该错误第一想法就是可能是网络或防火墙问题,想让甲方爸爸换台电脑验证。但甲方爸爸不同意,你们都还没开始干活就要让甲方爸爸干活?

        所以只好继续分析,于是打开官方文档,搜索ORA-03135。结果出来。官方对于此现象的描述是

图片

翻译过来大概的意思就是:

原因:1.服务器异常终止或者强制终止,2.连接服务器超时

所以你应该 1.检查服务器会话是否被终止。2.在sqlnet.ora中查看超时参数设置是否正确。

    明显第二步更简单,所以首先当然得查这个,排查后发现确实没有设置超时时间,但根据甲方爸爸反馈的现象我感觉和这个关系比较小,当然也是因为不能随便让甲方爸爸们干活。所以还是要把第一点也先分析一下再做决定。

查看alter日志和trc文件

    向甲方爸爸要了alter日志后发现在SQL*Loader导入报错的时间段竟然发生了错误。然后从trc文件中找到了详细的错误信息。

ORA-03137: TTC 协议内部错误: [12333] [32] [32] [32] [] [] [] []

图片

看到ORA-03137的错误描述真的不知道说的啥,所以先查Oracle官方手册让我们对ORA-03137错误也有一个了解

图片

大概意思就是从客户端收到畸形的TTC (Two-Task Common)报文。所以这个问题我们应该联系Oracle支持服务去解决。

  锅终于可以甩给下家了。

你想什么呢?作为一名负责的员工怎么可以甩锅呢?何况甲方爸爸也不会同意啊。

有问题上MOS,问题终解决

    秉着为甲方爸爸负责的态度,千辛万苦求爷爷告奶奶。终于搞到了一个MOS账号,然后登陆了MOS上传了trc文件,然后Oracle给出了一些建议

图片

    看到Oracle的建议,直接截图给客户,告诉甲方爸爸现在我们要是直接做第4点是最简单的也是影响最小的。最后客户终于同意了,将读数的服务部署到和服务器相同网段的机器上进行了测试。终于不报错了。困扰客户好几个礼拜的问题终于解决了。

结束语

    这个问题由网络或防火墙引起的概率极大,一开始就想让客户换到相同网段进行验证。但毕竟是甲方爸爸,没有准确的找到原因让甲方爸爸配合做大调整是不太可能的。毕竟我们不是Oracle这么牛气的公司。希望有一天公司也能有这么大的影响力。

如果看完本文,您有所收获,欢迎扫码关注,您的支持是我创作的动力,我会以优质的原创文章回报大家。

图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值