Oracle 11g 导出数据报 “ORA-01455: 转换列溢出整数数据类型”的问题
最近发现云服务器上的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: 转换列溢出整数数据类型”的问题的更多相关文章
- [转]ORACLE 11G 导出报错(EXP-00003)未找到段 (0,0) 的存储定义
http://blog.csdn.net/qq_19524879/article/details/51313205 ORACLE 11G 导出报错(EXP-00003)未找到段 (0,0) 的存储定义 ...
- ORACLE 11g 导出数据
ORACLE 11g 导出 表的时候 不会导出空表 导出空表操作步骤 :(使用PLSQL) 1.打开SQL window 执行下面的 SQL Select 'alter table '||table_ ...
- oracle 11g导出少了空表,原因分析
oracle 11g导出少了空表 使用exp命令的时候,会出现少表的情况,是因为在11g版本中如果一个表里面是空的,为了节省空间,默认是不会给这个表分配空间的,在导出的时候也就不会将空表导出的,自然导 ...
- Oracle 11g导出空表、少表的解决办法
ORACLE 11G中有个新特性,当表无数据时,不分配segment,以节省空间. 解决方法: 1)insert一行,再rollback就产生segment了 该方法是在在空表中插入数据,再删除,则产 ...
- oracle 11G 导出空表失败的解决方法
一.问题原因: 11G中有个新特性,当表无数据时,不分配segment,以节省空间 1.insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除 ...
- 解决oracle 11g 导出空表的方法
ORACLE 11G中有个新特性,当表无数据时,不分配segment,以节省空间. 解决方法: 1)insert一行,再rollback就产生segment了 该方法是在在空表中插入数据,再删除,则产 ...
- Oracle 11g Pivot函数实现行转列
先上语法规范: SELECT .... FROM <table-expr> PIVOT ( aggregate-function(<column>) FOR <pivot ...
- 关于oracle 11g导出数据时 报 ORA 1455错误的处理
因为导出的该用户的表可能存在空数据表,那么可能就会出现此其异常. 首先: 查看: SQL>show parameter deferred_segment_creation; 假设为T ...
- [oracle 11g 新特性] virtual column虚拟列
总结:虚拟列可以使用于一些特殊场合,实质是类似于函数列(即以 表中已有的列 经过函数运算得来),“虚拟列不存储在数据库中,是在执行查询时由oracle后台计算出来返回给用户”,因此虚拟列不会增加存储空 ...
随机推荐
- MS16-032 漏洞复现
exploit-db的详情: https://www.exploit-db.com/exploits/39574/ Windows: Secondary Logon Standard Handles ...
- C#学习入门第一篇
1. using System; using System.Collections.Generic; using System.Ling; using System.Text; using Syste ...
- Mysql 修改字段长度、修改列名、新增列、修改自增主键起始值
alter table 表名 modify column 字段名 类型; 例如 数据库中user表 name字段是varchar(30) 可以用 ) ; --修改字段长度 )--修改表列名 ); -- ...
- wordpress练习
---恢复内容开始--- wp_options数据表储存网站的一些基本信息 bloginfo() //输出 bloginfo('stylesheet_url') //输出style.cs ...
- JavaScript循环和数组常用操作
while循环 语法: do while循环 语法:do{循环体}while(条件表达式); 特点:do while循环不管条件是否成立,无论如何循环体都会执行一次. 使用场合:用户输入密码,如果密码 ...
- Windows10上安装Keras 和 TensorFlow-GPU
安装环境: Windows 10 64bit GPU: GeForce gt 720 Python: 3.5.3 CUDA: 8 首先下载Anaconda3的Win10 64bit版,安装Python ...
- D Tree Requests dfs+二分 D Pig and Palindromes -dp
D time limit per test 2 seconds memory limit per test 256 megabytes input standard input output stan ...
- 【Redis学习之十一】Java客户端实现redis集群操作
客户端:jedis-2.7.2.jar 配置文件两种方式: properties: redis.cluster.nodes1=192.168.1.117 redis.cluster.port1=700 ...
- xml 的 <![CDATA["URL"]]>
<![CDATA["URL"]]>:用于 xml 处理特殊字符,比如:& <PolicyURL><![CDATA[ http://ectp.t ...
- python 读写json数据
json 模块提供了一种很简单的方式来编码和解码JSON 数据. 字符串操作 其中两个主要的函数是json.dumps() 和json.loads() ,要比其他序列化函数库如pickle 的接口少得 ...