ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 【听海日志】之ORA-01455故障排查

【听海日志】之ORA-01455故障排查

原创 Linux操作系统 作者:听海★蓝心梦 时间:2012-06-14 09:33:53 3 删除 编辑
一、Exp导出日志报错

. . 正在导出表             tmp_T_SHEET

导出了                                                             0

. 正在导出同义词

. 正在导出视图

. 正在导出存储过程

. 正在导出运算符

. 正在导出引用完整性约束条件

. 正在导出触发器

. 正在导出索引类型

. 正在导出位图, 功能性索引和可扩展索引

. 正在导出后期表活动

. 正在导出实体化视图

. 正在导出快照日志

EXP-00008: 遇到 ORACLE 错误 1455

ORA-01455: 转换列溢出整数数据类型

EXP-00000: 导出终止失败

从网上搜了很多方法:

1.1 版本问题

客户端和服务器采用的是相同的版本,所以不存在版本问题。而且之前脚本一直都运行的很好,突然就报这个错误,所以应该是和版本无关。

1.2 Direct=y

ITPUB里有人说是设置了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/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-02-18

  • 博文量
    256
  • 访问量
    1187584