最近发现云服务器上的Oracle 11g在导出时报错,如下:

...

. 正在导出后期表活动
. 正在导出实体化视图
. 正在导出快照日志
EXP-00008: 遇到 ORACLE 错误 1455
ORA-01455: 转换列溢出整数数据类型
EXP-00000: 导出终止失败

从网上搜了半天,有很多种说法:
1. 版本问题,说10g的导出11g的就有这个问题,但是我的客户端和服务器采用的是相同的版本,所以不存在版本问题。有的还说是32位和64位的问题,我的Oracle是32位,客户端也是32位,同一台设备上,所以应该是和版本无关。
2. Exp加参数,很多人提出加各种参数,包括:

Direct=y
INDEXES=n STATISTICS=none

不管是单独还是联合使用,都无效还是报错。

3、数据问题,我干脆不导出数据,只导出数据库结构,仍然报错,看来与数据无关。

静下来考虑了半天,看到是快照日志出错,但是我的数据库中没有建立快照啊?后来反应过来了,虽然没有快照,但是建立有物化视图(MATERIALIZED VIEW),会不会是物化视图的问题?

删除物化视图后导出,一切正常,说明还是物化视图导出导致的错误,真是个大坑啊,这些导出文件在重新导入时都要报错,备份工作算是白做了。幸好发现得早!

2015.3.18

今天某用户的数据导出又开始报上述错误了,检查了一下,发现某个物化视图采用了提交更新模式:

CREATE MATERIALIZED VIEW V_INBED_BILL_CHECK_TOTAL

REFRESH COMPLETE ON COMMIT

AS ...

由于必须开启日志:

--建立物化视图日志,将涉及的字段序列化
CREATE MATERIALIZED VIEW LOG ON T_CHECK_BILL WITH ROWID,
SEQUENCE(ORG_ID,BATCH_ID,SI_TYPE_ID,HOSP_ID,CHECK_RULE_ID,INBED_BILL_ID,PRES_BILL_ID,PSN_ID,CHECK_ITEM_AMT,CHECK_ITEM_CNT,CHECK_DEDUC_AMT)
INCLUDING NEW VALUES;

今天重新建立物化视图,全部采用手工更新模式,所以重建物化视图为:

CREATE MATERIALIZED VIEW V_INBED_BILL_CHECK_TOTAL

REFRESH ON DEMAND
AS ...

在导出数据时,删除物化视图后导出仍然报错,发现没有执行原来的删除命令:

DROP MATERIALIZED VIEW LOG ON T_CHECK_BILL;

执行该命令后,报错消失。

所以正确的理解应该是:

建立物化视图过程中,如果开启了物化视图日志,导出时将会报”ORA-01455”的错误,导致导出失败。删除物化视图日志可以解决该问题。

Oracle 11g 导出数据报 “ORA-01455: 转换列溢出整数数据类型”的问题的更多相关文章

  1. [转]ORACLE 11G 导出报错(EXP-00003)未找到段 (0,0) 的存储定义

    http://blog.csdn.net/qq_19524879/article/details/51313205 ORACLE 11G 导出报错(EXP-00003)未找到段 (0,0) 的存储定义 ...

  2. ORACLE 11g 导出数据

    ORACLE 11g 导出 表的时候 不会导出空表 导出空表操作步骤 :(使用PLSQL) 1.打开SQL window 执行下面的 SQL Select 'alter table '||table_ ...

  3. oracle 11g导出少了空表,原因分析

    oracle 11g导出少了空表 使用exp命令的时候,会出现少表的情况,是因为在11g版本中如果一个表里面是空的,为了节省空间,默认是不会给这个表分配空间的,在导出的时候也就不会将空表导出的,自然导 ...

  4. Oracle 11g导出空表、少表的解决办法

    ORACLE 11G中有个新特性,当表无数据时,不分配segment,以节省空间. 解决方法: 1)insert一行,再rollback就产生segment了 该方法是在在空表中插入数据,再删除,则产 ...

  5. oracle 11G 导出空表失败的解决方法

    一.问题原因:     11G中有个新特性,当表无数据时,不分配segment,以节省空间     1.insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除 ...

  6. 解决oracle 11g 导出空表的方法

    ORACLE 11G中有个新特性,当表无数据时,不分配segment,以节省空间. 解决方法: 1)insert一行,再rollback就产生segment了 该方法是在在空表中插入数据,再删除,则产 ...

  7. Oracle 11g Pivot函数实现行转列

    先上语法规范: SELECT .... FROM <table-expr> PIVOT ( aggregate-function(<column>) FOR <pivot ...

  8. 关于oracle 11g导出数据时 报 ORA 1455错误的处理

    因为导出的该用户的表可能存在空数据表,那么可能就会出现此其异常. 首先:  查看:     SQL>show parameter deferred_segment_creation;  假设为T ...

  9. [oracle 11g 新特性] virtual column虚拟列

    总结:虚拟列可以使用于一些特殊场合,实质是类似于函数列(即以 表中已有的列 经过函数运算得来),“虚拟列不存储在数据库中,是在执行查询时由oracle后台计算出来返回给用户”,因此虚拟列不会增加存储空 ...

随机推荐

  1. nodejs中&#x5B89;&#x5353;&#x7AEF;的编码如何转换为中文

    借助一些模块来转换,比如,html-entities Github var Entities = require('html-entities').XmlEntities; entities = ne ...

  2. vue框架(三)_vue引入jquery、bootstrap

    一.vue安装jquery 1.按照之前博客的内容,新建一个vue工程. 2.在项目文件夹下,使用命令npm install jquery --save-dev 引入jquery. 3.在build/ ...

  3. Unity shader学习之反射

    shader如下: Shader "Custom/Reflection" { Properties { _Cubemap("Cubemap", Cube) = ...

  4. SpringBoot的json序列化及时间序列化处理

    使用场景:前台的多种时间格式存入后台,后台返回同时的时间格式到前台. 1 在config目录下配置jscksonConfig.java package com.test.domi.config; im ...

  5. css解决无论页面长短footer永远置底

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. ASCII 码

    http://baike.baidu.com/link?url=Y4crTsVq678Z8fr92DAGIrqVHoexVXsMc-WKBMVUKGDq4KbEOuhWbUQXuQEtnlom4yln ...

  7. jQuery事件--change([[data],fn])、on(events,[selector],[data],fn)和hover([over,]out)

    change([[data],fn]) 概述 当元素的值发生改变时,会发生 change 事件. 该事件仅适用于文本域(text field),以及 textarea 和 select 元素.当用于 ...

  8. NSOperation、NSOperationQueue(III)

    NSOperation.NSOperationQueue 常用属性和方法归纳 NSOperation 常用属性和方法 a. 取消操作方法 //可取消操作,实质是标记 isCancelled 状态. - ...

  9. 【Hive学习之八】Hive 调优【重要】

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 hadoop-3.1.1 apache-hive-3.1.1 ...

  10. 用python进行wifi密码生成

    随着无线网络的不断发展,几乎所有场合都会覆盖WIFI信号,无论是公共地点还是家庭之中.众所周知,目前WIFI普遍的认证方式为wpa2,这种认证方式安全性相当不错,但由于人们设置密码时的随意性和固有思维 ...