. . 正在导出表 tmp_T_SHEET
导出了 0 行
. 正在导出同义词
. 正在导出视图
. 正在导出存储过程
. 正在导出运算符
. 正在导出引用完整性约束条件
. 正在导出触发器
. 正在导出索引类型
. 正在导出位图, 功能性索引和可扩展索引
. 正在导出后期表活动
. 正在导出实体化视图
. 正在导出快照日志
EXP-00008: 遇到 ORACLE 错误 1455
ORA-01455: 转换列溢出整数数据类型
EXP-00000: 导出终止失败
从网上搜了很多方法:
1.1 版本问题客户端和服务器采用的是相同的版本,所以不存在版本问题。而且之前脚本一直都运行的很好,突然就报这个错误,所以应该是和版本无关。
1.2 Direct=yITPUB里有人说是设置了direct这个参数导致:
http://www.itpub.net/forum.php?mod=viewthread&tid=1595537
我根本没用这个参数,所以也不是这个问题。
1.3 statistics参数网上例子:
http://www.cxybl.com/html/wlbc/db/Oracle/2011_0622_980.html
ORA-01455: 转换列溢出整数数据类型 ,Export 命令会将表的statistics 值转成成整形。 当这个statistics值超过2^31-1时,就会报这个错误。
最后在exp命令后加 “INDEXES=n STATISTICS=none”这两个参数,exp就可以成功导出了。
最后结果:
按照网上的说法,加上INDEXES=n STATISTICS=none参数,依然报错,显然不是统计信息的原因。
二、Insert报错现象:
INSERT INTO tmp_T_SHEET(ID, INFO_SUBJECT) VALUES (seq_mod_info.nextval,'123123');
ORA--00942表或试图不存在
检查:
检查表和索引的状态和权限都对,都是该执行用户下的对象,状态都对。
三、重命名报错
3.1 ORA-26563错误
我试着用create table tab01 as select * from tmp_T_SHEET;发现新建的tab01表操作完全正常,于是想把原来的表重新命名,然后删除tmp_T_SHEET表。可是发现该表重命名也报错:ORA-26563: 不允许重命名此表
SQL> alter table tab rename to tmp_T_SHEET;
alter table tab rename to tmp_T_SHEET
*
ERROR 位于第 1 行:
ORA-26563: 不允许重命名此表
3.2 查找原因如果在重命名表的时候出现ORA-26563: 不允许重命名此表错误,试着将表上的物化视图日志drop就可以了。
四、删除表上的物化视图日志SQL> DROP MATERIALIZED VIEW log ON tmp_T_SHEET;
删除表上的物化视图日志后,对表再进行insert操作,一切正常;然后,在运行exp脚本导出数据,也不再报ORA-01455错误。
五、总结最后询问,有位同事说他在学建物化视图时用过这表,不过创建完之后他把物化视图已经删了---可是物化视图日志没有清理。
因为是测试库,所以问题一直拖了好几天。正式库的权限我一般都会收回来,增删改查都由一个人统一管理。测试库就开放了权限,导致所有的人可以做任何操作。很多人对数据库管理工作感觉很难,很深奥,其实很多工作都是需要你从管理和技术两方面配合,即便你水平很高,管理不到位,一样会让你忙的团团转。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/751371/viewspace-732763/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/751371/viewspace-732763/