oracle exp ora 01406,8i&9i exp 10g遭遇 ora-1406及ora-1406相关问题

本文提到的案例

通过odbc驱动使用高精度number类型,如果遇到下面两种情况,会出现这个错误

-to fetch of a calculated column with many decimal digits

or

-to fetch of a huge numeric column

returns

SQLState: S1000

Native Error code: 1406

Driver Message:

[Oracle][ODBC][Ora]ORA-1406: fetched column value

was truncated

这是遇到了bug 4546618,需要升级odbc驱动到11.1或者10.2.0.3

从远程数据库向本地的blob变量提取超过2mb的大对象时。这是oracle对大对象的限制,不能超过32k-1.如果超过了就会报这个错误。所以所有平台和版本的oracle数据库都有这个问题,这不是一个bug。

如果远程的大对象确实超过32k-1,可以在本地建立物化视图绕过这个限制,具体参阅文档459557.1。

在oracle816以前,也有一个和第三条类似的问题,但是针对的是varchar2(4000)这样的数据类型,这是一个bug

893259,具体参阅文档96138.1

三种可能,如果远程数据库有列的定义为varchar2(4000)类型,那么

create table as select …. from tab@remotedb会触发这个问题

从remotetab创建snapshot也会触发这个问题

如果remotetab里所有数据的长度都不到2000,那么ctas和create

snapshot会成功,但是本地新建的snapshot和表的该列的数据类型会被改变为varchar2(2000),这会导致后续插入大于2000的数据时出现ora-1406错误。

序列的值超过integer允许的最大值,这是一个bug,解决方法是重建或者修改序列的maxvalue,使其不超过2147483647。

10g降级到9i,如果启用了审计(audit),也会遇到这个问题,具体解决办法参见文档438310.1。

Bug

6804150,9i客户端exp11g时,因为11g新增权限名称ADMINISTER SQL

MANAGEMENT OBJECT超过9i的30个字符限制,会导致这个错误

解决方法是打补丁6804150或者升级客户端到10.2.0.5或者修改数据库字符集到AL32UTF8。详情参见文档553993.1。

Bug 3404500 ORA-604/ORA-1406 with

QUERY_REWRITE_ENABLE=TRUE,9204、9205、10.1.0.2受影响。修改该参数为false

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值