我们正在测试中针对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
对于一些想法(我很快就用谷歌搜索了)