当前位置: 首页 > 面试题库 >

ORA-00942:表格或视图不存在:如何查找正在谈论的表格或视图

澹台权
2023-03-14
问题内容

我们正在测试中针对ORACLE 10g运行一个Java /hibernate应用程序。有时,我们会看到此错误:

ORA-00942:表或视图不存在

有没有办法找出ORACLE在谈论哪个表/视图?

我知道我可以在hibernate中添加更多级别的日志记录,这将显示它在ORACLE上执行的所有SQL,然后运行该SQL以确定哪个TABLE /
VIEW缺少或缺少权限。但是考虑到它是在“测试/定标”中,会降低性能。

有没有一种简单的方法来缩小表/视图名称?

更新:

请注意,我无法控制Oracle DB Server环境。
我启用了Hibernate跟踪/记录功能,并找到了一个有效的SQL。我什至放了Wireshark(这是一个TCP数据包过滤器)来查看hibernate实际上发送的内容,这是有效的SQL。因此,为什么Oracle会偶尔而不是总是抱怨它。


问题答案:

查看针对Oracle启用审核时的DBA_AUDIT_EXISTS表。我相信Oracle可以提供非常详细的审计,您可以在需要时通过DB命令简单地打开和关闭,尽管我不记得它们是我的头等大事。

请参阅:http
:
//docs.oracle.com/cd/B19306_01/network.102/b14266/cfgaudit.htm

对于一些想法(我很快就用谷歌搜索了)



 类似资料:
  • 问题内容: 尝试向现有表中插入一批行时,出现以下异常 ORA-00942:表或视图不存在 我可以确认该表存在于db中,并且可以使用oracle sql developer将数据插入该表中。但是,当我尝试在Java中使用preparestatement插入行时,其抛出表不存在错误。 请在下面找到错误的堆栈跟踪 任何人都可以提出此错误的原因吗? 更新: 问题已解决 我的数据库连接属性或表或视图名称都没

  • 问题内容: 关闭。 此问题不符合堆栈溢出准则。它当前不接受答案。 想要改善这个问题吗? 更新问题,使它成为Stack Overflow的主题。 7年前关闭。 改善这个问题 我正在尝试将Oracle数据库连接到我的JAVA Web项目。当使用系统用户连接创建到数据库的连接时,将成功建立连接。 但是当我在连接中执行一个简单的select *命令时,它说 错误代码942,SQL状态42000:ORA-0

  • 我创造了一个迁移 任何我写的CMD这个错误是可见的。 [Illumb\Database\QueryException]SQLSTATE[42S02]:找不到基表或视图:1146表“prj_roocket.permissions”不存在(SQL:select*from) [PDOException]SQLSTATE[42S02]:未找到基表或视图:1146表“prj_roocket.permissi

  • 我刚刚克隆了一个Laravel项目。我试图运行作曲家安装和PHP artisan迁移,但都返回此错误 在Connection.php行664中: SQLSTATE[42S02]:基表或视图未找到: 1146表'name.system_functions'不存在(SQL:选择*from其中=测试限制1) 在Connection.php第326行中: SQLSTATE[42S02]:找不到基表或视图: