ORA-00942故障排除

时间:2009-10-22 19:36:14

标签: sql oracle oracle11g ora-00942

昨晚在自动测试运行过程中,我的二十个工作线程中的一个被吹走了;该应用程序正在尝试INSERT。 Springframework报告ORA-00942:表或视图不存在。

通过企业管理器连接到数据库(11.1.0.6.0),我拉出一个SQL工作表并查询该表,发现(a)该表现在存在(b)应该插入的行是缺少(c)此线程先前插入的行存在(d)该表在时间错误之前和之后有行。

对于oracle经验不足的用户,如何验证错误源自此数据库服务器,从那里如何将错误返回到根本原因?

2 个答案:

答案 0 :(得分:1)

我会尽可能接近数据库,以确认在数据库本身中执行,提交,回滚等SQL。我设置了TKPROF(查看文档,或访问Tom Kyte's site以获取更多信息)并查看从您的应用程序实际执行的内容。这至少可以帮助你看看你期望执行的内容是否真的“到达”了。

如果表对调用程序“不可见”,即如果权限不足,则会发生ORA-00942。

答案 1 :(得分:1)

正如Dave K所说,桌子可能已存在,但对你的过程变得“隐形”。

由于“昨晚”这个短语,我的想法导致可能有一个夜间过程,如备份或清理过程,导致该表脱机。